版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算方法第二次上機作業(yè)Gegebao摘要:程序基于MATLAB,包括問題陳述、算法與程序、結(jié)果與分析、討論四個部分。一 、問題陳述 數(shù)學(xué)上已經(jīng)證明了:0141+x2dx=成立,所以可以通過積分來計算的近似值。(1) 分別使用矩形、梯形和Simpson復(fù)合求積公式計算的近似值。選擇不同的h,對于每種求積公式,試將誤差刻畫成h的函數(shù),并比較各方面的精度。是否存在某個h值,當(dāng)?shù)陀谶@個值之后,再繼續(xù)減少h的值,計算不再有所改進(jìn)?為什么?(2) 實現(xiàn)Romberg求積方法,并重復(fù)上面的計算。(3) 使用自適應(yīng)求積方法重復(fù)上面的計算。二、 算法與程序1矩形求積法考慮到對于具體的某一個h,不一定能整數(shù)個地覆
2、蓋積分空間,將會嚴(yán)重地影響算法精度。于是我們用n代替h,即將積分區(qū)間劃分為n個區(qū)間,h=1/n。函數(shù)將輸出積分結(jié)果Rec和這個結(jié)果對于精確的的誤差的對數(shù)值r。function Rec r = rec( n ) h=1/n; %求出對應(yīng)的hRec=0;for i=1:n x0=h*(i-1/2); %求出每一區(qū)間的中心點的橫坐標(biāo) Rec=Rec+h*4/(1+x02);endr=log10(abs(Rec-pi); %取其誤差的對數(shù)end2.梯形求積法 和矩形法一樣,采用n來標(biāo)度取點密度。同樣輸出積分結(jié)果Lad和這個結(jié)果對于精確的的誤差的對數(shù)值r。function Lad r = lad( n)
3、 h=1/n;Lad=0;for i=1:n x0=h*(i-1); x1=x0+h; 取得每個區(qū)間的端點的橫坐標(biāo) Lad=Lad+h/2*(4/(1+x02)+4/(1+x12);endr=log10(abs(Lad-pi);end3.Simpson求積法 輸入取點數(shù)目n,h=1/n, 輸出積分結(jié)果Simp和這個結(jié)果對于精確的的誤差的對數(shù)值r。function Simp ,r = simp( n)h=1/n; Simp=0;for i=1:n x0=h*(i-1); x1=x0+h/2; x2=x1+h/2; Simp=Simp+h/6*(4/(1+x02)+4*4/(1+x12)+4/(1
4、+x22);endr=log10(abs(Simp-pi);end4.Romberg求積法 輸入最初取點數(shù)目n(h=1/n)和需求遞推下去的步數(shù)k, 輸出積分結(jié)果Rom和這個結(jié)果對于精確的的誤差的對數(shù)值r。function Rom,r = rom(n,k)for i=1:k; a(i,1) c=lad(2(i-1)*n); %調(diào)用lad函數(shù),求出遞推矩陣第一列的數(shù)值endfor i=2:k for j=1:k-i+1 a(j,i)=(a(j+1,i-1)-4(1-i)*a(j,i-1)/(1-4(1-i); endendRom=a(1 ,k);r=log10(abs(Rom-pi);end5.
5、分別基于前幾種算法的自適應(yīng)算法(1)基于矩形法 輸入初始的取點數(shù)n(h=1/n)和所需要的精度的對數(shù)值e,輸出積分結(jié)果對于精確的的誤差的對數(shù)值r。 function r = Arec(n,e)temp0=0;temp1=1; %temp0為T(h),Temp1為T(h/2)while(log10(abs(temp0-temp1)>e) temp0=temp1; n=n*2; temp1=rec(n);endr=log10(abs(temp1-pi);end (2)基于梯形法 輸入初始的取點數(shù)n(h=1/n)和所需要的精度的對數(shù)值efunction r = Alad( n,e)temp0=
6、0;temp1=1;while(log10(abs(temp0-temp1)>e) temp0=temp1; n=n*2; temp1=lad(n);endr=log10(abs(temp1-pi);end(3)基于Simpson法 輸入初始的取點數(shù)n(h=1/n)和所需要的精度的對數(shù)值efunction r = Asimp( n,e)temp0=0;temp1=1;while(log10(abs(temp0-temp1)>e) temp0=temp1; n=n*2; temp1=simp(n);endr=log10(abs(temp1-pi);end(4)基于Romberg法 輸
7、入初始的取點數(shù)n(h=1/n)和所需要的精度的對數(shù)值e,取遞推步數(shù)k=5function r = Arom( n,e)temp0=0;temp1=1;while(log10(abs(temp0-temp1)>e) temp0=temp1; n=n*2; temp1=rom(n,5);endr=log10(abs(temp1-pi);end三、結(jié)果與分析使用之前的積分函數(shù)進(jìn)行運算??紤]到h的變化范圍比較大,將h等比例地從1取到10(-7),取200個點。最后將h和誤差按對數(shù)輸出成圖像。1.矩形積分法運行代碼: for i=1:200 h0(i)=-i*7/200; n=fix(10(-h0
8、(i); r Rrec(i)=rec(n); endplot(h0,Rrec,'b');分析:求積方法的最高精度可以達(dá)到10(-14)到10(-15)之間,而當(dāng)h取到10(-6)時,繼續(xù)提高取點密度對算法精度沒有改進(jìn)。而在此之前,精度和h的關(guān)系幾乎是線性的。2.梯形求積法運行代碼:for i=1:200 h0(i)=-i*7/200; n=fix(10(-h0(i); r Rlad(i)=lad(n);endplot(h0,Rlad,'b');分析:求積方法的最高精度可以達(dá)到10(-14)到10(-15)之間,而當(dāng)h取到10(-6)時,精度隨h取小開始波動,繼續(xù)
9、減小h并不能保證精度的增加。而在此之前,精度和h的關(guān)系幾乎是線性的。3.Simpson求積法運行代碼:for i=1:200 h0(i)=-i*7/200; n=fix(10(-h0(i) r Rsimp(i)=simp(n);endplot(h0,Rsimp,'b');分析:求積方法的最高精度可以達(dá)到10(-15)到10(-16)之間,而當(dāng)h取到10(-2)時,精度隨h取小開始波動,繼續(xù)減小h并不能保證精度的增加。而在此之前,精度和h的關(guān)系幾乎是線性的。圖像上存在間斷點,實際上是由于求積方法的精度已經(jīng)超過MATLAB所給出的值,計算機得到的誤差為零,求對數(shù)運算無意義,故出現(xiàn)間
10、斷點。4.三種算法的精度比較在進(jìn)行前三個積分法的運算的時候,已經(jīng)分別記錄了結(jié)果,直接輸出就行。運行代碼:plot(h0,Rrec,'b');hold on;plot(h0,Rlad,'r');hold on;plot(h0,Rsimp,'k');hold on;分析:對于相同的h值,在很長的范圍內(nèi),Simpson的精度明顯高于另兩種算法,而矩形法又比梯形法略優(yōu)。三種算法的極限精度以Simpson為最好,可以達(dá)到10(-15)到10(-16)之間。5Romberg積分法(固定遞推步數(shù)為5,基于梯形算法)運行代碼:k=5for i=1:200 h0(
11、i)=-i*7/200; n=fix(10(-h0(i) r Rrom(i)=rom(n,k);endplot(h0,Rrom,'b');分析:可以看出,積分精度隨h減小提高地非常快。在(-1,0)這個區(qū)間里,便出現(xiàn)了間斷點,說明算法的精度已經(jīng)達(dá)到MATLAB所能達(dá)到的精度,從而誤差變?yōu)榱悖髮?shù)運算無意義,出現(xiàn)間斷點??v觀函數(shù),最高精度應(yīng)在10(-15)到10(-16)之間。6.自適應(yīng)算法(取自適應(yīng)精度為10(-10)):(1)基于矩形算法 運行代碼:for i=1:200 h0(i)=-i*7/200; n=fix(10(-h0(i) Rarec(i)=Arec(n,-10
12、);endplot(h0,Rarec,'b');(2)基于梯形算法:運行代碼:for i=1:200 h0(i)=-i*7/200; n=fix(10(-h0(i) Ralad(i)=Alad(n,-10);endplot(h0,Ralad,'b');(3)基于Simpson算法 運行代碼:for i=1:200 h0(i)=-i*7/200; n=fix(10(-h0(i) Rasimp(i)=Asimp(n,-10);endplot(h0,Rasimp,'b');(4)基于Romberg算法( 固定遞推步數(shù)為五步) 運行代碼:for i=1:
13、200 h0(i)=-i*7/200; n=fix(10(-h0(i) Rarom(i)=Arom(n,-10);endplot(h0,Rarom,'b');分析:當(dāng)本來的算法精度低于所給出的自適應(yīng)精度時,自適應(yīng)算法對本來算法的精度是有改進(jìn)作用的,并使算法精度略高于所給出的自適應(yīng)精度。但是當(dāng)算法對于具體的h得到的結(jié)果的精度高于自適應(yīng)給出的精度時,自適應(yīng)算法則對原本的算法無改進(jìn)作用。而且有些算法的精度隨h的減小提高得特別快(比如說Romberg算法),使用自適應(yīng)算法后算法精度會明顯高于給出的自適應(yīng)精度。四、討論 算法的精度主要取決于算法本身、h的大小和機器誤差。幾種算法的精確程度不同,但都要受制于機器本身的誤差,不可能無限地提高精度。當(dāng)然,并不是說
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黏膜白斑的臨床護(hù)理
- 《政府的宗旨和原則》課件
- 《保險費率策略》課件
- 建立高效團(tuán)隊合作的前臺策略計劃
- 《數(shù)字分析》課件
- 班級心理劇的實踐與反思計劃
- 設(shè)計方案委托合同三篇
- 地震前兆觀測儀器相關(guān)行業(yè)投資規(guī)劃報告
- 《液壓與氣動》課件 3氣動-壓力控制閥
- 高檔零售商場租賃合同三篇
- 新概念英語第二冊Lesson66(共38張)課件
- 銀行保險理財沙龍.ppt課件
- 醫(yī)院患者診療信息安全風(fēng)險評估和應(yīng)急工作機制制定應(yīng)急預(yù)案XX醫(yī)院患者診療信息安全風(fēng)險應(yīng)急預(yù)案
- 科技論文寫作PPTPPT通用課件
- 漆洪波教授解讀美國婦產(chǎn)科醫(yī)師學(xué)會“妊娠高血壓疾病指南2013版”
- 《劉姥姥進(jìn)大觀園》課本劇劇本3篇
- 低壓配電室安全操作規(guī)程
- 廣東省醫(yī)療機構(gòu)應(yīng)用傳統(tǒng)工藝配制中藥制劑首次備案工作指南
- 大學(xué)英語議論文寫作模板
- 安川機器人遠(yuǎn)程控制總結(jié) 機器人端
- 良性陣發(fā)性位置性眩暈診療和治療
評論
0/150
提交評論