計(jì)算方法試驗(yàn)指導(dǎo)書講解_第1頁(yè)
計(jì)算方法試驗(yàn)指導(dǎo)書講解_第2頁(yè)
計(jì)算方法試驗(yàn)指導(dǎo)書講解_第3頁(yè)
計(jì)算方法試驗(yàn)指導(dǎo)書講解_第4頁(yè)
計(jì)算方法試驗(yàn)指導(dǎo)書講解_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算方法實(shí)驗(yàn)指導(dǎo)書圖2J二分法框團(tuán)計(jì)算方法實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)1方程求根、實(shí)驗(yàn)?zāi)康?. 通過(guò)對(duì)二分法、牛頓法、割線法作編程練習(xí),進(jìn)一步體會(huì)它們各自不同的特點(diǎn);2. 了解二分法,切線法,割線法。3. 能熟練運(yùn)用二分法,牛頓法進(jìn)行方程求根4. 通過(guò)上機(jī)調(diào)試運(yùn)行,對(duì)方程求根的幾種方法程序進(jìn)行改進(jìn)。、實(shí)驗(yàn)要求1. 上機(jī)前作好充分準(zhǔn)備,包括復(fù)習(xí)編程所需要的語(yǔ)言工具。2. 上機(jī)時(shí)要遵守實(shí)驗(yàn)室的規(guī)章制度,愛(ài)護(hù)實(shí)驗(yàn)設(shè)備。3. 記錄調(diào)試過(guò)程及結(jié)果,記錄并比較與手工運(yùn)算結(jié)果的異同。4. 程序調(diào)試完后,須由實(shí)驗(yàn)輔導(dǎo)教師在機(jī)器上檢查運(yùn)行結(jié)果。5. 給出本章實(shí)驗(yàn)單元的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)環(huán)境、設(shè)備1.硬件設(shè)備:IBM PC以上

2、計(jì)算 機(jī),有硬盤和一個(gè)軟驅(qū)、單機(jī) 和網(wǎng)絡(luò)環(huán)境均可。2 .軟件環(huán)境:C語(yǔ)言運(yùn)行環(huán)境。四、實(shí)驗(yàn)原理、方法二分算法計(jì)算步驟:(1)輸入有根區(qū)間的端點(diǎn)a、b及預(yù)先給定的精度£;(2 )計(jì)算中點(diǎn) x=(a+b)/2 ;(3) 若 f(x)f(b)<0 ,則 a=x,轉(zhuǎn)向下一 步;否則b=x,轉(zhuǎn)向下一步;(4) 若b-a< £ ,則輸出方程滿足精度 要求的根x,結(jié)束;否則轉(zhuǎn)向步驟(2)。 迭代法:282開(kāi)始輸入xO, ?,Nk=k+1x0=x1Ak=1是否丁X1 =X0 -f(x。) f'(x。)輸出奇'異標(biāo)志結(jié)束輸出近似根x1圖2牛頓法框圖牛頓法:牛頓迭代

3、法是一種逐步線性化方法,即將非線性方程f(x)=O的求根問(wèn)題歸結(jié)為計(jì)算一系列線性方程的根。設(shè)xk是方程f(x)=O的一個(gè)近似根,將f(x)在xk處作一階泰勒展開(kāi),即f(x) f)+f z k(x<- X k)于是得到如下的近似方程f(x k)+f ' k(Xx- Xk)=O( 2.7)設(shè)f ' kx工0則式(2.7)的解為f (Xk) f'(Xk)取X作為原方程的新的近似根Xk+1,即令Xk 1Xkf(Xk)f '(Xk)k=0,1,2,(2.8 )則稱式(2.8)為牛頓迭代公式。用牛頓迭代公式(2.8)求方程近似根的方法稱為牛頓迭代法,簡(jiǎn)稱牛頓法,又稱切

