(完整word版)數(shù)值分析作業(yè)(C語言編程實(shí)現(xiàn))(word文檔良心出品)_第1頁
(完整word版)數(shù)值分析作業(yè)(C語言編程實(shí)現(xiàn))(word文檔良心出品)_第2頁
(完整word版)數(shù)值分析作業(yè)(C語言編程實(shí)現(xiàn))(word文檔良心出品)_第3頁
(完整word版)數(shù)值分析作業(yè)(C語言編程實(shí)現(xiàn))(word文檔良心出品)_第4頁
(完整word版)數(shù)值分析作業(yè)(C語言編程實(shí)現(xiàn))(word文檔良心出品)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、誤差不超過to 1、( 10分)用Romberg方法計算枳分I =的近似值。 #i nclude #in elude double f(double x) double ans; an s=exp(x); return ans; void mai n() double a=1,b=3,error=0.0001,t2020,h,c; int i,j,k,m,n; h=b-a; tOO=h*(f(a)+f(b)/ 2; k=1; while(1) tOk=O; m=1; for(j=0;jk-1;j+) m=m*2; for(i=1;i=m;i+) t0k=t0k+h*f(a+(i-0.5)*h)

2、; t0k=(t0k+t0k-1)/ 2; for(j=1;j=k;j+) c=1; for(n=0;nj;n+) c=c*4; tjk-j=(c*tj-1k-j+1-tj-1k-j)/(c-1); if(fabs(tk0-tk-10)error) printf(n 積分結(jié)果 I %lfn,tk0); break; else h=h/2; k+; 積分結(jié)果I 17.3 an s=pow(cos(t),1.0/3); return ans; void mai n() double x=0,eslo ng=0.000001,x0; int N=20,i; printf(n 近似初值 x0 = %l

3、fn,x); for(i=0;iN;i+) x0=x; x=f(x); printf( x%d = %lfn,i+1,x); if(fabs(x-x0)esl ong) break; if(fabs(x-x0)(10分)用四階RK方法求初值問題的數(shù)值解.取步長方司丄計算結(jié)果取呂 位小數(shù)。 yf - 1 + .V20 x1 | V(0) = 0 #in elude #in elude double a=0,b=1,x,y=0,h=0.1,k1,k2,k3,k4; int i,N; double f(double t,double s) double ans; an s=1+t*t; return

4、 ans; void mai n() N=(b-a)/h; x=a; prin tf(n 初值為(xO,yO) = ( %.8f , %.8f )n,x,y); for(i=0;iN;i+) k1= f(x,y); k2=f(x+h/2,y+h*k1/2); k3=f(x+h/2,y+h*k2/2); k4=f(x+h,y+h*k3); y=y+h*(k1+2*(k2+k3)+k4)/ 6; x=x+h; printf(” 第 %d 次輸出結(jié)果為 (x%d,y%d) = ( %.8f , %.8f )n,i+1,i+1,i+1,x,y); H 12 f i! J7b - Jrs w- z r

5、4Jfc s- JJB - 1 b Jfc w- 喩次次次次次枕次次0 疵 1234567891 為為 0 ftt!/ rrTP_ ),士口士 F 口士口士 口士 口士 口士口db口吿 rTrPnrW nTpnTW -Eh Eh Eh Eh 號* E fv = - - x4,y4?= - C x7,y7?= - - 0A0060000 , 0-20000080 , 0.30000000 , 0.40000000 , 0.50000000 * 060000000 . 0.70000000 , 0.80000000 ” 0.90000000 , 0.10033333 0.20266667 0309

6、00000 ) 0.42133333 ) 0.541 int i,j; y=0; for(i=0;i=3;i+) li=1; for(j=0;ji;j+) li=(x-dataxj)/(dataxi-dataxj)*li; for(j=i+1;j=3;j+) li=(x-dataxj)/(dataxi-dataxj)*li; y=y+datayi*li; printf(n f(x)在 x = %f 處的近似值為:y = %fn,x,y); 在:x = 1.500M0 處的近似值為:y = 17.750000 5. 10分)已知數(shù)據(jù)表如N試求其最小二乘二次擬介名項(xiàng)式. L2 23 34 4.5

7、5.6 65 7,8 int m=2,i,j,k; double p,data94,a34,datax9=1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,10.0; for(i=0;i9;i+) for(j=1;j2*m+1;j+) dataij=1; for(k=0;kj;k+) dataij=dataij*dataxi; for(i=0;im+1;i+) for(j=0;jm+1;j+) aij=0; for(k=0;k9;k+) aij=aij+dataki+j; a00=9; a0m+1=0; for(i=0;i9;i+) a0m+1=a0m+1+datayi; for

8、(i=1;im+1;i+) aim+1=0; for(j=0;j9;j+) p=datayj; for(k=0;ki;k+) p=p*dataxj; aim+1=aim+1+p; II生成m+1行,m+2列增廣矩陣II /顯示方程組/ for(i=0;im+1;i+) for(j=0;jm+2;j+) if(j!=m+1) printf(”(f)a%d ”,aij,j); if(j!=m) prin tf(+ ); else prin tf(= %f n,aij); for(i=0;im;i+)/ 高斯消去法 / if(aii!=0) for(j=i+1;jm+1;j+) aji=aji/ai

