計算機數值方法實驗報告-雅可比迭代法解線性方程_第1頁
計算機數值方法實驗報告-雅可比迭代法解線性方程_第2頁
計算機數值方法實驗報告-雅可比迭代法解線性方程_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學生實驗報告學院名稱計算機科學與技術專業班級物聯網1101班學號學生姓名實驗日期4月15日成績課程名稱計算機數值方法實驗題目雅可比迭代法解線性方程一、實驗目的和要求(必填)(1)培養理論聯系實際的思路,訓練綜合運用已經學過的理論和實際知識去分析和解決實際問題的能力。(2)幫助學生全面消化已學的相關課程內容,深刻理解計算數值方法課程的內涵,培養使用電子計算機進行科學計算和解決問題的能力。(3)進行基本技能訓練和鞏固。使學生得到選擇算法、編寫程序、分析數值結果、寫數值試驗報告、課堂討論等環節的綜合訓練。二、實驗內容和原理(必填)使用雅可比迭代法或高斯-賽德爾迭代法對下列方程組進行求解。三、主要儀器設備(必填)PC機VisualC++6.0四、操作方法與實驗步驟(可選)#include<stdio.h>#include<math.h>#include<stdlib.h>#include<malloc.h>Jacobidiedai(intn,double*a,double*b,double*x){inti,j;double*x0,m=0,eps;x0=(double*)malloc(n*sizeof(double));for(i=0;i<n;i++)x0[i]=x[i];while(1){for(i=0;i<n;i++){for(j=0;j<n;j++)m+=a[i*n+j]*x0[j];m-=a[i*n+i]*x0[i];x[i]=(b[i]-m)/a[i*n+i];m=0;}for(i=1;i<n;i++){eps=fabs(x[0]-x0[0]);if(eps<fabs(x[i]-x0[i]))eps=fabs(x[i]-x0[i]);}if(eps<1e-3)return1;for(i=0;i<n;i++)x0[i]=x[i];}free(x0);}voidmain(){inti,j,n;double*a;double*b;double*x;printf("pleaseentern\n");scanf("%d",&n);a=(double*)malloc(sizeof(double)*n*n);b=(double*)malloc(sizeof(double)*n);x=(double*)malloc(sizeof(double)*n);printf("pleaseentera[j][i]\n");for(i=0;i<n*n;i++)scanf("%lf",&a[i]);printf("pleaseenterb[j]\n");for(j=0;j<n;j++)scanf("%lf",&b[j]);(void)Jacobidiedai(n,a,b,x);for(i=0;i<n;i++)printf("x[%d]=%f\n",i,x[i]);}五、實驗數據記錄和處理(可選)六、實驗結果與分析(必填)在雅可比迭代中,迭代的每一步計算過程中是用x(k)的全部分量來計算x(k+1)的所有分量,顯然在計算第i個分量xi(k+1)時,已經計算出來的最新分量x1(k+1),…,xi-1(k+1)沒有被利用,這也在此次實驗中體現出來,迭代的次數多,所以算出結果的速度也較慢。七、討論

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論