- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二阶微分方程式的电脑数值解
Numerical Methods for Solving the Second-Order Differential Equations
(二階微分方程式的電腦數值解)
南台電機 趙春棠 整理
重點1 :任何一個 N 階 微分方程式,都可以表示為 N 個 1 階 微分方程式 的 聯立 。如
此一來 ,電腦只要會解 1 階 微分方程式 ,電腦 就可以 幫我們解 任何一個 N 階 微分方程
式 了。
重點2 :利用電腦解 1 階 微分方程式,首先必須了解 EulersMethod(尤拉 法) 。尤拉 法 非
常簡單 ,例如已知初始值,先計算初始值該處的函數微分值 ,就可以估測出下一點 解函數 的
位置了,再以下一點當做起點 ,則可估測下下一點解函數的位置 。由於只利用到一點的函
數微分值,故可視為 Runge-Kutta-1方法。哈 !由於只利用到一點的函數微分值,故誤差頗大喔 !
重點3 :休恩法(HuensMethod) 改進了尤拉 法。休恩法 除了 採用 目前這一點的函數微分值,
還採用了原本預估點位置的函數微分值喔 ,他最後真正是把兩個函數微分值取平均作為預測斜
率 ,來做估測的喔。由於它利用到兩點的函數微分值,故可視為 Runge-Kutta-2方法。
重點4 :哈 !如此說來 ,真正的 Runge-Kutta-4法 ,可知是利用到四個點位置 (簡單來說,起點
1 個,中點取2 個,終點取 1個) 的函數微分值,給它們不同的權重 ,最後以算出的結果作為預
測斜率 ,來做估測的喔 。效果非常準喔 !
試利用 Euler ’s Method ,撰寫Matlab 程式解聯立方程組 (假定 step size h=0.25 )
y 1 3y 1 5 y 1 (0) 1
y 2 3y 5 y (0) 2
2 2
【看吧 !如以上重點1所說 ,一個二階系統變成兩個一階系統的聯立式了 ! 】
eulerp_2A.m
% 歐拉 法 : 解聯立方程組
clear;
% initial condition
x0 = 0;
y10 = 1; yd_1A.m
y20 = 2;
xmax = 2;
h = 0.25; function fxy=yd_1(x,y1,y2);
% calculate fxy = 5-3*y1;
n = (xmax-x0)/h;
for i=1:1:n+1
if i==1
x(i) = x0;
y1(i) = y10;
y2(i) = y20; yd_2A.m
else
x(i) = x0+(i-1)*h;
% function yd=f(x,y)
y1(i) = y1(i-1)+h*yd_1A(x(i-1),y1(i-1),y2(i-1)); function fxy = yd_2(x,y1,y2);
y2(i) = y2(i-1)+h*y
文档评论(0)