計算數(shù)值方法實驗報告_第1頁
計算數(shù)值方法實驗報告_第2頁
計算數(shù)值方法實驗報告_第3頁
計算數(shù)值方法實驗報告_第4頁
計算數(shù)值方法實驗報告_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、課程名稱: 計算機(jī)數(shù)值方法 實驗項目:方程求根,線性方程組的直接解法與迭代 解法,代數(shù)插值,最小二乘法擬合多項式實驗地點(diǎn): 逸夫樓402 專業(yè)班級: 學(xué)號: 學(xué)生姓名: 指導(dǎo)教師: 于亞男 2012年4月26日太原理工大學(xué)學(xué)生實驗報告學(xué)院名稱軟件學(xué)院專業(yè)班級學(xué)號學(xué)生姓名 實驗日期4月26日成績課程名稱計算機(jī)數(shù)值方法實驗題目 方程求根1、 實驗?zāi)康暮鸵螅?)了解非線性方程求根的常見方法,如二分法、牛頓法、割線法。(2)加深對方程求根方法的認(rèn)識,掌握算法。二、實驗內(nèi)容和原理熟悉使用二分法、迭代法、牛頓法、割線法等方法對給定的方程進(jìn)行根的求解。選擇上述方法中的兩種方法求方程:f(x)=x3+4x2

2、-10=0在1,2內(nèi)的一個實根,且要求滿足精度|x*-xn|0.510-53、 主要儀器設(shè)備 HP筆記本,VC+6.04、 操作方法與實驗步驟 1.二分法:#include #include double f(double x) double y; y=pow(x,3)+4*pow(x,2)-10; return (y);main() double a,b,yl,yr,ym,x1,xr,xm;a=1;b=2; yl=f(a); yr=f(b); while(yl*yr0) yl=f(a); yr=f(b); xr=a; x1=b; while(fabs(xr-x1)0.000001) xm=(

3、x1+xr)/2; ym=f(xm); yl=f(x1); yr=f(xr); if(yl*ym0) xr=xm; else x1=xm;printf(%ft%ft%fn,x1,xr,xm); printf(n所求根為x=%fn,xm); return 0;2.牛頓法:#include #include double f(double x) return (pow(x,3)+4*pow(x,2)-10);double f1(double x) return (3*pow(x,2)+10*x);int main() double x,x1,y1,y2; printf(請輸入一個任意實數(shù):X=);

4、 scanf(%lf,&x); printf(方程的解為:n); do x1=x; y1=f(x); y2=f1(x1); x=x1-y1/y2; while (fabs(x-x1)=5e-6); printf( %lfn,x1);3.追趕法5、 實驗數(shù)據(jù)記錄和處理1. 二分法2. .牛頓法6、 實驗結(jié)果與分析 通過這個兩個程序可看出,二分法的計算量更大一些。7、 討論、心得 通過這個實驗,我了解了線性方程的一些求根方法,對于方程近似值的求解有了更多的理解。實驗地點(diǎn) 指導(dǎo)教師于亞男太原理工大學(xué)學(xué)生實驗報告學(xué)院名稱專業(yè)班級學(xué)號學(xué)生姓名 實驗日期4月26日成績課程名稱計算機(jī)數(shù)值方法實驗題目 求解線

5、性方程組一、實驗?zāi)康暮鸵?1) 了解直接法解線性方程組(2) 對Gauss消元法、LU分解法、追趕法有更深刻的理解二、實驗內(nèi)容和原理合理利用Gauss消元法、LU分解法、追趕法求解下列方程組: (n=5,10,100,)三主要儀器設(shè)備 HP筆記本,VC+6.0四操作方法與實驗步驟 1.高斯:#include void main() int i,j,f,n; float a55,b5,x5,l,k; printf(Input n:); scanf(%d,&n); printf(Input a:); for(i=0;in;i+) for(f=0;fn;f+) scanf(%f,&aif); pr

