版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗一實驗項目:共軛梯度法求解對稱正定的線性方程組實驗內(nèi)容:用共軛梯度法求解下面方程組(1) 迭代20次或滿足時停止計算。編制程序:儲存m文件function x,k=CGmethod(A,b)n=length(A);x=2*ones(n,1);r=b-A*x;rho=r*r;k=0;while rho10(-11) & k10(-7)&k104 k=k+1; if k=1 p=r; else beta=(r1*r1)/(r*r);p=r1+beta*p; end r=r1; w=A*p; alpha=(r*r)/(p*w); x=x+alpha*p; r1=r-alpha*w;end運行程序
2、:clear,clcn=1000;A=hilb(n);b=sum(A);x,k=CGmethod(A,b)實驗二1、 實驗目的:用復化Simpson方法、自適應復化梯形方法和Romberg方法求數(shù)值積分。實驗內(nèi)容:計算下列定積分(1) (2) (3) 實驗要求:(1)分別用復化Simpson公式、自適應復化梯形公式計算要求絕對誤差限為,輸出每種方法所需的節(jié)點數(shù)和積分近似值,對于自適應方法,顯示實際計算節(jié)點上離散函數(shù)值的分布圖;(2)分析比較計算結(jié)果。程序:syms xf=x6/10-x2+x %定義函數(shù)f(x)n=input(輸入所求導數(shù)階數(shù):) f2=diff(f,x,n) %求f(x)的n
3、階導數(shù)(1)復化梯形clcclearsyms x %定義自變量xf=inline(x6/10-x2+x,x) %定義函數(shù)f(x)=x*exp(x),換函數(shù)時只需換該函數(shù)表達式即可f2=inline(3*x4 - 2,x) %定義f(x)的二階導數(shù),輸入程序1里求出的f2即可。f3=-(3*x4 - 2) %因fminbnd()函數(shù)求的是表達式的最小值,且要求表達式帶引號,故取負號,以便求最大值e=0.5*10(-7) %精度要求值 a=0 %積分下限b=2 %積分上限x1=fminbnd(f3,1,2) %求負的二階導數(shù)的最小值點,也就是求二階導數(shù)的最大值點對應的x值for n=2: %求等分
4、數(shù)n Rn=-(b-a)/12*(b-a)/n)2*f2(x1) %計算余項 if abs(Rn)e %用余項進行判斷 break % 符合要求時結(jié)束 endendh=(b-a)/n %求hTn1=0 for k=1:n-1 %求連加和 xk=a+k*h Tn1=Tn1+f(xk)endTn=h/2*(f(a)+2*Tn1+f(b)z=exp(2)R=Tn-z %求已知值與計算值的差stem(xk,Tn1);fprintf(用復化梯形算法計算的結(jié)果 Tn=)disp(Tn)fprintf(等分數(shù) n=)disp(n) %輸出等分數(shù)fprintf(已知值與計算值的誤差 R=)disp(R)(2)
5、復化Simpsonclcclearsyms x %定義自變量xf=inline(x6/10-x2+x,x) %定義函數(shù)f(x)=x*exp(x),換函數(shù)時只需換該函數(shù)表達式即可f2=inline(36*x2,x) %定義f(x)的四階導數(shù),輸入程序1里求出的f2即可f3=-(36*x2) %因fminbnd()函數(shù)求的是表達式的最小值,且要求表達式帶引號,故取負號,一邊求最大值e=5*10(-8) %精度要求值 a=0 %積分下限b=2 %積分上限x1=fminbnd(f3,1,2) %求負的四階導數(shù)的最小值點,也就是求四階導數(shù)的最大值點對應的x值for n=2: %求等分數(shù)n Rn=-(b-
6、a)/180*(b-a)/(2*n)4*f2(x1) %計算余項 if abs(Rn)e %用余項進行判斷 break % 符合要求時結(jié)束 endendh=(b-a)/n %求hSn1=0 Sn2=0for k=0:n-1 %求兩組連加和 xk=a+k*h xk1=xk+h/2 Sn1=Sn1+f(xk1) Sn2=Sn2+f(xk)end Sn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a)+f(b) %因Sn2多加了k=0時的值,故減去f(a)z=exp(2)R=Sn-z %求已知值與計算值的差fprintf(用Simpson公式計算的結(jié)果 Sn=)disp(Sn)fprintf(
7、等分數(shù) n=)disp(n) fprintf(已知值與計算值的誤差 R=)disp(R)結(jié)果:用復化梯形算法計算的結(jié)果 Tn= 1.6674等分數(shù) n= 24764已知值與計算值的誤差 R= -6.3976用Simpson公式計算的結(jié)果 Sn= 1.0434等分數(shù) n= 76已知值與計算值的誤差 R= -6.0216用復化梯形算法計算的結(jié)果 Tn= 0.8985等分數(shù) n= 1119已知值與計算值的誤差 R= -6.1665用Simpson公式計算的結(jié)果 Sn= 0.9406等分數(shù) n= 8已知值與計算值的誤差 R= -6.1245用復化梯形算法計算的結(jié)果 Tn= 23.2353等分數(shù) n=
8、已知值與計算值的誤差 R= 16.1704用Simpson公式計算的結(jié)果 Sn= 23.2617等分數(shù) n= 10647已知值與計算值的誤差 R= 16.1969分析:在處理問題時,復化Simpson要比復化梯度計算速度要快很多。2、實驗目的:高斯數(shù)值積分方法用于積分方程求解。實驗內(nèi)容:線性的積分方程的數(shù)值求解,可以被轉(zhuǎn)化為線性代數(shù)方程組的求解問題。而線性代數(shù)方程組所含未知數(shù)的個數(shù),與用來離散積分的數(shù)值方法的節(jié)點個數(shù)相同。在節(jié)點數(shù)相同的前提下,高斯數(shù)值積分方法有較高的代數(shù)精度,用它通常會得到較好的結(jié)果。對第二類Fredholm積分方程首先將積分區(qū)間a,b等分成n份,在每個子區(qū)間上離散方程中的積
9、分就得到線性代數(shù)方程組。實驗要求:分別使用如下方法,離散積分方程中的積分1.復化梯形方法;2.復化辛甫森方法;3.復化高斯方法。求解如下的積分方程,方程的準確解為,并比較各算法的優(yōu)劣。程序結(jié)果:當?shù)螖?shù)n=1時精確解1.0000 1.2840 1.6487 2.1170 2.7183 復化梯形方法0.8591 1.1032 1.4165 1.81882.3354復化辛甫森方法0.9993 1.2832 1.6476 2.1156 2.7165復化高斯方法1.0004 1.2846 1.6495 2.1180 2.7195復化梯形方法的平均誤差err=0.247復化辛甫森方法的平均誤差err=
10、0.00116復化高斯方法的平均誤差err=0.0008當?shù)螖?shù)n=5時,精確解1.0000 1.2840 1.6487 2.1170 2.7183 復化梯形方法0.9934 1.2755 1.6378 2.1030 2.7003 復化辛甫森方法1.0000 1.2840 1.6487 2.1170 2.7183復化高斯方法1.0000 1.2840 1.6487 2.1170 2.7183復化梯形方法的平均誤差err=0.00116復化辛甫森方法和復化高斯方法的平均誤差err=0可以看出,復化高斯方法得到的結(jié)果精度最高,復化辛普森方法比復化梯形方法的精度要高,程序:clear,clca=0
11、;b=1;n=5;figurefun1(a,b,n);hold ona=0;b=1;n=5;figurefun2(a,b,n);hold onfigurefun3(a,b,n);編制m函數(shù):function y=Kfun(t,s)y=2/(exp(1)-1)*exp(t);function y=ffun(t)y=-exp(t);function y=Fexc(t)%精確解y=exp(t);function x,w=fhgauss(a,b,n)h=(b-a)/n;x1=a:h:b;x=zeros(1,2*n);w=x;for i=1:nx(2*i-1:2*i),w(2*i-1:2*i)=Gaus
12、sLegendre(x1(i),x1(i+1),2);endfunction x,w=fhsimpson(a,b,n)h=(b-a)/n;x=a:h/2:b;w=x;w(1)=h/6;w(2*n+1)=h/6;for i=1:nw(2*i)=2/3*h;if in w(2*i+1)=h/3;endendfunction x,w=fhtrapz(a,b,n)h=(b-a)/n;x=a:h:b;for i=1:n+1 if i=1|i=n+1 w(i)=h/2; else w(i)=h; endendfunction x,w=GaussLegendre(a,b,n)i=1:n-1;c=i./sqr
13、t(4*i.2-1);CM=diag(c,1) + diag(c,-1);V L=eig(CM);x ind=sort(diag(L);V=V(:,ind);w=2*V(:,1).2;x=x*(b-a)/2+(b+a)/2;w=w*(b-a)/2;function fun1(a,b,n)x1,w1=fhtrapz(a,b,n);n1=4;n=n+1;h=(b-a)/n1;x=a:h:b;y0=Fexc(x);A=zeros(n,n);B=zeros(n,1);for i=1:nB(i)=ffun(x1(i);endfor i=1:nfor j=1:n A(i,j)=w1(j)*Kfun(x1(
14、i),x1(j); endendA=eye(n)-A;y1=(AB);yN=x;for i=1:n1+1yN(i)=ffun(x(i);for j=1:nyN(i)=yN(i)+w1(j)*Kfun(x(i),x1(j)*y1(j);endendfprintf(數(shù)值解:n)yNfprintf(精確解:n)y0plot(x,yN,x,x,y0,.);h=legend(復化值,真實值);function fun2(a,b,n)x1,w1=fhsimpson(a,b,n);n=2*n+1;n1=50;h=(b-a)/n1;x=a:h:b;y0=Fexc(x);A=zeros(n,n);B=zeros
15、(n,1);for i=1:nB(i)=ffun(x1(i);endfor i=1:nfor j=1:n A(i,j)=w1(j)*Kfun(x1(i),x1(j); endendA=eye(n)-A;y1=(AB);yN=x;for i=1:n1+1yN(i)=ffun(x(i);for j=1:nyN(i)=yN(i)+w1(j)*Kfun(x(i),x1(j)*y1(j);endendfprintf(數(shù)值解:n)yNfprintf(精確解:n)y0plot(x,yN,x,x,y0,.);h=legend(復化值,真實值);function fun3(a,b,n)x1,w1=fhgauss
16、(a,b,n);n=2*n;n1=4;h=(b-a)/n1;x=a:h:b;y0=Fexc(x);A=zeros(n,n);B=zeros(n,1);for i=1:nB(i)=ffun(x1(i);endfor i=1:nfor j=1:n A(i,j)=w1(j)*Kfun(x1(i),x1(j); endendA=eye(n)-A;y1=(AB);yN=x;for i=1:n1+1yN(i)=ffun(x(i);for j=1:nyN(i)=yN(i)+w1(j)*Kfun(x(i),x1(j)*y1(j);endendfprintf(數(shù)值解:n)yNfprintf(精確解:n)y0pl
17、ot(x,yN,x,x,y0,.);h=legend(復化值,真實值);圖一圖二圖三實驗三1、對常微分方程初值問題 分別使用Euler顯示方法、改進的Euler方法和經(jīng)典RK法和四階Adams預測-校正算法,求解常微分方程數(shù)值解,并與其精確解進行作圖比較。其中多步法需要的初值由經(jīng)典RK法提供。程序:子程序function E=Euler(fun,x0,y0,h,N)x=zeros(1,N+1);y=zeros(1,N+1);x(1)=x0;y(1)=y0;for n=1:Nx(n+1)=x(n)+h;y(n+1)=y(n)+h*feval(fun,x(n),y(n);endx1=xy1=ypl
18、ot(x1,y1,k)hold onfunction E=Euler_modify(fun,x0,y0,h,N)x=zeros(1,N+1);y=zeros(1,N+1);x(1)=x0;y(1)=y0;for n=1:Nx(n+1)=x(n)+h;z0=y(n)+h*feval(fun,x(n),y(n);y(n+1)=y(n)+h/2*(feval(fun,x(n),y(n)+feval(fun,x(n+1),z0);endx2=xy2=yplot(x2,y2,g)function x,y=Rk_N4(f,x0,y0,h,N) x=zeros(1,N+1);y=zeros(1,N+1);
19、x(1)=x0;y(1)=y0; for n=1:N x(n+1)=x(n)+h; k1=h*feval(f,x(n),y(n); k2=h*feval(f,x(n)+1/2*h,y(n)+1/2*k1); k3=h*feval(f,x(n)+1/2*h,y(n)+1/2*k2); k4=h*feval(f,x(n)+h,y(n)+k3); y(n+1)=y(n)+1/6*(k1+2*k2+2*k3+k4); end 運行以下程序clcclearEuler(fun,0,1,0.1,100)Euler_modify(fun,0,1,0.1,100)x,y=Rk_N4(fun,0,1,0.1,10
20、0)plot(x,y,-*r)hold onx1=0:0.1:pi;y1=cos(x1)+sin(x1)plot(x1,y1,-.b)title(誤差分析);xlabel(x軸);ylabel(y軸);legend(Euler,Euler改進法,R_K法,精確);axis(0 pi -1.5 1.5);grid on畫出圖形進行比較:2、實驗目的:Lorenz問題與混沌實驗內(nèi)容:考慮著名的Lorenz方程 其中s, r, b為變化區(qū)域有一定限制的實參數(shù)。該方程形式簡單,表面上看并無驚人之處,但由該方程揭示出的許多現(xiàn)象,促使“混沌”成為數(shù)學研究的嶄新領(lǐng)域,在實際應用中也產(chǎn)生了巨大的影響。實驗方法:先取定初值Y0=(x, y, z)=(0, 0, 0),參數(shù)s=10, r=28, b=8/3,用MATLAB編程數(shù)值求解,并與MATLAB函數(shù)ods45的計算結(jié)果進行對比。實驗要求:(1)對目前取定的參數(shù)值s, r和b,選取不同的初值Y0進行運算,觀察計算的結(jié)果有什么特點?解的曲線是否有界?解的曲線是不是周期的或趨于某個固定點?(2)在問題允許的范圍內(nèi)適當改變其中的參數(shù)值s, r, b,再選取不同的初始值Y0進行試算,觀察并記錄計算的結(jié)果有什么特點?是否發(fā)現(xiàn)什么不同的現(xiàn)象?
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高效房地產(chǎn)經(jīng)紀服務(wù)協(xié)議示例
- 2024年融資中介服務(wù)協(xié)議范本
- 2024年二手車交易協(xié)議樣本
- 2024年商用司機短期租賃協(xié)議
- DB11∕T 1692-2019 城市樹木健康診斷技術(shù)規(guī)程
- DB11∕T 1699-2019 在用氨制冷壓力管道X射線數(shù)字成像檢測技術(shù)要求
- 2024年工程裝修全包服務(wù)協(xié)議細則
- 2024年離婚財產(chǎn)分割協(xié)議格式
- 2024年法律顧問聘請協(xié)議樣本
- 2024指定區(qū)域建筑工程修復施工協(xié)議
- 零部件英文縮寫及零部件中英文對照
- 血源性病原體職業(yè)接觸防護導則
- 煉鋼廠6機6流小方坯連鑄機技術(shù)操作規(guī)程
- 跌倒的護理 (養(yǎng)老護理員培訓課件)
- 船舶租賃盡職調(diào)查
- 統(tǒng)編教學小學語文課外閱讀《細菌世界歷險記》導讀課課件
- 植物生理學-植物的逆境生理
- 【課件】比的基本性質(zhì)
- 小學英語人教新起點五年級上冊Unit3Animalsunit3storytime
- 2023年江蘇省淮安市中考化學試卷
- 小學英語名師工作室工作計劃2篇
評論
0/150
提交評論