4、線法。五、實(shí)驗(yàn)內(nèi)容1.以方程:x3-0.2x2-0.2x-1.2=0為例,編寫程序求方程的根2 編寫二分法、迭代法、牛頓法程序,分析運(yùn)行結(jié)果。3 對(duì)用這兩種方法求解出的根進(jìn)行對(duì)比分析六、實(shí)驗(yàn)步驟1 根據(jù)實(shí)驗(yàn)題目,給出題目的 C 程序。2 上機(jī)輸入和調(diào)試自己所編的程序。3 上機(jī)結(jié)束后,應(yīng)整理出實(shí)驗(yàn)報(bào)告。七、實(shí)驗(yàn)報(bào)告要求及記錄、格式按金陵科技學(xué)院實(shí)驗(yàn)報(bào)告(工科) 格式填寫附 1 :牛頓法程序核心部分:for(i=0;i<N;i+)printf("x(%d)=%fn",i,x1); x1=x0-f(x0)/f1(x0); /* 牛頓迭代 */ if(fabs(x1-x0)&

5、lt;epsilon|fabs(f(x1)<epsilon)printf("n The root of the equation is x=%fn",x1);/* 滿足精度,輸出近似根 */ return;x0=x1;實(shí)驗(yàn)2線性方程組數(shù)值解法、實(shí)驗(yàn)?zāi)康? 掌握方程組的解法,迭代法及其收斂性。2 .能熟練掌握高斯消去法,列主元高斯消去法,三角分解法。3 掌握雅可比迭代法,高斯=賽德?tīng)柕缶€性方程組的解。、實(shí)驗(yàn)要求1上機(jī)前作好充分準(zhǔn)備,比較不用的方法解決相同問(wèn)題的不同。2 上機(jī)時(shí)要遵守實(shí)驗(yàn)室的規(guī)章制度,愛(ài)護(hù)實(shí)驗(yàn)設(shè)備。3 記錄調(diào)試過(guò)程及結(jié)果,記錄并比較與手工 運(yùn)算結(jié)果的異

6、同。4 程序調(diào)試完后,須由實(shí)驗(yàn)輔導(dǎo)教師在機(jī)器 上檢查運(yùn)行結(jié)果。5 給出本章實(shí)驗(yàn)單元的實(shí)驗(yàn)報(bào)告。開(kāi)始/輸入科,山和方程階數(shù)n三、實(shí)驗(yàn)設(shè)備、環(huán)境1 .硬件設(shè)備:IBM PC以上計(jì)算機(jī),有硬盤和 一個(gè)軟驅(qū)、單機(jī)和網(wǎng)絡(luò)環(huán)境均可。2 .軟件環(huán)境:C語(yǔ)言運(yùn)行環(huán)境。四、實(shí)驗(yàn)原理、方法1、高斯消去法:1 )計(jì)算步驟(1)輸入方程組的階數(shù) n,系數(shù)矩陣A和右端常數(shù) 矩陣br打印奇標(biāo)志是結(jié)束消元過(guò)程:設(shè) akk> = 0 ,對(duì)k=1 , 2,,n-1計(jì)算=n-1?(k) mk =無(wú)k/ akkk=k+1ajf =a)_mkakjk)i,j=k+1,k+2,,k(Kbkm-0kK(n) bnXn =)ann1

7、nz. (i)Xi =(bi百(i)匚 a” xj亠十n(3)回代過(guò)程)/a(i),i = n -1,2,1(4)輸岀方程組的解bn=b n/ann高斯消去法框圖i=n-1, n-2.,11 ” bi(bi -aj bj)anj 士寺2、列主元高斯消去法(1)、輸入方程組的階數(shù)n,系數(shù)矩陣A和右端常數(shù)矩陣bJ (kJ)H (kJ)(k J) X(kj)、列主元素:對(duì)k=i ,2,,n-1,選岀Qkk , ak,,ank了中絕對(duì)值最大的元素am,r對(duì)k行和m行交換后,再作第k步消元操作。(3) 、消元過(guò)程:對(duì)k=1 , 2,n-1計(jì)算m_a(k)/a(k)mik aik / akk(2)(k)