6、intf(Input b:); for(i=0;in;i+) scanf(%f,&bi); for(i=0;in-1;i+) for(j=i+1;jn;j+) l=-aji/aii; bj=bj+bi*l; for(f=i;f=0;i-) xi=bi; k=0; for(f=i+1;fn;f+) k=k-aif*xf; xi=(k+bi)/aii; printf(The answer is ); for(i=0;in;i+) printf(%.4f ,xi);2.LU分解:#include #include #define L 30 double aLL,bL,lLL,uLL,xL,yL; i

7、nt main() int n,i,j,k,r; printf(n=n); scanf(%d,&n); printf(ann=n); for(i=1;i=n;+i) for(j=1;j=n;+j) scanf(%lf,&aij); printf(bn=n); for(i=1;i=n;+i) scanf(%lf,&bi); for(i=1;i=n;+i) for(j=1;j=n;+j) lij=0; uij=0.0; for(k=1;k=n;+k) for(j=k;j=n;+j) ukj=akj; for(r=1;rk;+r) ukj-=lkr*urj; for(i=k+1;i=n;+i) li

8、k=aik; for(r=1;rk;+r) lik-=lir*urk; lik/= ukk; lkk=1.0; for(i=1;i=n;+i) yi = bi; for(j=1;j0;-i) xi = yi; for(j=i+1;j=n;+j) xi-=uij*xj; xi/= uii; for(i=1;i=n;+i) printf(%0.2lfn,xi); return 0; 五實驗數(shù)據(jù)記錄和處理1.高斯2.LU分解六、實驗結(jié)果與分析 本次實驗數(shù)據(jù)較多,在輸入上要多費(fèi)點(diǎn)功夫,一不小心就全部都錯了。在今后編程過程中,一定要小心謹(jǐn)慎。七、討論、心得 通過本次實驗,我深刻理解了直接法在計算機(jī)上解線

9、性方程組的有效性,對于Gauss消元法、LU分解法也有了深刻的理解。實驗地點(diǎn) 逸夫樓402指導(dǎo)教師于亞男太原理工大學(xué)學(xué)生實驗報告學(xué)院名稱軟件學(xué)院專業(yè)班級學(xué)號學(xué)生姓名 實驗日期4月26日成績課程名稱計算機(jī)數(shù)值方法實驗題目 線性方程組的迭代解法1、 實驗?zāi)康暮鸵笳莆昭趴杀鹊ê透咚?賽德爾迭代法對方程組進(jìn)行求解二、實驗內(nèi)容和原理使用雅可比迭代法或高斯-賽德爾迭代法對下列方程組進(jìn)行求解。三、主要儀器設(shè)備 HP筆記本,VC+6.0四、操作方法與實驗步驟 雅可比迭代法:#include #include int main() double a33=10,-1,-2,-1,10,-2,-1,-1,5,

10、b3=7.2,8.3,4.2;/定義方程組 float x3=0,0,0,sum; int i,j,k,n=3; printf(tt X1tt X2tt X3n); for(k=0;k8;k+) for(i=0;i3;i+) sum=0; for(j=0;jn;j+) if(i=j)continue; sum=sum+aij*xj; xi=(bi-sum)/aii; printf(第%d次迭代:t,k+1); for(i=0;in;i+) printf(%ft,xi); printf(n); 五、實驗數(shù)據(jù)記錄和處理六、實驗結(jié)果與分析 在本次實驗中,編程不太容易,對c/c+的學(xué)習(xí)應(yīng)該更進(jìn)一步。七

