jacobi迭代法求解線性方程組

jacobi迭代法求解線性方程組

ID:40556849

大?。?3.47 KB

頁數(shù):3頁

時間:2019-08-04

jacobi迭代法求解線性方程組_第1頁
jacobi迭代法求解線性方程組_第2頁
jacobi迭代法求解線性方程組_第3頁
資源描述:

《jacobi迭代法求解線性方程組》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、//========================================================//此程序用gauss-seidel迭代法對方程組進行近似求解//========================================================#include#include#include//========================================================================//全局變量#defi

2、neN20doublea[N][N];//聲明系數(shù)矩陣doubleb[N];//聲明方程組右邊的值(數(shù)組)doubleeps;//聲明相對誤差變量doublex[3]={0,0,0};intiteration;//函數(shù)聲明voidGetData();//此函數(shù)用以進行對系數(shù)矩陣賦值voidjacobi();/*聲明jacobi()函數(shù),用以對方程的增廣矩陣進行簡單迭代*/voidshow();//顯示最后的結果//=====================================================================//以下是

3、主函數(shù)voidmain(){printf("============================================================");printf("此程序運用Jacobi迭代法求解方程組的解");printf("============================================================");GetData();jacobi();show();printf("=================================================

4、===========");}//======================================================================//一下定義GetData()函數(shù)voidGetData(){FILE*filename;//定義文件的指針inti,j;if((filename=fopen("D:\gauss_seidel.dat","r+"))==NULL){printf("文件打開失敗,退出程序!");exit(0);}for(i=0;i<3;i++)fscanf(filename,"%lf,%lf,%l

5、f,%lf",&a[i][0],&a[i][1],&a[i][2],&b[i]);printf("請輸入誤差允許量:");scanf("%lf",&eps);printf("");printf("對應的系數(shù)和方程右邊的結果是:");for(i=0;i<3;i++){for(j=0;j<3;j++){printf("%10lf",a[i][j]);}printf("%10lf",b[i]);}printf("求解方程的準許誤差是:%8lf",eps);}//=====================================

6、=============================================//以下是對gauss-seidel函數(shù)的定義voidjacobi(){inti,j,flag;doubley[3],sum,temp[3],k;do{flag=1;iteration++;for(i=0;i<3;i++){sum=0.0;for(j=0;j<3;j++){if(j!=i)sum+=a[i][j]*x[j];}y[i]=(b[i]-sum)/a[i][i];}{//此段代碼求y[i]-x[i]絕對值得最大值for(i=0;i<3;i++)temp[i]=f

7、abs(y[i]-x[i]);for(i=0;i<2;i++)for(j=1;j<3;j++)if(temp[j]>temp[i])k=temp[j];}//k為最大值if(k<=eps)flag=0;for(i=0;i<3;i++)x[i]=y[i];}while(flag==1);}//===============================================================//以下是對show()函數(shù)的定義voidshow(){inti;printf("求解的結果是:");for(i=0;i<3;i++)pri

8、ntf("x[%d]=%10lf

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。