8、m Jk)J aij aij_mik akj.(kH4). (k). (k)p =bi- mik bk(i,j=k+1,k+2,n)(4) 、回代過(guò)程Xn(n) _ bn 二盈Xi= (b(l)n-x aj %)/a)(i =1,2,1)j ± i(5)、輸岀方程組的解(1)根據(jù)方程組得到增廣矩陣(2)對(duì) j=1,2,n計(jì)算如=a“對(duì) i=2 , 3,,n計(jì)算|訂- ai1U11(3)對(duì)k=1 , 2,n3、三角分解法:kda. 對(duì) j=k,k+1,n+1 計(jì)算 u© =aq 八 LqUqjqm列主元框圖k-1b. 對(duì) i=k+1,k+2,n 計(jì)算 h =(去 一'

9、TjqUqk)/Ukkqm(4)回代計(jì)算解Xn =yn /Unn,對(duì) k=n-1,n-2,2,1 計(jì)算nXk =(yk 一 ' UkqXq)/Ukkq 十五、實(shí)驗(yàn)內(nèi)容1 求解方程組:_7(1) 240.24(2)0.0930.04- 0.08-0.08 xi-0.15 X24JLx3_j89'10J2 編寫高斯消去法、三解分解法程序,分析運(yùn)行結(jié)果。3 調(diào)試運(yùn)行列主元高斯消去法、列主元三解分解法算法程序。4 并用上述幾種算法程序計(jì)算出上面兩個(gè)方程組的解。六、實(shí)驗(yàn)步驟1. 根據(jù)實(shí)驗(yàn)題目,給出解決問(wèn)題的程序代碼。2. 上機(jī)輸入和調(diào)試自己所編的程序。3. 上機(jī)結(jié)束后,應(yīng)整理出實(shí)驗(yàn)報(bào)告。

10、七、實(shí)驗(yàn)報(bào)告要求及記錄、格式按金陵科技學(xué)院實(shí)驗(yàn)報(bào)告(工科)格式填寫 附1 :列主元高斯消去法源程序:*/*/*列主元高斯消去法求線性方程組的解/*/#i nclude <stdio.h>#in elude <math.h>#define Max_N10/*方程組最大維數(shù) */*列主元高斯消去法函數(shù)*/void ColPivot(float AMax_NMax_N,float B,int n) int i,j,k,m_i;float m_x,temp;for(i=0;i< n-1;i+) /*列主元*/j=i+1; m=i; m_x=fabs(Aii);for(;j

11、< n;j+)if(fabs(Aji>m_x)/* 找主元素 */m_i=j; m_x=fabs(Aji);if(i<m)/*交換兩行*/ temp=Bi; Bi=Bm_i; Bm_i=temp; for(j=i;j< n;j+) temp=Aij; Aij=Amj; Amj=temp; /*消元*/for(j=i+1;j<n;j+) temp=-Aji/Aii;Bj+=Bi*temp; for(k=i;k<n;k+)Ajk+=Aik*temp;main() /* 主函數(shù) */ int i,j,k,n;float aMax_NMax_N,bMax_N,xMa

12、x_N;printf("nPlease input n value(dim of Ax=b):"); /*輸入矩陣維數(shù) */do scanf("%d",&n); if(n>Max_N) printf("nplease re-input n value:"); while(n>Max_N|n<=0); /* 輸入 Ax=b 的 A 矩陣 */ printf("Input the A(i,j):n"); for(i=0;i<n;i+) for(j=0;j<n;j+) scanf(&

13、quot;%f",&aij);/*輸入 b 矩陣*/printf("Input b(i):n"); for(i=0;i<n;i+) scanf("%f",&bi);ColPivot(a,b,n); /* 調(diào)用列主元消去法函數(shù)計(jì)算方程組的解 */ xn-1=bn-1/an-1n-1;/* 解方程 */for(i=n-2;i>=0;i-) xi=bi;for(j=i+1;j<n;j+) xi-=aij*xj;xi/=aii;printf("Solve is :"); /* 輸出方程組的解 */

14、for(i=0;i<n;i+)printf("x%d=%f ",i,xi); if(i%2=0)printf("n");/*End of file*/*Please input n value(dim of Ax=b):3Input the A(i,j):2 1 11 3 21 2 2Input b(i):4 6 5Solve is:x0=1.000000 x1=1.000000 x2=1.000000 */附 2 :三角分解法源程序: /*/* 直接三角分解法 (LU 分解法 )求線性方程組的解 */ /*/#include <stdio.

15、h> #include <math.h>#define Max_N 10/* 最大維數(shù) */* 直接三角分解法函數(shù) */float *DirectLU(float aMax_NMax_N,float b,int n)int i,j,k;float yMax_N,LMax_NMax_N,UMax_NMax_N,xMax_N;/*U 矩陣對(duì)角元素賦值為 1*/ for(i=0;i<n;i+) Uii=1; for(k=0;k<n;k+) for(i=k;i<n;i+) /* 計(jì)算 L 矩陣的第 k 列元素 */ Lik=aik; for(j=0;j<=k-

16、1;j+) Lik-=(Lij*Ujk);for(j=k+1;j<n;j+) /* 計(jì)算 U 矩陣的第 k 行元素 */ Ukj=akj; for(i=0;i<=k-1;i+) Ukj-=(Lki*Uij);Ukj/=Lkk;for(i=0;i<n;i+) /* 計(jì)算 Ly=b 中的 y*/ yi=bi;for(j=0;j<=i-1;j+)yi-=(Lij*yj);yi/=Lii;for(i=n-1;i>=0;i-)/* 計(jì)算 Ux=y 中的 x*/xi=yi;for(j=i+1;j<n;j+)xi-=(Uij*xj);return(x);main() /*

17、 主函數(shù) */ int i,j,k,n;float temp;float aMax_NMax_N,bMax_N,*x;printf("nPlease input n value(dim of Ax=b):"); /*輸入矩陣維數(shù) */do scanf("%d",&n); if(n>Max_N) printf("nplease re-input n value:");while(n>Max_N|n<=0);/* 輸入 Ax=b 的 A 矩陣 */ printf("Input the A(i,j):n&

18、quot;);for(i=0;i<n;i+) for(j=0;j<n;j+)scanf("%f",&aij);/*輸入 b 矩陣*/ printf("Input b(i):n");for(i=0;i<n;i+) scanf("%f",&bi);x=DirectLU(a,b,n); /* 調(diào)用直接三角分解法函數(shù) */ printf("Solve is :");/* 輸出方程組的解 */for(i=0;i<n;i+) printf("x%d=%f",i,xi)

19、;if(i%2=0) printf("n");/* End of file */* 程序輸入輸出:Please input n value(dim of Ax=b):3Input the A(i,j):2 1 11 3 21 2 2Input b(i):4 6 5Solve is:x0=1.000000 x1=1.000000 x2=1.000000 */實(shí)驗(yàn)3插值法、實(shí)驗(yàn)?zāi)康? 掌握插值函數(shù)的概念,插值多項(xiàng)式的唯一性。2 掌握插值余項(xiàng),差分及等距插值公式,高次插值的誤差分析。3 .掌握基本插值多項(xiàng)式,拉格朗日插值多項(xiàng)式,差商,牛頓插值多項(xiàng)式。、實(shí)驗(yàn)要求1上機(jī)前作好充分準(zhǔn)備

20、,比較不用的方法解決相同問(wèn)題的不同。2 上機(jī)時(shí)要遵守實(shí)驗(yàn)室的規(guī)章制度,愛(ài)護(hù)實(shí)驗(yàn)設(shè)備。3 記錄調(diào)試過(guò)程及結(jié)果,記錄并比較與手工運(yùn)算結(jié)果的異 同。4 程序調(diào)試完后,須由實(shí)驗(yàn)輔導(dǎo)教師在機(jī)器上檢查運(yùn)行結(jié) 果。5 給出本章實(shí)驗(yàn)單元的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)備、環(huán)境1 .硬件設(shè)備:IBM PC以上計(jì)算機(jī),有硬盤和一個(gè)軟驅(qū)、單 機(jī)和網(wǎng)絡(luò)環(huán)境均可。2 .軟件環(huán)境: C語(yǔ)言運(yùn)行環(huán)境。四、實(shí)驗(yàn)原理、方法1、拉格朗日插值算法步驟:(1 )、輸入 n, x , y (i=0, 1, 2,,n),給初值 LJx) = O(2)、對(duì) i=0, 1, 2,n 計(jì)算nli(x)鬥.Ij=o j wX _ XjXi _Xj-(X)

