雅克比和高斯賽德爾迭代求方程組的解

2021-09-23 13:25:06 字數 835 閱讀 8723

實驗原理:

雅克比和高斯的不同之處是,k=1下面那個框框,高斯是a[i][j]*y[j],雅克比是a[i][j]*x[j],就是因為高斯用的是更新之後的x,雅克比沒有用更新之後的x。

在**編寫過程中,我沒有用到動態陣列,感覺輸入係數矩陣啥的用動態陣列更好些。但是,我寫了轉化對角佔優的部分,這部分也是非常重要的。

**如下:

/**

運用雅克比和高斯賽德爾公式求解方程組

a 比較兩種方法的收斂速度

b 驗證收斂條件的正確性

**/#include#include#define n 3//4*4方程組

double a[n][n];

double c[n][n];

double b[n];

double d[n];

using namespace std;

/**調整係數矩陣為對角佔優,並得到對角佔優陣c

**/void bettera( double a[n][n],double c[n][n],double b[n])

sum=sum+b[i][j];//這一行的元素之和

}sum=sum-max_ele;

if(max_ele<=sum)//這一行最大元素仍然小於所在行的其他元素的絕對值之和

jakbi(c,d,x,y,eps,n);

for(i=0;i

gauss(c,d,x,y,eps,n);

return 0;

}

雅克比迭代法與高斯塞德爾迭代法求解方程組(C語言)

分別用雅可比 迭代法與高斯塞德爾迭代法解下列方程組 雅可比迭代法 include include define eps 1e 6 define max 100 雅可比迭代法 void jacobi float a,int n,float x y i a i n 1 n s a i n 1 i eps...

雅克比迭代法求方程組的解(Python實現)

求方程組 5 x1 2 x2 x 3 12 x1 4x2 2x3 202x1 3x 2 10x 3 2 5x 1 2x 2 x3 12 x1 4 x2 2 x3 20 2x1 3x2 10x3 2 上面方程當然是非常容易求解的,但是方程規模變大的時候 比如係數矩陣是100w 100w的時候,這時候,...

高斯消元法求方程組的解

高斯消元法 也叫行化簡法 簡單地來說就是構造方程組的增廣矩陣,將增廣矩陣化為階梯型,將每一行主元位置化為1,主元下面元素都為0。最後從下往上依次代入求解。至於主元的選擇,最簡單的就是從第一行開始依次選取主對角線上的元素,但是這樣做的有一點需要注意就是如果主元非常小,就可能除了之後產生非常大的數字,可...