數(shù)值分析上機題課后作業(yè)全部-東南大學匯編_第1頁
數(shù)值分析上機題課后作業(yè)全部-東南大學匯編_第2頁
數(shù)值分析上機題課后作業(yè)全部-東南大學匯編_第3頁
數(shù)值分析上機題課后作業(yè)全部-東南大學匯編_第4頁
數(shù)值分析上機題課后作業(yè)全部-東南大學匯編_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學習-好資料更多精品文檔2015.1.9上機作業(yè)題報告USER.Chapter 11.1題目設S?=e?=2?11,其精確值為11(3丄1 )。?-|22 NN 1(1)編制按從大到小的順序Sn1122 132 1(2)編制按從小到大的順序Sn11N2 1(N 1)2 11N2 1計算SN的通用程序。亍,計算SN的通用程序。(編制程序時用單精度)(3)按兩種順序分別計算 S102,S104,S106,并指出有效位數(shù)。(4 )通過本次上機題,你明白了什么?1.2程序clear;N=input('請輸入 N值:);Ac=si ngle(3/2-1/N-1/(N+1)/2);Sn l2s=s

2、 in gle(0);Sn s2l=si ngle(0);for i=2:NSn l2s=S nl2s+1/(i*i-1);endfor i=N:-1:2Sn s2l=S ns2l+1/(i*i-1);endfprintf('精確值為:%fn',Ac);fprintf('從大到小的順序累加得SN=%fn',Snl 2s);fprintf('從小到大的順序累加得SN=%fn',Sn s2l);disp('=1.3運行結果>> P20T17請輸入N值:10A2精確值為:0.740049從大到小的順序累加得 SN=0.740049

3、從小到大的順序累加得 SN=0.740050>> P20T17請輸入N值:10A4精確值為:0.749900從大到小的順序累加得 SN=0.749852從小到大的順序累加得SN=0.749900>> P20T17請輸入N值:10A6精確值為:0.749999從大到小的順序累加得SN=0.749852從小到大的順序累加得SN=0.7499991.4結果分析按從大到小的順序,有效位數(shù)分別為:6, 4, 3。按從小到大的順序,有效位數(shù)分別為:5,6,6??梢钥闯?,不同的算法造成的誤差限是不同的,好的算法可以讓結果更加精確。當采用從大到小的順序累加的算法時,誤差限隨著N的增大而

4、增大,可見在累加的過程中,誤差在放大,造成結果的誤差較大。因此,采取從小到大的順序累加得到的結果更加精確。2. Chapter 22.1題目(1 )給定初值xo及容許誤差,編制牛頓法解方程 f(x)=O的通用程序。(2 )給定方程f(x) x33 x 0,易知其有三個根Xi 、.3,X2 o, x33由牛頓方法的局部收斂性可知存在0,當x0(,)時,Newt on迭代序列收斂于根x2*。試確定盡可能大的 3。試取若干初始值,觀察當X。(, 1), ( 1,), (,), ( ,1),(1,)時Newton序列的收斂性以及收斂于哪一個根。(3) 通過本上機題,你明白了什么?2.2程序?(?函數(shù)m

5、文件:fu.m用Newt on法求根的通用程序 Newt on .mfun cti onFu=fu(x)clear;Fu=xA3/3-x;x0=input('請輸入初值 x0:');endep=input('請輸入容許誤差:');flag=1;?(?)函數(shù) m 文件:dfu.mwhile flag=1fun cti onFu=dfu(x)x1=x0-fu(x0)/dfu(x0);Fu=xA2-1;if abs(x1-x0)<ependflag=0;endxO=x1;endfprintf( '方程的一個近似解為:%fn',x0);尋找最大3值

6、的程序:Fin d.mcleareps=input( '請輸入搜索精度:); ep=input('請輸入容許誤差:); flag=1;k=0;x0=0;while flag=1sigma=k*eps;xO=sigma;k=k+1;m=0;flag仁1;while flag1=1 && 口<=10人3x1=xO-fu(xO)/dfu(xO);if abs(x1-x0)<epflag 仁0;endm=m+1;x0=x1;endif flag1=1|abs(x0)>=epflag=0;endendfprintf( '最大的 sigma 值 為

7、:%fn' ,sigma);2.3運行結果(1) 尋找最大的3直。算法為:將初值x0在從0開始不斷累加搜索精度 eps,帶入Newton迭代公式,直到求 得的根不再收斂于 0為止,此時的x0值即為最大的sigma值。運行Find.m,得到在不同的 搜索精度下的最大 sigma值。>> Fi nd請輸入搜索精度:10A-6請輸入容許誤差:10A-6最大的sigma值為0.774597>> Fi nd請輸入搜索精度:10A-4請輸入容許誤差:10A-6最大的sigma值為0.774600>> Fi nd請輸入搜索精度:10A-2請輸入容許誤差:10A-6

8、最大的sigma值為0.780000(2)運行 Newton.m在(-a, - 1 )內取初值,運行結果如下:X0Xk-1000-1.732051-500-1.732051-100-1.732051-10-1.732051-5-1.732051-2.5-1.732051-1.5-1.732051可見,在(-g, - 1 )區(qū)間內取初值,Newton序列收斂,且收斂于根-v3。 在(-1,- S)內取初值,運行結果如下:X0Xk-0.951.732051-0.851.732051-0.81.732051-0.7745981.732051可見,在(-1 , - S)內取初值,Newton序列收斂,

9、且收斂于根 V3。 在(-3, S)內內取初值,運行結果如下:X0Xk-0.7745960.000000-0.550.000000-0.350.000000-0.150.0000000.050.0000000.250.0000000.450.0000000.650.0000000.7745960.000000可見,在(-3 3)內取初值,Newton序列收斂,且收斂于根 0。 在(3, 1)內取初值,運行結果如下:X0Xk0.774598-1.7320510.8-1.7320510.85-1.7320510.95-1.732051可見,在(3, 1)內取初值,Newt on序列收斂,且收斂于根

10、 -3 在(1, +內取初值,運行結果如下:X0Xk1.51.7320512.51.73205151.732051101.7320511001.7320515001.73205110001.732051可見,在(1, + g)內取初值,Newton序列收斂,且收斂于根 33. Chapter 33.1題目對于某電路的分析,歸結為求解線性方程組RI=V,其中31130001000013359011000009311000000001079300009R00030577050000074730000000030410000005002720009000229VT15,27,23,0,20,12,7

11、,7,10T(1) 編制解n階線性方程組Ax= b的列主元高斯消去法的通用程序;(2) 用所編程序線性方程組RI = V,并打印出解向量,保留5位有效數(shù)字;(3) 本題編程之中,你提高了哪些編程能力?3.2程序n=i nput('請輸入線性方程組階數(shù):n=');b=zeros(1, n);A=i nput('請輸入系數(shù)矩陣:A=n');b(1,:)=i nput( '請輸入線性方程組右端向量:b=n');b=b'C=A,b;fori=1: n-1maximumndex=max(abs(C(i: n,i);in dex=in dex+i-1

12、;T=C(i ndex,:);C(i ndex,:)=C(i,:);C(i,:)=T;for k=i+1: nif C(k,i)=0C(k,:)=C(k,:)-C(k,i)/C(i,i)*C(i,:);endendend%回代求解x=zeros (n ,1);x( n)=C( n,n+1)/C( n,n);fori=n-1:-1:1x(i)=(C(i, n+1)-C(i,i+1: n)*x(i+1: n,1)/C(i,i);enddisp('方程組的解為:');fpri ntf(%.5gn',x);3.3運行結果運行程序,輸入系數(shù)矩陣和方程組右端列向量。運行過程與結果如

13、下圖所示:>> P126T39請輸入線性方程組階數(shù):n=4請輸入系數(shù)矩陣:A=136.01 90.86 0 0;90.86 98.81 -67.59 0;0 -67.59 132.01 46.26 ;0 0 46.26 177.17 請輸入線性方程組右端向量:b=-33.254 49.79 28.067 -7.324方程組的解為:-2957.44426.62495-651.49>> P126T39請輸入線性方程組階數(shù):n=9請輸入系數(shù)矩陣:A=31 -13 0 0 0 -10 0 0 0;-13 35 -9 0 -11 0 0 0 0;0 -9 31 -10 0 0 0

14、 0 0;0 0 -1079 -30 0 0 0 -9;0 0 0 -30 57 -7 0 -5 0;0 0 0 0 -7 47 -30 0 0;0 0 0 0 0 -30 410 0;0 0 0 0 -5 0 0 27 -2;0 0 0 -9 0 0 0 -2 29請輸入線性方程組右端向量:b=-15 27 -23 0 -20 12 -7 7 10方程組的解為:-0.289230.34544-0.71281-0.22061-0.43040.15431-0.0578230.201050.29023可看出,算得的該線性方程組的解向量為:-0.28923 0.34544 -0.71281 -0.2

15、2061 -0.4304 0.15431 -0.057823 0.20105 0.290234. Chapter 44.1題目(1)編制求第一型3次樣條插值函數(shù)的通用程序; (2 )已知汽車門曲線型值點的數(shù)據(jù)如下:i012345678910Xi012345678910Yi2.513.304.044.705.225.545.785.405.575.705.80端點條件為?= 0.8, ?0 = 0.2,用所編程序求車門的3次樣條插值函數(shù)S(x),并打印出S(i+0.5), i=0,1,9。4.2程序cleardigits (6);n=input('請輸入節(jié)點數(shù):n=');xn=z

16、eros(1, n);yn=zeros(1, n);xn(1,:)=input('請輸入節(jié)點坐標:);yn(1,:)=input('請輸入節(jié)點處函數(shù)值:);dy0=input('請輸入左邊界條件: y' (x0 )=');dyn=input('請輸入右邊界條件: y' (xn)=');%= 求d=% d=zeros( n,1);h=zeros(1, n-1);f1=zeros(1, n-1);f2=zeros(1, n-2);for i=1: n-1h(i)=x n(i+1)-x n( i);f1(i)=(y n( i+1)-y

17、n(i)/h(i);endfor i=2: n-1f2(i)=(f1(i)-f1(i-1)/(x n(i+1)-x n(i-1);d(i)=6*f2(i);endd(i)=6*(f1(1)-dy0)/h(1);d(n )=6*(dy n- f1( n-1)/h( n-1);%= 求 Mi=% A=zeros (n);miu=zeros(1, n-2);lamda=zeros(1, n-2);for i=1: n-2miu(i)=h(i)/(h(i)+h(i+1);lamda(i)=1-miu(i);endA(1,2)=1;A( n,n-1)=1;for i=1: nA(i,i)=2;endfo

18、r i=2: n-1A(i,i-1)=miu(i-1);A(i,i+1)=lamda(i-1);endM=Ad;%=回代求插值函數(shù)=%syms x;for i=1: n-1;Sx(i)=collect(y n( i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i)*(x-xn (i)+M(i)/2*(x-x n(i)A2+(M(i+1)-M(i)/(6*h(i)*(x-x n(i)A3);Sx(i)=vpa(Sx(i),6);endS=zeros(1, n-1);for i=1: n-1x=xn (i)+0.5;S(i)=y n(i)+(f1(i)-(M(i)/3+M(i+1)/6

19、)*h(i)*(x-x n(i)+M(i)/2*(x-xn (i)A2+(M(i+1)-M(i)/(6*h(i)*(x-x n(i)A3;end%= 打印結果=%disp( 'S(x)=');for i=1: n-1format short ;fprintf(' %s (%d<x<%d)n',char(Sx(i),x n(i),x n(i+1);disp(');enddisp( 'S(i+0.5)')disp( 'ix(i+0.5)S(i+0.5)');for i=1: n-1fprintf('%d%.

20、5f%.5fn',i,x n(i)+0.5,S(i);end4.3運行結果>> P195T37請輸入節(jié)點數(shù):n=11請輸入節(jié)點坐標:0 1 2 3 4 5 6 7 8 9 10請輸入節(jié)點處函數(shù)值:2.51 3.30 4.04 4.70 5.22 5.54 5.78 5.40 5.57 5.70 5.80請輸入左邊界條件:y' (x0)=0.8請輸入右邊界條件:y' (xn)=0.2S(x)=0.79*x + 0.0158344*xA2 - 0.0158344*乂人3 + 2.51(0<x<1)0.830013*x -0.0241785*xA2 -

21、0.00249676*xA3 + 2.49666(1<x<2)0.809832*x -0.0140879*xA2 -0.00417854*xA3 + 2.51012(2<x<3)0.315407*xA2 - 0.178653*x - 0.0407891*乂人3 + 3.4986(3<x<4)6.9313*x - 1.46208*xA2 + 0.107335*xA3 - 5.98133(4<x<5)4.1762*xA2 - 21.2601*x - 0.26855*乂人3 + 41.0043(5<x<6)53.8449*x - 8.341

22、3*xA2 + 0.426866*乂人3 - 109.206(6<x<7)6.27011*xA2 - 48.435*x - 0.268915*乂人3 + 129.447(7<x<8)14.4854*x - 1.59494*xA2 + 0.0587951*乂人3 - 38.3403(8<x<9)13.2458*x - 1.45831*xA2 + 0.053735*乂人3 - 34.5615(9<x<10)S(i+0.5)ix(i+0.5)S(i+0.5)10.500002.9069821.500003.6788532.500004.3813643.

23、500004.9882254.500005.3832665.500005.7237276.500005.5943587.500005.4301298.500005.65892109.500005.731725. Chapter 55.1題目0.5 X 10-7。用Romberg求積法計算積分的近似值,要求誤差不超過5.2程序%被積函數(shù)m文件:fx.mfun cti onFx=fx(x)Fx=1/(1+100*x*x);end%Romberg求積法計算積分的通用程序fun cti onRomberg()clear;a=input('請輸入積分下限:a=');b=input(

24、9;請輸入積分上限:b='); eps=input( '請輸入允許精度:eps=');%=計算 Tn=%fun cti onTn=T(n)Tn=0;h=(b-a)/n;x=zeros(1, n+1);for k=1: n+1x(k)=a+(k-1)*h;endfor j=1: nTn=Tn+h*(fx(x(j)+fx(x(j+1)/2;endend%=計算 sn=%fun cti onSn=S(n)Sn=4/3*T(2* n)-1/3*T( n);end%=計算 cn=%fun ctionCn=C( n)Cn=16/15*S(2* n)-1/15*S( n);end%=

25、計算 Rn=%fun cti onRn=R(n)Rn=64/63*C(2*in)-1/63*C( n);end%=計算滿足允許精度的 Rn,并打印輸岀=% i=1;flag=1;while flag=1if abs(R(2Ai)-R(2A(i-1)/255<epsflag=0;endi=i+1;endfprintf( '該積分的值為:%fn', R(2A(i-l);end5.3運行結果>> Romberg 請輸入積分下限: 請輸入積分上限:a=-1 b=1請輸入允許精度:eps=0.5*10A-7該積分的值為:0.29422555.4結果分析0.2942255

26、34860747,誤差限為:3.486 X 10-8,可見,手動化簡該定積分并最終求得的值為: 程序完成了計算要求。6. Chapter 66.1題目常微分方程初值問題數(shù)值解(1) 編制RK4方法的通用程序;(2) 編制AB4方法的通用程序(由 RK4提供初值);(3) 編制AB4-AM4預測校正方法通用程序(由RK4提供初值);(4) 編制帶改進的 AB4-AM4預測校正方法通用程序(由RK4提供初值);(5) 對于初值問題?0) = 3取步長h=0.1,應用(1) - ( 4)中的四種方法進行計算,并將計算結果和精確解 y(x) = 3/(1 +?)作比較;(6) 通過本上機題,你能得到哪

27、些結論?6.2程序%f (x, y)函數(shù) m文件:fxy.mfun ctionFXY=fxy(x,y)FXY=_x*x*y*y;end%W確解y (x)函數(shù) m文件:fx.mfun cti onFX=fx(x)FX=3/(1+x*x*x);end%RK4t通用程序fun ctionRK4()clear;x(1)=input('請輸入初始 x 值:x0=');y(1)=input('請輸入初值條件:y (x0 )=');N=input('請輸入計算步長:N=');h=input('請輸入步長:h=');for i=1:N-1x(i+

28、1)=x(i)+h;k1=fxy(x(i),y(i);k2=fxy(x(i)+0.5*h,y(i)+0.5*h*k1);k3=fxy(x(i)+0.5*h,y(i)+0.5*h*k2);k4=fxy(x(i)+h,y(i)+h*k3);y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);end);disp( 'i xi yi y(xi) y(xi)-yi' disp( '' );/ Jfor i=1:Nfpri ntf('%d%f %f %f %fn'x(i)-y(i);disp('' );/ Jendend%AB

29、4t通用程序fun cti onAB4()clear;x(1)=i nput('請輸入初始x值:x0=');y(1)=i nput('請輸入初值條件:y (x0)N=i nput(''請輸入計算步長:N-');h=in put( ''請輸入步長:h=');for i=1:N-1x(i+1)=x(i)+h;k1=fxy(x(i),y(i);k2=fxy(x(i)+0.5*h,y(i)+0.5*h*k1);k3=fxy(x(i)+0.5*h,y(i)+0.5*h*k2);k4=fxy(x(i)+h,y(i)+h*k3); y(

30、i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);endfor i=4:N-1y(i+1)=y(i)+h/24*(55*fxy(x(i),y(i)-59*fxy(x(i-1),y(i-1)+37*fxy(x(i-2),y(i-2)-9*fxy(x(i-3),y(i-3);enddisp( 'i xi yi y(xi) y(xi)-yi');disp( '' );/ Jfor i=1:Nfprintf( '%d %f %f %f %fn',i,x(i),y(i),fx(x(i),fx(x(i)-y(i);disp( ''

31、; );/ Jendend%AB4-AM領測校正法通用程序fun ctionAB4AM4()clear;x(1)=input('請輸入初始 x 值:x0=');y(1)=input('請輸入初值條件: y (x0 )=');N=input('請輸入計算步長: N=');h=input('請輸入步長:h=');for i=1:N-1x(i+1)=x(i)+h;k1=fxy(x(i),y(i);k2=fxy(x(i)+0.5*h,y(i)+0.5*h*k1);k3=fxy(x(i)+0.5*h,y(i)+0.5*h*k2); k4=f

32、xy(x(i)+h,y(i)+h*k3); y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);endfor i=4:N-1yp(i+1)=y(i)+h/24*(55*fxy(x(i),y(i)-59*fxy(x(i-1),y(i- 1)+37*fxy(x(i-2),y(i-2)-9*fxy(x(i-3),y(i-3);y(i+1)=y(i)+h/24*(9*fxy(x(i+1),yp(i+1)+19*fxy(x(i),y(i)-5*fxy(x(i-1),y(i-1)+fxy(x(i-2),y(i-2);end,i,x(i),y(i),fx(x(i),fx();disp( &#

33、39;i xi yi y(xi) y(xi)-yi' disp( '' );/ Jfor i=1:Nfpri ntf('%d%f %f %f %fn'x(i)-y(i);disp('' );/ Jendend%帶改進的AB4-AM4預測校正方法fun ctionAB4AM4plus()clear;x(1)=input('請輸入初始 x 值:x0=');y(1)=input('請輸入初值條件: y (x0)=');N=input('請輸入計算步長: N=');h=input('請輸入步

34、長:h=');for i=1:N-1x(i+1)=x(i)+h;k1=fxy(x(i),y(i);k2=fxy(x(i)+0.5*h,y(i)+0.5*h*k1);k3=fxy(x(i)+0.5*h,y(i)+0.5*h*k2);k4=fxy(x(i)+h,y(i)+h*k3); y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);endfor i=4:N-1yp(i+1)=y(i)+h/24*(55*fxy(x(i),y(i)-59*fxy(x(i-1),y(i- 1)+37*fxy(x(i-2),y(i-2)-9*fxy(x(i-3),y(i-3);yc(i+1)=

35、y(i)+h/24*(9*fxy(x(i+1),yp(i+1)+19*fxy(x(i),y(i)-5*fxy(x(i-1),y(i-1)+fxy(x(i-2),y(i-2);y(i+1)=251/270*yc(i+1)+19/270*yp(i+1);enddisp( 'i xi yi y(xi) y(xi)-yi');disp( '' );/ Jfor i=1:Nfpri ntf( '%d %f %f %f %fn',i,x(i),y(i),fx(x(i),fx(x(i)-y(i);disp( '' );/ Jendend6.3運

36、行結果(1)RK4法>> RK4請輸入初始x值:x0=0請輸入初值條件:y( x0)=3請輸入計算步數(shù):N=15請輸入步長:h=0.1ixiyiy(xi)y(xi)-yi10.0000003.0000003.0000000.00000020.1000002.9970032.9970030.00000030.2000002.9761902.9761900.00000040.3000002.9211292.9211300.00000150.4000002.8195472.8195490.00000260.5000002.6666632.6666670.00000370.6000002.

37、4671002.4671050.00000580.7000002.2337992.2338050.00000690.8000001.9841231.9841270.000004100.9000001.7351071.735107-0.000000111.0000001.5000061.500000-0.000006121.1000001.2870131.287001-0.000011131.2000001.0997221.099707-0.000015141.3000000.9383970.938380-0.000018151.4000000.8013000.801282-0.000018(2

38、)AB4法>> AB4請輸入初始x值:x0=0請輸入初值條件:y( x0)=3請輸入計算步數(shù):N=15請輸入步長:h-0.1ixiyiy(xi)y(xi)-yi10.0000003.0000003.0000000.00000020.1000002.9970032.9970030.00000030.2000002.9761902.9761900.00000040.3000002.9211292.9211300.00000150.4000002.8183892.8195490.00116060.5000002.6646722.6666670.00199470.6000002.4652032.4671050.00190380.7000002.2330792.2338050.00072690.8000001.9849511.984127-0.000824100.9000001.7370431.735107-0.001936111.0000001.5021951.500000-0.002195121.1000001.2887631.287001-0.001762131.2000001.1007241.099707-0.001017141.3000000.9387100.938380-0.000331151.4000000.80113

溫馨提示

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

評論

0/150

提交評論