21、二 Ln(X) li(X)Yi(3)、輸出 Ln(X)2、牛頓插值法算法步驟(1)、輸入 n, x'(要求其函數(shù)值),Xi , yi (i=0,1,2,n);(2 )、對(duì) k=1,2,3,,n ,i=1,2,,k計(jì)算各階均差拉格朗日插值框圖恢必,Xk;(3)、利用下面的牛頓插值公式計(jì)算x'的函數(shù)值Nn(X)二 f(X。)f X。,為(X -人)fX0,X1,X2(X Xj(X -怡)X1.6151.6341.7021.8281.921Y=f(x)2.414502.464592.652713.030353.34066(1 )用拉格朗日插值(二次、四次)計(jì)算 f(1.682)和f(

22、1.813) 的近似值。(2)構(gòu)造出均差表,并利用牛頓(均差)插值多項(xiàng)式計(jì)算 f(1.682)和 f(1.813)的近似值。(3 )分析并比較兩種算法得到的近似值的精度。2 編寫拉格朗日和牛頓插值算法程序,分析運(yùn)行結(jié)果。十+fX°必,,Xn(XXo)(XXi)(xXn)(4)、輸出函數(shù)值。五、實(shí)驗(yàn)內(nèi)容1 .已知函數(shù)表六、實(shí)驗(yàn)步驟1. 根據(jù)實(shí)驗(yàn)題目,給出解決問(wèn)題的程序代碼。2. 上機(jī)輸入和調(diào)試自己所編的程序。3. 上機(jī)結(jié)束后,應(yīng)整理出實(shí)驗(yàn)報(bào)告。七、實(shí)驗(yàn)報(bào)告要求及記錄、格式按金陵科技學(xué)院實(shí)驗(yàn)報(bào)告(工科)格式填寫附1 :拉格朗日插值法核心程序:for(i=0;i<N;i+)/*計(jì)算拉

23、格朗日插值函數(shù)的值*/牛頓插值法框圖 fi=yi;for(j=0;j<N;j+)if(j!=i) fi*=(XX-Xj)/(Xi-Xj); yy+=fi;附2 :牛頓插值法核心程序:for(l=1;l<=N;l+)/*計(jì)算牛頓插值函數(shù)的值*/ f0=yi;for(j=0;j<l;j+)/* 計(jì)算均差*/fj+1=(fj-yj)/(XI-Xj);yi=fi;b=yN;for(I=N-1;I>=0;I-) b=b*(xx-xI)+yI; /* 計(jì)算函數(shù)值 */實(shí)驗(yàn)4曲線擬合、實(shí)驗(yàn)?zāi)康? 掌握最小二乘原理,正規(guī)方程組,超定方程組概念。2 掌握用最小二乘法擬合曲線,超定方程級(jí)的

