數(shù)值分析實驗報告_第1頁
數(shù)值分析實驗報告_第2頁
數(shù)值分析實驗報告_第3頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)值分析實驗報告第二章實驗題目:分別用二分法、牛頓迭代法、割線法、史蒂芬森迭代法求方程?= (?+ 1)(?- 1)5 = 0的根??= 1,觀察不同初始值下的收斂性,并給出結(jié)論。問題分析:題目有以下幾點要求:1. 不同的迭代法計算根,并比擬收斂性。2. 選定不同的初始值,比擬收斂性。實驗原理:各個迭代法簡述二分法:取有根區(qū)間?勺重點?,確定新的有根區(qū)間?,?的區(qū)間長度 僅為?區(qū)間長度的一版。對壓縮了的有根區(qū)間?,?重復以上過程,又得到 新的有根區(qū)間?,?,其區(qū)間長度為?,?的一半,如此反復,可得一系 列有根區(qū)間,區(qū)間收斂到一個點即為根。牛頓迭代法:不動點迭代法的一種特例,具有局部二次收斂的特

2、性。迭代 格式為?)?+1 = ?- ?(?), ?= 0,1,2,割線法:是牛頓法的改進,具有超線性收斂的特性,收斂階為1.618.迭代格式為?)?+1=?- ?-?-1)(?- ?),?i2,?)(?- ?2? =? =史蒂芬森迭代法:采用不動點迭代進行預估校正。至少是平方收斂的。迭 代格式為?+1 = ?-'"+1- ?- 2?+ ?這里??可采用牛頓迭代法的迭代函數(shù)。實驗內(nèi)容:1. 寫出該問題的 ?(?) 函數(shù) 代碼如下: function py= f(x) syms k;y=(kA2+1)*(k-1)A5;yy=diff(y,k);py(1)=subs(y,k,x)

3、; py(2)=subs(yy,k,x);end2. 分別寫出各個迭代法的迭代函數(shù) 代碼如下:二分法:function y=dichotomie(a,b,e)i=2;m(1)=a;while abs(a-b)>et=(a+b)/2;s1=f(a);s2=f(b);s3=f(t);if s1(1)*s3(1)<=0b=t;elsea=t;endm(i)=t;i=i+1;endy=t,i+1,m;end牛頓迭代法:functiony=NewtonIterative(x,e)i=2;m(1)=x;while abs(en)>=es=f(x);t=x-s(1)/s(2);en=t-x

4、;x=t;m(i)=t;i=i+1;endy=x,i+1,m;end牛頓割線法:function y=Secant(x1,x2,e)i=3;m(1)=x1,m(2)=x2;while abs(x2-x1)>=es1=f(x1);s2=f(x2);t=x2-(x2-x1)*s2(1)/(s2(1)-s1(1);x1=x2;x2=t;m(i)=t;i=i+1;enden=2*e;y=x2,i+1,m;endz=fai(y);t=x-(y-x)A2/(z-2*y+x);史蒂芬森迭代法:en=t-x;Functionx=t;p=StephensonIterative(x,e)i=2;m(i)=t

5、; i=i+1;m(2)=x;enden=2*e;p=x,i+1,m;while abs(en)>=eendy=fai(x);3. 因為 ?(?)經(jīng)常被使用,故可以寫一個 代碼如下:?(?)函數(shù)。function y=fai(x) s=f(x); y=x-s(1)/s(2);end4. 可以繪制不同的圖形來比擬不同迭代法的收斂性和不同初值下的收斂性 代碼如下:clear all ;%相同初始值,不同迭代法下的收斂 x1=dichotomie(0,3,1e-10); x2=NewtonIterative(0,1e-10); x3=Secant(0,2, 1e-10);x4=Stephens

6、onIterative(0,1e-10); x1(2),x2(2),x3(2),x4(2) figure,subplot(2,2,1),plot(x1(3:x1(2),title(' 二分法 ' );subplot(2,2,2),plot(x2(3:x2(2),title(' 牛頓迭代法 ' );subplot(2,2,3),plot(x3(3:x3(2),title(' 牛頓割線法 ' );subplot(2,2,4),plot(x4(3:x4(2),title(' 史蒂芬森迭代法 ' );figure,subplot(2,2,

7、1),plot(x1(4:x1(2)-1)-x1(1)./(x1(3:x1(2)-2)-x1(1),tit le( ' 二分法 ' );subplot(2,2,2),plot(x2(4:x2(2)-1)-x2(1)./(x2(3:x2(2)-2)-x2(1),tit le( ' 牛頓迭代法 ' ); subplot(2,2,3),plot(x3(4:x3(2)-1)-x3(1)./(x3(3:x3(2)-2)-x3(1),tit le( ' 牛頓割線法 ' ); subplot(2,2,4),plot(x4(4:x4(2)-1)-x4(1)./(

8、x4(3:x4(2)-2)-x4(1),tit le( ' 史蒂芬森迭代法 ' );%不同初始值,相同迭代法下的收斂性x5=dichotomie(-1,1,1e-10);x6=dichotomie(-2,3,1e-10); x7=dichotomie(0,4,1e-10);x8=dichotomie(-4,4,1e-10); x9=NewtonIterative(-2,1e-10);x10=NewtonIterative(-4,1e-10);x11=NewtonIterative(4,1e-10);x12=NewtonIterative(6,1e-10);figure,subp

9、lot(1,2,1),plot(1:x1(2)-2,x1(3:x1(2),1:x5(2)-2,x5(3:x5(2),1:x6(2)-2,x6(3:x6(2) ),1:x7(2)-2,x7(3:x7(2),1:x8(2)-2,x8(3:x8(2),title( ' 二分法 ' ); subplot(1,2,2),plot(1:x2(2)-2,x2(3:x2(2),1:x9(2)-2,x9(3:x9(2),1:x10(2)-2,x10(3:x10(2),1:x11(2)-2,x11(3:x11(2),1:x12(2)-2,x12(3:x12(2),title( ' 牛頓迭

10、代法 ' );x13=Secant(-1,1, 1e-10);x14=Secant(-4,5, 1e-10);x15=Secant(0,7, 1e-10);x16=Secant(-8,2, 1e-10); x17=StephensonIterative(-1,1e-10); x18=StephensonIterative(-4,1e-10);x19=StephensonIterative(4,1e-10);x20=StephensonIterative(6,1e-10);figure,subplot(1,2,1),plot(1:x3(2)-2,x3(3:x3(2),1:x13(2)-2

11、,x13(3:x13(2),1:x14(2)-2,x14(3:x14(2),1:x15(2)-2,x15(3:x15(2),1:x16(2)-2,x16(3:x16(2),title( ' 牛 頓割線法 ' );subplot(1,2,2),plot(1:x4(2)-2,x4(3:x4(2),1:x17(2)-2,x17(3:x17(2),1:x18(2)-2,x18(3: x18(2),1:x19(2)-2,x19(3:x19(2),1:x20(2)-2,x20(3:x20(2),title( ' 史蒂芬森迭代法;實驗結(jié)果:1.各個迭代值分布0.5牛頓迭代法0 050

12、100史蒂芬森迭代法1.5 0.5 -I f I 0 EE102468圖1.1不同迭代法下的得到的迭代值迭代值的情況如下:二分法牛頓迭代法牛頓割線法史蒂芬森迭代法00001.50000000000.20000000002.00000000001.35555555560.75000000000.37049180320.33333333330.98161652831.12500000000.50764420760.38071968010.99994600030.93750000000.61461894470.49828334190.99999999951.03125000000.697386909

13、80.57049963330.98437500000.76155380910.63938062441.00781250000.81154111860.69427858790.99609375000.85067638570.74116926531.00195312500.88144821230.78027159970.99902343750.90572974000.8132927871當二分法的初始區(qū)間選為0,3,誤差限為1 X1Q-10,牛頓迭代法初值選為0,誤差限為1 X1O-10 ,牛頓割線法初始點為0,2,誤差限為1 X10-5 ,史蒂芬森迭代法初始點選為0,誤差限為1 X1O-10,迭

14、代情況如下列圖。迭代次數(shù)分別為38次,100次,140次,9次。故而,史蒂芬森迭代法速度最快,效果最好2收斂情況牛頓迭代法【IJi5r9x 10分法0-5-100.8 0.7,0.6 -0.5 -0.4 c050100010203040史蒂芬森迭代法0.4 0.2-0'-0.2-0.4 *c"12345圖1.2不同迭代法下迭代值得收斂情況二分法收斂效果較差,牛頓迭代法和牛頓割線法相近,史蒂芬森迭代法收斂 次數(shù)高于1,效果最好3. 不同初值的收斂情況543210-1-2-3-450100150圖1.3二分法,牛頓迭代法下不同初值的收斂情況圖1.4牛頓割線法,史蒂芬森迭代法下不同

15、初值的收斂情況1. 二分法的五個初始區(qū)間分別為0,3,-1,1 ,-2,3 ,0,4,-4,4 ;2. 牛頓迭代法的五個初始值分別為0,-2, -4,4,6 ;3. 牛頓割線法的五個初始區(qū)間分別為0,2,-1,1 ,-4,5 ,0,7,-8,2 ;4. 史蒂芬森迭代法的五個初始值分別為0,-1, -4,4,6 ;由圖可知,它們最終均到達收斂。收斂性分析及結(jié)論:1. 二分法收斂較慢且不能求解崇根,但算法簡單;此處牛頓法具有了平方收斂; 從迭代次數(shù)上看,牛頓割線法較牛頓法的多,所以收斂性較差,是超線性收 斂;史蒂芬森迭代法收斂效果最好。2. 因為牛頓迭代法是局部的二次收斂,所以要注重初值的選取,本

16、次實驗中選擇的初值均得到了收斂,效果比擬好。牛頓割線法也應注意初值的選取。第三章實驗題目:1. 區(qū)間-1,1作等距劃分:2 ?= -1 + ? ? = 一 ?= 0 1 ? ? ?以??為結(jié)點對函數(shù)?= 梟進行插值逼近。(1) 分別??? = 1,5,10,20,25用牛頓插值對??進行逼近,并在同一坐標系下做 出函數(shù)的圖形,進行比擬。寫出插值函數(shù)對??的逼近程度與節(jié)點個數(shù)的 關(guān)系,并分析原因;(2) 試用三次樣條插值對??進行逼近,在同一坐標下畫出圖形,觀察樣條插 值函數(shù)對??的逼近程度與節(jié)點個數(shù)的關(guān)系;(3) 整體插值有何局限性?如何防止?2. 一組數(shù)據(jù)如下,求其擬合曲線.表2.1數(shù)據(jù)表?0

17、12345678910?23478101114161819?106.42108.2109.5110109.93110.49110.59110.6110.76111111.2(1)求以上數(shù)據(jù)形如???= ?+ ?1?+ ?的擬合曲線及其平方誤差;?(2) 求以上數(shù)據(jù)形如???=?的擬合曲線及其平方誤差;(3) 通過觀察12的結(jié)果,寫出你對數(shù)據(jù)擬合的認識問題分析:題目除上述要求之外還有以下幾點:1. 明確整體插值和分段插值的不同。牛頓插值多項式屬于整體插值,三次樣條 插值屬于低次分段插值。2. 將結(jié)果在同一坐標下繪制出。但是為了方便分析節(jié)點個數(shù)對于插值效果的影 響,也可以單獨繪制。3. 第二題中為

18、了確定各個參數(shù)的大小,可以進行適當變換,轉(zhuǎn)化為線性,運用 最小二乘法,得到擬合。實驗原理:牛頓插值多項式:對于給定的插值節(jié)點2? ?<?<? < ? < ?構(gòu)造次數(shù)不超過 ?的插值多項式? ?( ?)? = ?0?+ ?1?( ? ?- ?0?)+ ?2(?- ?0?)( ?- ?1?)+?+ ?(? ?)(? ?)? ?-1) 使其滿足插值條件?( ?)? = ?= ?( ?)? ?=? 0,1, , ? 這樣得到的插值多項式 ? ?( ? ?) 稱為 ?插?值?多?項式。系數(shù) ?為差商,可以 通過構(gòu)造差商表得到。三次樣條插值:三次樣條插值函數(shù) S(x) 在每個小區(qū)間

19、 ?-1 , ? ? 上為三次多 項式;在全進 ( ?, ?) 上存在二階連續(xù)導數(shù); 其次符合插值條件。 Matlab 中存在內(nèi) 置的三次樣條插值函數(shù),命令為 ? .實驗內(nèi)容:第一題:1. 牛頓插值函數(shù)的構(gòu)造代碼如下: function f=Newton(x0,y0)%牛頓多項式插值函數(shù)syms x;SZ=size(x0,2); a(1)=y0(1); y(:,1)=y0'for j=2:SZnx1=1;for i=1:SZ-j+1;nx2=nx1+j-1;y(i,j)=(y(i,j-1)-y(i+1,j-1)/(x0(nx1)-x0(nx2);nx1=nx1+1;endendf=y(

20、1,1);for j=2:SZff=y(1,j);for i=1:j-1ff=ff*(x-x0(i);endf=f+ff;endend2. 牛頓和三次樣條插值情況及比擬: 代碼如下: clear all ;clc;syms x;fx=1/(5+xA2);%牛頓多項式插值 x0=-1:0.01:1;y0=subs(fx,x0);n1=1,5,10,20,25;n2=5,55,60,62,67;h1=2./n1;h2=2./n2;x1=-1:h1(1):1; y1=subs(fx,x1); f1=Newton(x1,y1); y01=subs(f1,x0);x2=-1:h1(2):1; y2=su

21、bs(fx,x2); f2=Newton(x2,y2); y02=subs(f2,x0);x3=-1:h1(3):1; y3=subs(fx,x3); f3=Newton(x3,y3); y03=subs(f3,x0);x4=-1:h1(4):1; y4=subs(fx,x4); f4=Newton(x4,y4); y04=subs(f4,x0);x5=-1:h1(5):1; y5=subs(fx,x5); f5=Newton(x5,y5); y05=subs(f5,x0);figure,plot(x0,y0,x0,y01,x0,y02,x0,y03,x0,y04,x0,y05),title(

22、' 所有結(jié)果 ' );x6=-1:h2(1):1; y6=subs(fx,x6); f6=Newton(x6,y6); y06=subs(f6,x0);x7=-1:h2(2):1; y7=subs(fx,x7); f7=Newton(x7,y7); y07=subs(f7,x0);x8=-1:h2(3):1; y8=subs(fx,x8); f8=Newton(x8,y8); y08=subs(f8,x0);x9=-1:h2(4):1; y9=subs(fx,x9); f9=Newton(x9,y9); y09=subs(f9,x0); x10=-1:h2(5):1; y10=

23、subs(fx,x10); f10=Newton(x10,y10); y010=subs(f10,x0);figure, plot(x0,y0,x0,y06,x0,y07,x0,y08,x0,y09,x0,y010),title( %三次樣條插值 spline 自帶命令 x0=-5:0.01:5;y0=subs(fx,x0);figure, subplot(2,3,1),plot(x0,y0),title( ' 精確圖 ' ); y11=spline(x1,y1,x0);subplot(2,3,2),plot(x0,y11),title( y12=spline(x2,y2,x0

24、);subplot(2,3,3),plot(x0,y12),title( y13=spline(x3,y3,x0);subplot(2,3,4),plot(x0,y13),title( y14=spline(x4,y4,x0);subplot(2,3,5),plot(x0,y14),title( y15=spline(x5,y5,x0);subplot(2,3,6),plot(x0,y15),title( figure,plot(x0,y0,x0,y11,x0,y12,x0,y13,x0,y14,x0,y15),title( 第二題:代碼如下:clear all ;clc;x=2 3 4 7

25、8 10 11 14 16 18 19;y=106.42 108.2 109.5 110 109.93 110.49 110.59 110.6 110.76 111 111.2; %Agenda 1A=(x.*x)' x' ones(11,1);A1=A'*A;y1=A'*y'c1=A1y1x1=2:0.1:19;y1=polyval(c1,x1);plot(x,y, 'k*' ,x1,y1, 'r' ),gtext( ' 曲線一 ' ),hold on y01=polyval(c1,x);delta1_2

26、=sum(y-yO1).A2)龍格現(xiàn)象 ' );'n=1' );'n=5' );'n=10' );'n=20' );'n=25' );所有結(jié)果 ' );%Agenda 2xx=-1./x;yy=log(y);B=ones(11,1) xx'B1=B'*B;yy1=B'*yy'c2=B1yy1;syms s;a=exp(c2(1);b=c2(2);a bf=a*exp(-b/s);x2=x1;y2=subs(f,x2);plot(x2,y2, 'b' )

27、,gtext( ' 曲線二 ' );y02=subs(f,x);delta2_2=sum(y-yO2).A2)實驗結(jié)果:第一題:1. 牛頓插值結(jié)果所有結(jié)果圖2.1不同節(jié)點數(shù)的牛頓插值多項式綜合圖龍格現(xiàn)象圖2.2龍格現(xiàn)象由圖可知,2.三次樣條插值結(jié)果0.20.150.10.050-505精確圖-1n=110-505-505-5-5-5圖2.3不同節(jié)點下的三次樣條插值結(jié)果所有結(jié)果圖2.4不同節(jié)點數(shù)的三次樣條的綜合圖由圖可知,牛頓插值多項式在?較小的時候如5,10,20,25差值效果良好,當 ?變大時如60,62,65,67,100,200就出現(xiàn)了龍格現(xiàn)象,三次樣條在各個子區(qū)間內(nèi) 為

28、三次多項式,擬合效果好第二題1.第一問的多項式擬合得到的擬合曲線為?= 106.2927 + 0.6264?- 0.0205?平方誤差為備=2.7796第二問的擬合曲線為0.0903? = 111.4940?平方誤差為& = 0.47192.擬合曲線如下列圖1121111101091081071061121111101091081071062468 10121416 1820*曲線二曲線8 10121416 1820圖2.5擬合情況從圖中可以看出曲線二大體符合黑點的分布情況,擬合效果較好。結(jié)論:整體插值隨著節(jié)點個數(shù)的增多,多項式的次數(shù)也在升高。高次多項式的插值 會出現(xiàn)龍格現(xiàn)象,震蕩劇烈

29、,逼近效果不理想。但是當節(jié)點很多時,低次插值的 精度又不夠,所以為了防止這一局限性采用分段低次插值。 其中三次樣條插值有 良好的收斂性和光滑性,效果較好。數(shù)據(jù)擬合時,可以選擇趨勢相似的函數(shù)形式, 在求解相關(guān)參量時,將函數(shù)進 行適當變換,從而運用最小二乘法得到擬合結(jié)果。第四章實驗題目:設計區(qū)間分半求積算法、龍貝格求積算法和自適應辛普森求積算法的程序,觀察??= 1,10,100,500時,積分?cos(?)?的結(jié)果,并給出相應的評價問題分析:1. 分半求積算法即為復合梯度求積。2. 因為??越大,?= ?在 -1,1 內(nèi)震蕩地越嚴重,自適應辛普森求 積算法很難適用,計算復雜度會很高。所以選取辛普

30、森求積算法代替。實驗原理:分半求積算法:將區(qū)間?等分為??個小區(qū)間,分點為? ?= ?+ ? ? ?= 0 1 ??'利用定積分性質(zhì),有99 4? -1 ?+1廣? X 廣 ?(?)? ?=0 - ?每個小區(qū)間上均用梯形求積公式,有?212 ?(?o?-1?-1?/ ? 刀?(?) + ?(?知)+ 刀-? ?=0 ?=0?-1?-1?= 2 X ?(?)+ ?c?+1) = ?(?+ ?(?)+ ? X ?(?=0 ?=0即為復合梯形公式。龍貝格求積算法:將步長為?的復合梯形公式進行査爾遜外推,就得到龍貝格求積公式。自適應辛普森求積算法:按照被奇函數(shù)在區(qū)間上的變化來安排求積結(jié)點的辛普

31、森算法。實驗內(nèi)容:1. 寫得各個求積算法的函數(shù)代碼如下: 1分半求積算法:xk=a+k*h;functionyk=subs(y,xk);f=CompositeTrapezoida(n)f(i)=0;syms x;for j=1:m(i)y=x*x*cos(n*x);f(i)=f(i)+(yk(2*j-1)+4*yk(2*j)+ym=1:100;k(2*j+1);a=-1;endb=1;f(i)=h/3*f(i);for i=1:100endh=(b-a)/m(i);m;f'k=0:m(i);endxk=a+k*h;4龍貝格求積算法yk=subs(y,xk);f(i)=0;functio

32、n f=Romberg(n) epsilon=0.0001;for j=1:m(i)f(i)=f(i)+(yk(j)+yk(j+1);syms x;endy=x*x*cos(n*x);a=-1;f(i)=h/2*f(i);b=1;endh=b-a;end2辛普森算法fa=subs(y,a);function f=CompositeSimpson(n)fb=subs(y,b);T(1)=h/2*(fa+fb);syms x;m=1;y=x*x*cos(n*x);while 1m=1:100;h=h/2;a=b=1;k=1:(2Am-1);xk=a+k*h;for i=1:100h=(b-a)/(

33、2*m(i);yk=subs(y,xk);k=0:(2*m(i);su=sum(yk);S(1)=h/2*(fa+fb)+h*su;for i=1:mS(i+1)=S(i)+(S(i)-T(i)/(4"-1);endif (abs(S(m+1)-T(m)<epsilon)break ;endT=S;m=m+1;endf=S(m+1);end5自適應辛普森求積算法 function f=AdaptiveSimpson(n) epsilon=0.001;syms x;y=x*x*cos(n*x);a=-1;b=1;h=b-a;p=a b;p0=p;ep=epsilon;m=0;q=

34、0;f=0;while 1n1=length(ep);n=length(p0);if (n=1) break ; endh=p0(2)-p0(1);2. 各個求積公式下的積分結(jié)果 代碼如下 :k=0:4;yk=subs(y,p0(1)+k*h/4);s0=h/6*(yk(1)+4*yk(3)+yk(5);s1=h/12*(yk(1)+4*yk(2)+yk(3);s2=h/12*(yk(3)+4*yk(4)+yk(5);if (abs(s0-s1-s2)<15*ep(1)f=f+s1+s2;p0=p0(2:n);if n1>=2ep=ep(2:n1);endq=q+1;elsem=m

35、+1; p0=yk(1),yk(3),p0(2:n);if n1=1ep=ep(1)/2 ep(1)/2;elseep=ep(1)/2 ep(1)/2ep(2:n1);endif q=0p=p0;elsep=p(1:q) p0;endendendend%復合梯形法clear all ;clc;y11=CompositeTrapezoida(1);y12=CompositeTrapezoida(10);y13=CompositeTrapezoida(100);y14=CompositeTrapezoida(500);1:100;y11;y12;y13;y14'%復合辛普森法y21=Com

36、positeSimps on( 1);y22=CompositeSimpso n(10);y23=CompositeSimpso n(100);y24=CompositeSimpso n(500);2:2:200;y21;y22;y23;y24'%龍貝格法實驗結(jié)果:y31=Romberg(1);y32=Romberg(10);y33=Romberg(100);y34=Romberg(500);y31 y32 y33 y34%自適應辛普森法y41=AdaptiveSimps on (1)%以下復雜度太高不岀結(jié)果%y42=AdaptiveSimpso n(10);%y43=Adaptive

37、Simpso n(100);%y44=AdaptiveSimpso n(500);%y41 y42 y43 y44表3.1不同積分法得到的結(jié)果n110100500復合梯形法0.4782831994-0.1399401910-0.00601370080.0023823806復合辛普森法0.4782672530-0.1401909997-0.00985113540.0072247738龍貝格法0.4782672574-06112212333-0.2492135619結(jié)果評價:龍貝格法的精度高,最接近精確解。因為被積分函數(shù)為?= ?隨著?的增大,震蕩越劇烈。所以積分面積越來

38、越小。第五章實驗題目:1. 分別取步長?= 0.5,0.1,0.05,0.01,用龍格-庫塔法求解y' = ? ?1) = 1 ,3計算到t= 2 ,并與精確解?)?=警2比擬,觀察龍格-庫塔法的收斂性.2. 分別取步長?= 0.1,0.05,0.01,0.005,用顯示歐拉法和隱式歐拉法求解y'=-50y , y(0) = 100 ,由結(jié)果分析算法的穩(wěn)定性.3. 選擇某常微分方程初值問題的數(shù)值方法計算駕??的近似值,并保證有4位有效數(shù)字.問題分析:1.龍格-庫塔有很多的格式,第一題以常用的四級四階龍格庫塔方法為例。» 一 ? ? 一2假設,?= -?, 由 于sin

39、 t第三題可以轉(zhuǎn)化為求解常微分方程?-?= ?-的問題實驗原理:四級四階龍格-庫塔格式?+1 = ?+ (? + 2? + 2? + ?)6? = ?(?-?(? 2,?+2?)-?(?+ 2,?+ 2?)?(?+ ?, ?+ ?)?=?=?=實驗內(nèi)容:1.求解第一題代碼如下:clear all ;clc %以四級四階龍格庫塔格式為例 to=i; h=0.5 0.1 0.05 0.01;n=1./h+1;y1(1)=1;y2(1)=1;y3(1)=1;y4(1)=1;t1=1:0.5:2;t2=1:0.1:2;t3=1:0.0 5:2;t4=1:0.01:2;for j=2: n(1)k1=t

40、1(j-1)*y1(j-1)A(1/3);k2=(t1(j-1)+h(1)/2)*(y1(j-1)+(h(1)/2)*k1)A(1/3);k3=(t1(j-1)+h(1)/2)*(y1(j-1)+(h(1)/2)*k2)A(1/3);k4=t1(j)*(y1(j-1)+h(1)*k3)A(1/3);y1(j)=y1(j-1)+h(1)/6*(k1+2*k2+2*k3+k4);endfor j=2:n(2)k仁 t2(j-1)*y2(j-1)A(1/3);k2=(t2(j-1)+h(2)/2)*(y2(j-1)+(h(2)/2)*k1)A(1/3);k3=(t2(j-1)+h(2)/2)*(y2

41、(j-1)+(h(2)/2)*k2)A(1/3); k4=t2(j)*(y2(j-1)+h(2)*k3)A(1/3);y2(j)=y2(j-1)+h(2)/6*(k1+2*k2+2*k3+k4);endfor j=2:n(3)k1=t3(j-1)*y3(j-1)A(1/3);k2=(t3(j-1)+h(3)/2)*(y3(j-1)+(h(3)/2)*k1)A(1/3);k3=(t3(j-1)+h(3)/2)*(y3(j-1)+(h(3)/2)*k2)A(1/3); k4=t3(j)*(y3(j-1)+h(3)*k3)A(1/3);y3(j)=y3(j-1)+h(3)/6*(k1+2*k2+2*

42、k3+k4);endfor j=2:n(4)k1=t4(j-1)*y4(j-1)A(1/3);k2=(t4(j-1)+h(4)/2)*(y4(j-1)+(h(4)/2)*k1)A(1/3);k3=(t4(j-1)+h(4)/2)*(y4(j-1)+(h(4)/2)*k2)A(1/3); k4=t4(j)*(y4(j-1)+h(4)*k3)A(1/3);y4(j)=y4(j-1)+h(4)/6*(k1+2*k2+2*k3+k4);end x=1:0.01:2;syms tyy=(tA2+2)/3)A(3/2); yy1=subs(yy,x);figure,');'h=0.5

43、9;);'h=0.1''h=0.05');'h=0.01');所有結(jié)果 ');subplot(2,3,1),plot(x,yy1),title(' 精確值subplot(2,3,2),plot(x,yy1,t1,y1),title(subplot(2,3,3),plot(x,yy1,t2,y2),title( subplot(2,3,4),plot(x,yy1,t3,y3),title( subplot(2,3,5),plot(x,yy1,t4,y4),title(subplot(2,3,6),plot(x,yy1,t1,y1,t

44、2,y2,t3,y3,t4,y4),title(2. 求解第二題代碼如下:clear all t0=0;a=0.25;%通過更改 a ,更改取值區(qū)間syms t yy=exp(-50*t);x=0:0.001:a; yy1=subs(yy,x);h=0.1 0.05 0.01 0.005;n=a./h+1;t1=0:0.1:a;t2=0:0.05:a;t3=0:0.01:a;t4=0:0.005:a;%顯式歐拉法 y1(1)=100;y2(1)=100;y3(1)=100;y4(1)=100;gtext( 'h=0.1'),gtext('h=0.05'),gte

45、xt('h=0.01'),gtext('h=0.005');forj=2:n(1)y1(j)=y1(j-1)+h(1)*(-50)*y1(j-1);endforj=2:n(2)y2(j)=y2(j-1)+h(2)*(-50)*y2(j-1);endforj=2:n(3)y3(j)=y3(j-1)+h(3)*(-50)*y3(j-1);endforj=2:n(4)y4(j)=y4(j-1)+h(4)*(-50)*y4(j-1);endfigure,plot(x,yy1,t1,y1,t2,y2,t3,y3,t4,y4),%隱式歐拉法y5(1)=100;y6(1)=1

46、00;y7(1)=100;y8(1)=100;forj=2:n(1)y5(j)=y5(j-1)/(50*h(1)+1);endforj=2:n(2)y6(j)=y6(j-1)/(50*h(2)+1);endforj=2:n(3)y7(j)=y7(j-1)/(50*h(3)+1);endforj=2:n(4)y8(j)=y8(j-1)/(50*h(4)+1);endfigure,plot(x,yy1,t1,y5,t2,y6,t3,y7,t4,y8),gtext( 'h=0.1' ),gtext('h=0.05'),gtext('h=0.01'),g

47、text('h=0.005'%相同步長下的穩(wěn)定性比擬figuresubplot(2,2,1),plot(x,yy1,'k',t1,y1,'b' ,t1,y5,'r' ),title('h=0.1'subplot(2,2,2),plot(x,yy1,'k',t2,y2,'b' ,t2,y6,'r' ),title('h=0.05'subplot(2,2,3),plot(x,yy1,'k',t3,y3,'b' ,t3,y7,

48、'r' ),title('h=0.01'););););'h=0.005';subplot(2,2,4),plot(x,yy1,'k',t4,y4,'b',t4,y8,'r' ),title(3. 求解第三題代碼如下:%防止t=0作分母,所以用隱式歐拉法clear all ;t0=0;h=0.0005 0.0001 0.00005;n=1./h+1;y1(1)=5;y2(1)=5;y3(1)=5;y4(1)=5;t1=0:0.0005:1;t2=0:0.0001:1;t3=0:0.00005:1;f

49、orj=2:n (1)y1(j)=y1(j-1)+h(1)*si n(t1(j)/t1(j);endforj=2:n (2)y2(j)=y2(j-1)+h (2) *si n(t2(j)/t2(j);endforj=2:n (3)y3(j)=y3(j-1)+h (3) *si n(t3(j)/t3(j);endformat longy(1)=y1( n(1)-y1(1);y(2)=y2( n( 2)-y2(1);y(3)=y3( n(3)-y3(1);y實驗結(jié)果:1. 第一題結(jié)果3-3/3/2.5- -2.52.5/jV/2P/J2 /2/1.5/|1.51.5/1/: 11/精確值h=0.5

50、h=0.11.51.51.5h=0.01所以結(jié)果h=0.0511.52圖4.1不同步長下的四級龍格-庫塔的解2.顯示歐拉法求解結(jié)果20001500h=0.11000500-500h=0.05h=0.01 h=0.005-1000 L00.050.10.150.20.25圖4.2不同步長下的顯式歐拉法的解隱式歐拉法求解結(jié)果90807060504030h=0.1h=0.05h=0.01I1h=0.00520 -10 -0匚00.050.10.150.20.25圖4.3不同步長下的隱式歐拉法的解顯式與隱式的穩(wěn)定性比擬結(jié)果1 w1000' 1- 5000+ f1V-500r-1000,L-h=

51、0.1h=0.05200010000-10000.10.20.30.40.10.20.30.4h=0.01100 h=0.005100 0 L00.10.20.30.450 -000.10.20.30.4圖4.4不同步長下顯式與隱式的穩(wěn)定性比擬3. 第三題結(jié)果表4.1不同步長下的積分結(jié)果步長?0.00050.00010.00005積分結(jié)果0.9460434318390180.9460751436654500.946079107079003題目要求保證有4位有效數(shù)字,所以所求結(jié)果為:0.9461 結(jié)果分析:四級四階龍格庫塔法具有大范圍的收斂性。四級四階龍格庫塔法每計算一步需要計算四次的值,計算有

52、一定的復雜性。當步長?為0.1和0.05時顯式歐拉法不具有穩(wěn)定性。隱式歐拉法在各個步長 下的穩(wěn)定情況相似,均有較好的穩(wěn)定性。第六章實驗題目:使用列主元高斯消去法解希爾伯特矩陣??= (? X方程組??= ?考察給定的??= 5,10,20,50,100及相應的?寸結(jié)果的變化,分析其中的原因并給出結(jié) 論,其中?= 1/(?+ ? 1)問題分析:1. 希爾伯特矩陣是病態(tài)的,?的微小變化會造成解發(fā)生很大變化。2. 刻畫矩陣病態(tài)程度的量為條件數(shù)。條件數(shù)越大,矩陣性能越差??梢杂嬎銞l 件數(shù)來分析解變化很大的現(xiàn)象。實驗原理:高斯列主元素消元法:將矩陣??按列取絕對值最大項進行行行調(diào)換,將其以 下局部消為0,不斷循環(huán)直到??化為上三角的過程。實驗內(nèi)容:1. 高斯列主元素消元法函數(shù)代碼如下:fun cti onA b=Gauss

溫馨提示

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

最新文檔

評論

0/150

提交評論