11、、討論、心得 通過這次實驗,我明白了雅克比迭代的一般性解法,對于編程的應(yīng)用也有了更深刻的理解。實驗地點(diǎn) 逸夫樓402指導(dǎo)教師于亞男太原理工大學(xué)學(xué)生實驗報告學(xué)院名稱軟件學(xué)院專業(yè)班級學(xué)號學(xué)生姓名 實驗日期4月26日成績課程名稱計算機(jī)數(shù)值方法實驗題目 代數(shù)插值1、 實驗?zāi)康暮鸵?掌握拉格朗日插值法和牛頓插值法求近似解二、實驗內(nèi)容和原理使用拉格朗日插值法或牛頓插值法求解:已知f(x)在6個點(diǎn)的函數(shù)值如下表所示,運(yùn)用插值方法,求f(0.596)的近似值。X0.400.550.650.800.901.05f(x)0.410750.578150.696750.888111.026521.25386三、主要

12、儀器設(shè)備 HP筆記本,VC+6.0四、操作方法與實驗步驟#include stdafx.h#include #include #include #include void difference(float *x,float *y,int n) float *f; int k,i; f=(float *) malloc (n*sizeof(float); for(k=1;k=n;k+) f0=yk; for(i=0;ik;i+)fi+1=(fi-yi)/(xk-xi); yk=fk; return; int main() int i,n; float x10,y10,xx,yy; printf(

13、輸?入?結(jié)點(diǎn)?個?數(shù)簓n:阰); scanf(%d,&n);printf(n); for(i=0;i=0;i-)yy=yy*(xx-xi)+yi; printf(n近似?值為a:阰F(%f)=%fn,xx,yy); 五、實驗數(shù)據(jù)記錄和處理六、實驗結(jié)果與分析 拉格朗日插值的優(yōu)點(diǎn)是插值多項式特別容易建立,缺點(diǎn)是增加節(jié)點(diǎn)是原有多項式不能利用,必須重新建立,即所有基函數(shù)都要重新計算,這就造成計算量的浪費(fèi)。所以要用到牛頓插值多項式,兩種方法相結(jié)合才能更好的解決多項式的問題。實驗地點(diǎn) 逸夫樓402指導(dǎo)教師于亞男太原理工大學(xué)學(xué)生實驗報告學(xué)院名稱軟件學(xué)院專業(yè)班級學(xué)號學(xué)生姓名實驗日期4月26日成績課程名稱計算機(jī)

14、數(shù)值方法實驗題目 最小二乘法擬合多項式一、實驗?zāi)康暮鸵笳莆沼米钚《朔〝M合數(shù)據(jù)的多項式,并求平方誤差二、實驗內(nèi)容和原理給定數(shù)據(jù)點(diǎn)(xi ,yi),用最小二乘法擬合數(shù)據(jù)的多項式,并求平方誤差。xi00.50.60.70.80.91.0yi11.751.962.192.442.713.00三、主要儀器設(shè)備 HP筆記本,VC+6.0四、操作方法與實驗步驟#include#include#define N 15double power(double &a,int n)double b=1;for(int i=0;in;i+)b*=a;return b;void Gauss();double XN,Y

15、N,sumXN,sumYN,aNN,bN,lNN,xN;void main()ofstream outdata;ifstream indata;double s;int i,j,k,n,index;coutn;coutendl;cout請輸入X和Y:endl; /輸入給定數(shù)據(jù)for(i=0;in;i+)coutXiXi;sumX1+=Xi;coutYiYi;sumY1+=Yi;coutendl;coutsumX1=sumX1tsumY1=sumY1endl;coutindex;coutendl;i=n;sumX0=i;for(i=2;i=2*index;i+)sumXi=0;for(j=0;j

16、n;j+)sumXi+=power(Xj,i);coutsumXi=sumXiendl;for(i=2;i=index+1;i+)sumYi=0;for(j=0;jn;j+)sumYi+=power(Xj,i-1)*Yj;coutsumYi=sumYiendl;for(i=1;i=index+1;i+) /建立正規(guī)方程組for(j=1;j=index+1;j+)aij=sumXi+j-2;bi=sumYi; k=1; /用高斯消元法解方程組dofor(j=k+1;j=index+1;j+) ljk=ajk/akk;for(i=k+1;i=index+1;i+)for(j=k+1;j=1;i-)s=0;for

溫馨提示

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

評論

0/150

提交評論