24、最小二乘解。3 掌握用最小二乘法擬合曲線。、實(shí)驗(yàn)要求1 上機(jī)前作好充分準(zhǔn)備,復(fù)習(xí)最小二乘擬合方法。2 上機(jī)時(shí)要遵守實(shí)驗(yàn)室的規(guī)章制度,愛(ài)護(hù)實(shí)驗(yàn)設(shè)備。3 記錄調(diào)試過(guò)程及結(jié)果,記錄并比較與手工運(yùn)算結(jié)果的異同。4 程序調(diào)試完后,須由實(shí)驗(yàn)輔導(dǎo)教師在機(jī)器上檢查運(yùn)行結(jié)果。5 給出本章實(shí)驗(yàn)單元的實(shí)驗(yàn)報(bào)告。、實(shí)驗(yàn)設(shè)備、環(huán)境1 .硬件設(shè)備:IBM PC以上計(jì)算機(jī),有硬盤和一個(gè)軟驅(qū)、單機(jī)和網(wǎng)絡(luò)環(huán)境均可。2 .軟件環(huán)境:C語(yǔ)言運(yùn)行環(huán)境。四、實(shí)驗(yàn)原理、方法最小二乘法:對(duì)于給定的線性方程組Ax=b式中ai1 ai2a21 a22a2nA=I am1 am2amnb=b1b2_bmX2x=_Xn當(dāng)m>n時(shí),稱為矛盾方

