學號:姓名:
專業:聯絡**:
2011 年 11 月
序言1. 程式語言:我的數值分析上機實踐採用matlab語言作為程式語言,利用matlab集數值計算、符號計算和圖形視覺化三大功能與一體的特點程式設計實現,採用函式檔案編寫程式命令流,並將計算結果儲存為excel格式,並根據計算結果生成圖形,方便查閱、分析。
2. 程式概述:
用龍格-庫塔法對常微分初值問題f=-20*y,y(0)=1進行求解,設定步長為h,通過程式設計計算出前10個節點的y值,並將計算結果與精確解對比,通過設定h的值,分析步長對計算精度的影響,觀察分析穩定區間的作用。
目錄上機題1 龍格-庫塔法求解常微分初值問題 1
1.1題目內容 1
1.2計算結果 1
1.2.1步長h = 0.05 時結果 1
1.2.2步長h = 0.1 時結果 2
1.2.3步長 h = 0.2 時結果 3
1.2 結果分析 4
1.3 程式清單 4
結論 5
用runge-kutta 4階演算法對初值問題y/=-20*y,y(0)=1按不同步長求解,用於觀察穩定區間的作用,推薦兩種步長h=0.1,0.2。
注:此方程的精確解為:y=e-20x
應用四階龍格-庫塔法,當步長取為0.05時,計算結果如圖1.2-1:
圖1.2-1 h=0.05時計算結果
整理計算結果如表1.2-1所示:
表1.2-1 h=0.05時結果
當步長取為0.1時,,計算結果如圖1.2-2:
圖1.2-2 h=0.05時計算結果
計算結果整理如表1.2-2所示:
表1.2-2 h=0.1時結果
當步長取為0.2時,,計算結果如圖1.2-3:
圖1.2-3 h=0.1時計算結果
計算結果整理如表1.2-3所示:
圖1.2-3 h=0.2時計算結果
通過以上對龍格-庫塔法的應用,計算結果表明步長h的取值會影響演算法的收斂性和穩定性:
(1) 龍格-庫塔法的步長h越長,計算結果的精確度越低,甚至計算結果不收斂;
(2) 當步長h在穩定區間時,誤差逐步衰減。
%runge-kutta4階演算法
%f=-20y
%y(0)=1
clc;
clear;
n=10;%設定節點個數
h=0.05;%設定步長
x(1)=0;%x0=0
y(1)=1;%y(0)=1
yy(1)=exp(-20*x(1));%y(0)的精確解
開始用runge-kutta法計算
for i = 2:n
k1 = -20*(y(i-1));%(xi,yi)點的導數為f=-20*y
k2 = -20*(y(i-1)+k1*h/2);
k3 = -20*(y(i-1)+k2*h/2);
k4 = -20*(y(i-1)+k3*h);
delta = h*(k1 + 2*k2 + 2*k3 + k4)/6;
y(i) = y(i-1) + delta;%計算y(i)值
x(i) = x(i-1) + h;%計算下個節點的x(i)值
yy(i) = exp(-20*x(i));%計算y(i)的精確值
end;
儲存計算結果
dlmwrite('f:\計算結果.xls', x, 'delimiter', '\t', 'precision', 8);
dlmwrite('f:\計算結果.xls', y,'-append', 'delimiter', '\t', 'precision', 8);
dlmwrite('f:\計算結果.xls', yy,'-append', 'delimiter', '\t', 'precision', 8);
畫圖功能
plot(x,y,'o',x,yy,'*');
xlabel('x');
ylabel('y');
legend('四階runge-kutta法','精確解');
pause;
close;
1、通過本次上機實踐,我深刻的體會到數值分析在計算數學模型中的重要性,通過實踐過程,反覆調整演算法,查閱書籍並將計算結果與書中理論驗證,我更加深刻的掌握了常微分初值問題的定義以及應用,並對龍格-庫塔法的原理以及應用更加了解了,同時通過上機實踐,通過分析題目的結果,觀察了穩定區間的作用。通過對題目一點點的分析,一次次的實驗,再調整演算法的過程中,我受益匪淺,對數值分析有了更深入的認識。
2、我原本對matlab語言並不熟悉,但通過這次上機實習,讓我對這門語言的認識更加深入了,體會到了數值方法在數學模型求解中的重要作用,並學會應用它來實現數學模型的求解,通過實習我認識到,數值分析可以應用於我們隧道專業,今後解決工程問題中還會有很多問題需要應用數值分析的方法來求解,因此,今後我還要繼續學習這門語言,並在工程實踐中應用。
《數值分析》上機實習報告
數值分析程式設計作業 一.housholder變換.求方程的解 二.求特徵值 一,程式要求 1 用household變換,把a化為三對角陣b 並列印b 2 用超鬆弛法求解bx b 取鬆弛因子 1.4,x 0 0,迭代9次 3 用列主元消去法求解bx b。4 用對分法求b 即a 的小於23且最接近23...
數值分析上機報告
數學與計算科學學院 實驗報告 實驗專案名稱迭代法求線性方程組 所屬課程名稱數值方法a 實驗型別驗證型 實驗日期2011.11.03 班級學號 姓名成績 附錄1 源程式 附錄2 實驗報告填寫說明 1 實驗專案名稱 要求與實驗教學大綱一致。2 實驗目的 目的要明確,要抓住重點,符合實驗教學大綱要求。3 ...
西南交大2019數值分析上機實習報告要求
下列資料為另外的對照記錄,它們可以作為近似函式的評價參考資料。xi columns 1 through 7 1.5000 1.9000 2.3000 2.7000 3.1000 3.5000 3.9000 columns 8 through 14 4.3000 4.7000 5.1000 5.500...