9、i; for(k=i+1;km+2;k+) ajk=ajk-aik*aji; else break; if(amm!=0 for(i=2;i=m+1;i+) for(j=1;ji;j+) am+1-im+1=am+1-im+1-am+1-im+1-j*am+1-jm+1; am+1-im+1=am+1-im+1/am+1-im+1-i; printf(”方程組的解為:n”); for(j=0;jm+1;j+) prin tf(a%d = %fn,j,ajm+1); printf(擬合多項(xiàng)式為:n); prin tf(P%d(x) = (%f) + (%f)x + (%f)xA2n,m,a0m+

10、1,a1m+1,a2m+1); else printf(數(shù)據(jù)有誤! n”); 9+ 35484岡00問戰(zhàn)2 = 504100肆0 a0 十 C354+ 2600.= 3815-487000 a0 + al + a2 - 31620.1BB30U 方機(jī)且的解為: a0 = 12-076541 al = -2.000515 a2 = 1.398707 擬合多頂式為; P2 = + x + xA2 6, (20分)分別用列主元袪和Jacobi迭代法求解方程組. X 一 2x. 一工 int i,j,k, nrow; for(i=0;i2;i+) comp=fabs(aii); for(k=i;k=c

11、omp) n row=k; comp=fabs(aki); for(j=0;j=3;j+) mov=aij; aij=a nrowj; a nrowj=mov; printf(方程第%d行互換位置后如下n,i+1); for(j=0;j3;j+) prin tf(%f)x1 + (%f)x2 + (%f)x3 = %fn,aj0,aj1,aj2,aj3); if(aii!=O) for(j=i+1;j3;j+) aji=aji/aii; for(k=i+1;k=3;k+) ajk=ajk-aik*aji; aji=0; printf(”方程經(jīng)%d次消元如下n,i+1); for(j=0;j3;

12、j+) prin tf(%f)x1 + (%f)x2 + (%f)x3 = %fn,aj0,aj1,aj2,aj3); else break; if(a22!=0 for(i=0;i3;i+) prin tf(%f)x1 + (%f)x2 + (%f)x3 = %fn,ai0,ai1,ai2,ai3); a23=a23/a22; for(i=2;i=3;i+) for(j=1;ji;j+) a3-i3=a3-i3-a3-i3-j*a3-j3; a3-i3=a3-i3/a3-i3-i; printf(方程組的解為:n); for(j=0;j3;j+) prin tf(x%d = %fn,j+1,

13、aj3); else printf(數(shù)據(jù)有誤! n); 方程第1行互換位置后如下 xl + x3 = 15-000000 xl + x2 + x3 3.000000 xl + C-2+ 5= 10000000 方程經(jīng)丄枕消元如下 -2+ x2 + -3.0000陌- 15.000000 xl + x2 + x3 = 10.500000 xl + x2 + x3 = 2.560000 方程第2行互換位置后如下 xl + 10.000000)x2 + -3= IE.000000 + x2 + x3 = 2-588000 000000 xl + x2 + -2= 1囪.500000 方穆理次消元女嚇

14、 xl + C10.t)06000 x2 += 15-010030 (們.000000 xl + (-7.000000)x2 + 6500000 x3 = 2.500Q00 W.000000 xl + x2 + x3 = 11-571429 方程化簡得 xl + C10.00000 x2 += 15.000000 0.000000 x1+x2 十(6.500000 x3= 2.500000 0.000000 x1 + x3 = 11_571429 方程組的解為: xl = 118.000000 x2 = 37-250000 x3 = 40500000 Jacobi迭代法 #include #i

15、nclude void main() double a37=1,-2,-1,3,-2,10,-3,15,-1,-2,5,10,error=0.000001,norm; int N=423,i,j,k; a04=0,a14=0,a24=0; for(i=0;i3;i+) / 把 a 矩陣轉(zhuǎn)化為 b 矩陣 / ai6=aii; for(j=0;j3;j+) aij=-aij/ai6; ai3=ai3/ai6; aii=0; printf( 化為 b 矩陣如下 n); for(i=0;i3;i+) printf(%f %f %f %fn,ai0,ai1,ai2,ai3); for(i=1;iN;i+

16、) for(j=0;j3;j+) aj5=0; for(k=0;k3;k+) aj5=ak4*ajk+aj5; aj5=aj5+aj3; norm=0; for(k=0;k3;k+) norm=norm+fabs(ak4-ak5); if(normerror) break; else for(k=0;k3;k+) ak4=ak5; if(normerror) printf(計算結(jié)果為n); for(i=0;i3;i+) prin tf( x%d = %.3fn,i+1,ai 5); else printf(迭代失敗 n); 化為b矩陣如下 0.000000 2.000600 1.000000

17、3.000000 0.200000 0 - 000000 0 _ 300000 1 _ 0.200000 0.400008000080 2000000 計算結(jié)果為 xl = 118.000 x2 - 37.250 x3 = 40.5 00 現(xiàn)場考試 題目 1 #include stdio.h #include math.h double f(double x) double ans; ans=exp(x); return(ans); void main() double a=-1,b=1,error=0.0001,m=1,h,T0,T,F; int k; h=(b-a)/2; T0=h*(f(a)+f(b); while(1) F=0; for(k=1;k=pow(2.0,m-1);k+) F=F+f(a+(2*k-1)*h); T=T0/2+h*F; if(fabs(T-T0)error) break; m+; h=h/2; T0=T; printf(”積分結(jié)果為I%fn,T); 題目 2 #include stdio.h double f(double t,doub

溫馨提示

  • 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

提交評論