25、程組,又稱超定方程組。對(duì)于這種方程組有m個(gè)方程,而只有比m小的n個(gè)變量,即方程的個(gè)數(shù)超過(guò)未知量的個(gè)數(shù),這種方程組一般來(lái)說(shuō)是沒(méi)有解的。我們 轉(zhuǎn)而尋求在某種意義下的近似解。如果這組近似解對(duì)于矛盾方程組中的每個(gè)方程式的誤差的 平方和為最小,即mm n(X1,X2,,Xn)八、i2 八 c ajXj -b)2imi=± j=±為最小值時(shí),就可以認(rèn)為該組近似值為矛盾方程組的近似解。這種近似解不是指對(duì)精確解的近似(因?yàn)榫_解并不存在),而是指尋求各未知數(shù)的一組取值,使方程式(5.1)中各方程式近似相等,這就是最小二乘法的基本思想。五、實(shí)驗(yàn)內(nèi)容1 設(shè)有如下實(shí)驗(yàn)數(shù)據(jù)x1.361.491.7

26、31.811.952.162.282.48y14.09415.06916.84417.37818.43519.94920.96322.495試用最小二乘法分別求一次及二次多項(xiàng)式曲線擬合以上數(shù)據(jù)。2 編寫程序,分析運(yùn)行結(jié)果。六、實(shí)驗(yàn)步驟1. 根據(jù)實(shí)驗(yàn)題目,給出解決問(wèn)題的程序代碼。2. 上機(jī)輸入和調(diào)試自己所編的程序。3. 上機(jī)結(jié)束后,應(yīng)整理出實(shí)驗(yàn)報(bào)告。七、實(shí)驗(yàn)報(bào)告要求及記錄、格式按金陵科技學(xué)院實(shí)驗(yàn)報(bào)告(工科)格式填寫附:拋物函數(shù)擬合源程序*/*/*最小二乘法-擬合拋物函數(shù)/*/#i nclude <stdio.h>#in elude <math.h>#define Max_

27、N 25/*最大數(shù)據(jù)點(diǎn)的個(gè)數(shù) */#define M 3/*正規(guī)方程組的階數(shù)*/*列主元高斯消去法求解線性方程組*/void ColPivot(float AMM,float B,i nt n) int i,j,k,m_i;float m_x,temp;for(i=0;i< n-1;i+) /*列主元*/j=i+1; m_i=i; m_x=fabs(Aii);for(;j< n;j+) if(fabs(Aji>m_x) /* 找主元素 */m_i=j;m_x=fabs(Aji);if(i<m)/*交換兩行*/ temp=Bi; Bi=Bm_i; Bm_i=temp; f

28、or(j=i;j< n;j+) temp=Aij; Aij=Amj; Am口 j=temp; /*消元*/for(j=i+1;j<M;j+) temp=-Aji/Aii;Bj+=Bi*temp; for(k=i;k<M;k+)Ajk+=Aik*temp;main()int i,j,k,n;float xMax_N,yMax_N,bM,aMM,cM; printf("nPlease input n value:"); /* 輸入點(diǎn)數(shù) n*/ do scanf("%d",&n);if(n>Max_N) printf("

29、;nplease re-input n value:"); while(n>Max_N|n<=0); printf("Input xi,i=0,.%d:n",n-1); for(i=0;i<n;i+) scanf("%f",&xi); printf("Input yi,i=0,.%d:n",n-1); for(i=0;i<n;i+) scanf("%f",&yi); for(i=0;i<M;i+) /* 構(gòu)造正規(guī)方程組 */ for(j=0;j<M;j+

30、)aij=0; bi=0; for(k=0;k<n;k+) aij=aij+pow(xk,i+j); bi=bi+pow(xk,i)*yk;/* 輸出正規(guī)方程組 for(i=0;i<M;i+) for(j=0;j<M;j+) printf("%f",aij);printf(" %f",bi); printf("n");*/ColPivot(a,b,M); /* 調(diào)用列主元消去法函數(shù)計(jì)算方程組的解 */cM-1=bM-1/aM-1M-1; /* 解方程 */ for(i=M-2;i>=0;i-) ci=bi;fo

