高斯消元的板子

2022-09-23 21:12:15 字數 1088 閱讀 3754

//

高斯消元

//概念什麼的都理解,具體實現?

//先打板子

#include #include

#include

#include

#include

using

namespace

std;

const

int mx=200

;const

double eps=1e-7;//

處理double的精度

intn;

double

g[mx][mx];

double

ans[mx];

void

gausswork1()}//

這個地方理解,我們要消掉第一列,就找到第一列裡係數最大的那一行

//要消掉第二列,就從第二行開始到第二列係數最大的那一行

//不從第一行找是因為第一行是上次找的那個,已經被我們移上去了,不需再修改

//最終構成乙個上三角矩陣

//係數絕對值最大的方程轉移到被減的這一行,這樣就可以減小誤差,說是減小誤差,其實好像

//也沒有什麼別的意義的

if(fabs(g[r][i])if(i!=r)swap(g[i],g[r]);//

這個操作記住,這裡應該是預設對換行

double div=g[i][i];

//將正在處理的方程式化簡,讓正被處理的係數化1

for(int j=i;j<=n+1;++j)

//使用加減法,將下面的所有行的當前i列(也是處理行的行),的值都化為0

for(int j=i+1;j<=n;++j)}}

//下面就是回帶

ans[n]=g[n][n+1];//

消到最後這個值就是xn的答案了,因為它這一行就剩它了

for(int i=n-1;i>=1;i--)

}for(int i=1;i<=n;++i)

//這個時間複雜度是n的三次方

}void

solve()

}gausswork1();

}int

main()

高斯消元 浮點高斯消元

浮點數高斯消元 問題描述 給出乙個線性方程組,有n個方程組,m個未知數。解這個線性方程組。輸入格式 第1行 2個整數n和m,n,m 400,且n不一定等於m 接下來n行,每行m 1個整數,表示乙個方程的m個未知數的係數和常數 輸出格式 如果無解,輸出 no solution 如果有唯一解,輸出m行,...

矩陣消元 高斯消元

安利一波高斯消元的部落格,內容很詳細。看完這個相信你已經理解了大概,高斯消元求線性方程組,在學習線性代數 大學課程 的時候我們都接觸過。原理是先把執行緒組轉換成矩陣,然後把它等價變換成上三角矩陣,這樣從下到上依次可以求出解集。高斯消元模板 模板題 include define n 205 using...

矩陣乘 高斯消元專題小結 高斯消元

i p其它題太水了就不寫了,這裡說一下o和p。我太懶不想寫 op這兩個題是高斯消元求期望的題。對於p題,求從 點到 點的步數期望,先從 點bfs一遍找到所有可以到達的點,對於可達點每個點是乙個變數。因為終點有任意多而起點只有乙個,這裡可以反過來求從任意乙個終點走到起點的期望。於是對於每乙個終點的期望...