歐拉法解常微分方程_第1頁
歐拉法解常微分方程_第2頁
歐拉法解常微分方程_第3頁
歐拉法解常微分方程_第4頁
歐拉法解常微分方程_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)學(xué)與計算科學(xué)學(xué)院實 驗 報 告實驗項目名稱 Eular方法求解一階常微分方程數(shù)值解 所屬課程名稱 偏微分方程數(shù)值解 實 驗 類 型 驗證性 實 驗 日 期 2015-3-26 班 級 學(xué) 號 姓 名 成 績 一、實驗概述:【實驗?zāi)康摹?熟練掌握應(yīng)用顯性Eular法和隱式Eular法求解一般一階常微分方程的近似數(shù)值解?!緦嶒炘怼侩m然求解常微分方程有各種各樣的解析方法,但解析方法只能用來求解一些特殊類型的方程。求解從實際問題當(dāng)中歸結(jié)出來的微分方程主要靠數(shù)值解法。歐拉方法是一類重要的數(shù)值解法。這類方法回避解y(x)的函數(shù)表達式,而是尋求它在一系列離散節(jié)點上的近似值,相鄰的兩個節(jié)點的間距稱作步長。

2、假定步長為定數(shù)。歐拉方法是一類離散化方法,這類方法將尋求解y(x)的分析問題轉(zhuǎn)化為計算離散值值的代數(shù)問題,從而使問題獲得了實質(zhì)性的簡化。然而隨之帶來的困難是,由于數(shù)據(jù)量往往很大,差分方法所歸結(jié)出的可能是個大規(guī)模的代數(shù)方程組。 【實驗環(huán)境】1. 硬件環(huán)境 2. 2.軟件環(huán)境 MATLAB7.02、 實驗內(nèi)容:【實驗過程】(實驗步驟)(一)實驗任務(wù) 描述某種化學(xué)反應(yīng)過程的方程,利用顯性和隱形Eualar方法求解下列一階線性微分方程組的近似數(shù)值解: (2) 求解過程 Eular方法: 一階線性微分方程初值問題 (1)方程離散化:差分和差商 (2) 通過初始值,依據(jù)遞推公式(2)逐步算出就為顯性的Eu

3、lar方法。隱形Eular方法: (3) 公式(3)即為隱式Eular公式。(三)程序算法1. 利用顯式Eular法方求解 利用MATLAB進行求解,編寫腳本文件如下:文件名:hql.m %顯性Eular方法 f0=1; g0 =0;z0=0 delta=0.01; time=1; t=0:delta:time; f=zeros(size(t); g=zeros(size(t); z=zeros(size(t); f1=zeros(size(t); g1=zeros(size(t); z1=zeros(size(t); f(1)=f0; g(1)=g0; z(1)=z0; for i=2:le

4、ngth(t) f1(i-1) = -0.04*f(i-1) + 10000*f(i-1)*g(i-1); f(i)=f(i-1)+f1(i-1)*delta; g1(i-1) = 0.04*f(i-1) - 10000*f(i-1)*g(i-1)-3*107*g(i-1)2; g(i)=g(i-1)+g1(i-1)*delta; z1(i-1)=3*107*g(i-1)2; z(i)=z(i-1)+z(i-1)*delta; Fun=f+g+z end figure plot(t,f,'o'); xlabel('t'); ylabel('y1'

5、); title('t-y1變化圖') figure plot(t,g,'o'); xlabel('t'); ylabel('y2'); title('t-y2變化圖') figure plot(t,z,'o'); xlabel('t'); ylabel('y3'); title('t-y3變化圖') figure plot(t,Fun); xlabel('t'); ylabel('y1+y2+y3'); title(&

6、#39;t-y1+y2+y3變化圖')【實驗結(jié)論】 A步長h=0.001時進行數(shù)據(jù)測試。結(jié)果如下:迭代第一次時,結(jié)果與方程描述內(nèi)容相符。迭代第二次時,結(jié)果與方程描述內(nèi)容基本相符。迭代三次時,結(jié)果與方程描述內(nèi)容基本相符。迭代1000次時,模擬結(jié)果已經(jīng)嚴重脫離事實,故當(dāng)選擇delta為0.001時,該迭代方法不收斂。時間與個變量直接的變化關(guān)系如圖所示:從上述圖形可以明顯看出,在迭代的不斷進行時,各變量與時間的變化越來越大,且嚴重脫離了方程所描述的現(xiàn)實意義。B.當(dāng)選擇h=0.00000001時,模擬結(jié)果如下: 迭代第一次, 與A中結(jié)果相同。 迭代第二次, 跌二次迭代結(jié)果明顯優(yōu)于一中。跌三次迭

7、代結(jié)果,并未產(chǎn)生誤差。地1000次迭代結(jié)果, 結(jié)果明顯是收斂的。 時間與個變量直接的變化關(guān)系如圖所示:從圖中能夠清晰看出,當(dāng)h=0.00000001時,模擬結(jié)果與方程所表示的顯示意義相吻合。說明了顯性Eualr方法的收斂性是與步長的選擇是相關(guān)。這就對我們們選擇步長造成了困難,由于選擇的步長不合適有可能得出錯誤的結(jié)論。【實驗小結(jié)】(收獲體會)1、 軟件使用 在寫MATLAB語言的時候要深刻理解題的意圖,整理好思緒再做題目,在我運算的過程中,h取值取得越小、越細微,曲線逼近的越好。2、歐拉法的缺點 簡單地取切線的端點作為下一步的起點進行計算,當(dāng)步數(shù)增多時,誤差會因積累而越來越大。因此歐拉格式一般不

8、用于實際計算。3、 實驗感想 在這次上機實驗中,我掌握了解決常微分方程的基本方法,同時學(xué)會使用計算機軟件對兩種不同方法得到的結(jié)果進行判斷,對我們以后對數(shù)據(jù)進行分析很有幫助。三、指導(dǎo)教師評語及成績:評 語評語等級優(yōu)良中及格不及格1.實驗報告按時完成,字跡清楚,文字敘述流暢,邏輯性強2.實驗方案設(shè)計合理3.實驗過程(實驗步驟詳細,記錄完整,數(shù)據(jù)合理,分析透徹)4實驗結(jié)論正確. 成 績: 指導(dǎo)教師簽名: 批閱日期:附錄:源 程 序程序1:%顯性Eular方法f0=1; g0 =0;z0=0delta=0.00000001; time=0.00001;t=0:delta:time; f=zeros(s

9、ize(t);g=zeros(size(t);z=zeros(size(t);f1=zeros(size(t);g1=zeros(size(t);z1=zeros(size(t); f(1)=f0;g(1)=g0;z(1)=z0;for i=2:length(t) f1(i-1) = -0.04*f(i-1) + 10000*f(i-1)*g(i-1); f(i)=f(i-1)+f1(i-1)*delta; g1(i-1) = 0.04*f(i-1) - 10000*f(i-1)*g(i-1)-3*107*g(i-1)2; g(i)=g(i-1)+g1(i-1)*delta; z1(i-1)=3*107*g(i-1)2; z(i)=z(i-1)+z(i-1)*delta; Fun=f+g+zend figureplot(t,f,'o');xlabel('t');ylabel('y1');title('t-y1變化圖') figureplot(t,g,'o');xlabel('t');ylabel('y2');title('t-y2變化圖') figureplot(t,z,'o');xlabe

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論