31、r(j=i+1;j<M;j+)ci-=aij*cj;ci/=aii;printf("Solve is :n"); /* 輸出方程組的解 */for(i=0;i<M;i+) printf("c%d=%fn",i,ci);printf("Result : y=%f+(%f)x+(%f)x 2",c0,c1,c2); getch();/* End of file */* 程序輸入輸出Please input n value:16Input xi,i=0,.N-1:1 2 3 4 5 6 7 8 9 10 11 12 13 14

32、15 16Input yi,i=0,.N-1:4 6.4 8 8.8 9.22 9.5 9.7 9.86 10 10.2 10.32 10.42 10.5 10.55 10.58 10.60 Solve is : c0=4.387500 c1=1.065962 c2=-0.044466Result:y=4.387500+1.065962x+(-0.044466)x 2*/復(fù)化梯形公式流程圖定義f(x)1/輸入 a,b,N /開(kāi)始h=(b-a)/N,x=a+h/2, s1=f(x),s2=0s1=s1+f(a+kh+h/2)s2=s2+f(a+kh)(k=1,2,N-1)s2=hf(a)+4s1

33、+2s2+f(b)/6實(shí)驗(yàn)5數(shù)值積分與數(shù)值微分、實(shí)驗(yàn)?zāi)康?. 掌握插值型求積公式,梯形公式、辛卜生公式、柯特斯公式。2 .掌握高斯求積公式,數(shù)值微分的中點(diǎn)公式。3 掌握龍貝格求積公式。二、實(shí)驗(yàn)要求1 .上機(jī)前作好充分準(zhǔn)備,理解求積公式,梯形公 式的概念。2 上機(jī)時(shí)要遵守實(shí)驗(yàn)室的規(guī)章制度,愛(ài)護(hù)實(shí)驗(yàn)設(shè) 備。3 記錄調(diào)試過(guò)程及結(jié)果,記錄并比較與手工運(yùn)算 結(jié)果的異同。4 程序調(diào)試完后,須由實(shí)驗(yàn)輔導(dǎo)教師在機(jī)器上檢 查運(yùn)行結(jié)果。5給出本章實(shí)驗(yàn)單元的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)備、環(huán)境1 .硬件設(shè)備:IBM PC以上計(jì)算機(jī),有硬盤和一 個(gè)軟驅(qū)、單機(jī)和網(wǎng)絡(luò)環(huán)境均可。2 .軟件環(huán)境:C語(yǔ)言運(yùn)行環(huán)境。四、實(shí)驗(yàn)原理、方法a

34、) 梯形求積公式:復(fù)化梯形公式計(jì)算步驟、令h=(b-a)/N , T=0 (h為等分?jǐn)?shù),T為存 放積分值的變量)(2) 、對(duì)k=1,2,N計(jì)算T=T+f(a+kh)(3) 、T=hf(a)+2T+f(b)/2b) 辛卜生求積公式 復(fù)化辛卜生公式計(jì)算步驟(1) 、令 h=(b-a)/N , s仁f(a+h/2), s2=0(2) 、對(duì) k=1,2,N-1 計(jì)算s仁s1+f(a+kh+h/2), s2=s2+f(a+kh)(3) 、s=hf(a)+4s1+2s2+f(b)/2。c) 龍貝格求積公式算法流程見(jiàn):龍貝格求積公式流程圖結(jié)束復(fù)化辛卜生公式流程圖2 分別用上述算法程序求0半的積分0 1 X值

35、,并分析每種算法程序求得的結(jié)果為什么不 同。S2=T2+(T2-T1)/3C2=S2+(S2-S1)/15是4C1=C2R2=C2+(C2-C1)/63結(jié)束龍貝格求積公式流程圖五、實(shí)驗(yàn)內(nèi)容1 分別編寫出梯形公式、辛卜生求積公式、龍 貝格求積公式算法程序。六、實(shí)驗(yàn)步驟1. 根據(jù)實(shí)驗(yàn)題目,給出解決問(wèn)題的程序代碼。2. 上機(jī)輸入和調(diào)試自己所編的程序。3. 上機(jī)結(jié)束后,應(yīng)整理出實(shí)驗(yàn)報(bào)告。七、實(shí)驗(yàn)報(bào)告要求及記錄、格式按金陵科技學(xué)院實(shí)驗(yàn)報(bào)告(工科)格式填寫 附:龍貝格求積分法源程序/*/*用龍貝格求積公式求定積分的解*/*/#i nclude <stdio.h>#in elude <ma

36、th.h>#define epsilon0.0001 /*精度要求,精度不能太高,否則不能得岀結(jié)果 */*求積函數(shù)f(x)*/float f(float x)retur n(si n( x); /*梯形公式*/float Romberg(float afloat b)int k=1;float S,x,T1,T2,S1,S2,C1,C2,R1,R2,h=b-a;T1=h*(f(a)+f(b)/2;while(1)S=0; x=a+h/2;doS+=f(x);x+=h;while(x<b);T2=(T 1+h*S)/2.0;if(fabs (T 2-T1)<epsilo n)

37、return (T 2);S2=T2+(T2-T1)/3.0;if(k=1) T1=T2;S1=S2;h/=2;k+=1; continue; C2=S2+(S2-S1)/15.0;if(k=2) C1=C2;T1=T2;S1=S2;h/=2;k+=1; continue; R2=C2+(C2-C1)/63.0;if(k=3) R1=R2;C1=C2;T1=T2;S1=S2;h/=2;k+=1; continue; if(fabs(S2-S1)<epsilon) return(S2);R1=R2;C1=C2;T1=T2;S1=S2;h/=2;k+=1;main() int I;float

38、 a,b,S;printf( “nInput the begin and end: ”);/* 輸入積分區(qū)間 */scanf( “ %f%f” ,&a,&b);S=Romberg(a,b); /* 調(diào)用龍貝格算法函數(shù) */ printf( “ Solve is: %f” ,S);getch();/* End of file */*對(duì)函數(shù) f(x)=sin(x) 在積分區(qū)間 1,2 內(nèi)求定積分。 程序輸入輸出Input the begin and end: 1.0 2.0Solve is: 0.956449*/實(shí)習(xí)6常微分方程數(shù)值解法一、實(shí)驗(yàn)?zāi)康?、通過(guò)本實(shí)驗(yàn),充分理解常微分方程

39、的初值問(wèn)題的有關(guān)方法和理論理論;2、通過(guò)實(shí)際計(jì)算體會(huì)各種解法的功能、優(yōu)缺點(diǎn)及適用場(chǎng)合,會(huì)選取適當(dāng)?shù)那蠼夥椒?。二、?shí)驗(yàn)要求1、 了解各種解決常微分方程初值問(wèn)題的方法,并比較各種方法的不同之處,充分理解各 種方法的特點(diǎn)及用途;2、針對(duì)后面的練習(xí)題目進(jìn)行上機(jī)計(jì)算;3、在充分理解各種方法的基礎(chǔ)上,會(huì)編寫各種方法的程序;4、考慮其他龍格-庫(kù)塔公式的程序編寫。三、實(shí)驗(yàn)設(shè)備、環(huán)境龍格-庫(kù)塔法流程圖五、實(shí)驗(yàn)內(nèi)容1、用歐拉方式和改進(jìn)歐拉法求初值問(wèn)題y'=x*y; y(3.0)=1; 3.0<=x<=3.6 取 h=0.2( 即 n=3)2、龍格 -庫(kù)塔公式求初值問(wèn)題 y'=x/y; y(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論