matlab_常微分方程数值解法.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《matlab_常微分方程数值解法.ppt》由会员分享,可在线阅读,更多相关《matlab_常微分方程数值解法.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、matlab_常微分方程数值解法 Four short words sum up what has lifted most successful Four short words sum up what has lifted most successful individuals above the crowd: a little bit more. individuals above the crowd: a little bit more. -author -author -date-date常微分方程数值解法常微分方程数值解法内容提要内容提要n引言引言n欧拉近似方法欧拉近似方法n龙格龙格
2、-库塔库塔(R-K)方法方法nMATLAB的常微分方程函数的常微分方程函数n小结小结1、引言、引言 物理学所研究的各种物质运动中,有许多物质运动的物理学所研究的各种物质运动中,有许多物质运动的过程是用常微分方程来描述的。过程是用常微分方程来描述的。例如例如, ,质点的加速运动,简谐振动等。质点的加速运动,简谐振动等。 dvFmdt22220d xxdt 简单问题可以求得解析解,多数实际问题靠数值求解。简单问题可以求得解析解,多数实际问题靠数值求解。 一阶常微分方程一阶常微分方程(ODE )初值问题初值问题 :000( , ) ()ndyf x yxxxdxy xy()nnyy x 数值解法就是
3、求数值解法就是求y(x)在某些分立的节点在某些分立的节点 xn 上的近似值上的近似值yn,用以近似用以近似y(xn)ODE :Ordinary Differential Equation2.1 简单欧拉简单欧拉(L.Euler, 1707-1783)方法。方法。00( , )()dyf y xdxy xy012nyyyy 欧拉数值算法就是由初值通过欧拉数值算法就是由初值通过递推求解递推求解,递推求解,递推求解就是从初值开始,后一个函数值由前一个函数值得到。关就是从初值开始,后一个函数值由前一个函数值得到。关键是构造递推公式。键是构造递推公式。2、欧拉近似方法、欧拉近似方法yyxxdd欧拉数值算
4、法递推公式构造欧拉数值算法递推公式构造2.1.1 差分法差分法差分法就是用差商近似代替微商,即差分法就是用差商近似代替微商,即代入微分方程得到:代入微分方程得到:()()( )( ( ),)( ( ), )yy xxy xxxy xf y xy x xxxxf对于等间隔节点对于等间隔节点11 n=0,1,2nnnnxxxhxxh 可以得到:可以得到:xn x0 x1 x2 . xn .y精确值精确值y(x0) y(x1) y(x2) . y(xn) .y近似值近似值y0 y1 y2 . yn .在在xn节点上,微分方程可以写为节点上,微分方程可以写为1()()() , xnnnny xy xf
5、 y xh作如下近似:作如下近似:( )nnyy t则得到欧拉解法递推公式的一般形式:则得到欧拉解法递推公式的一般形式:1( , x )nnnnyyf yh具体求解过程为:具体求解过程为:1000( , x )yyf yh2111( , x )yyf yh3222( , x ) yyf yh简单欧拉方法程序简单欧拉方法程序function outx,outy=MyEuler(fun,x0,xt,y0,PointNum)%MyEuler 用前向差分的欧拉方法解微分方程用前向差分的欧拉方法解微分方程%fun 表示表示f(x,y)%x0,xt表示自变量的初值和终值表示自变量的初值和终值%y0表示函数
6、在表示函数在x0处的值处的值,其可以为向量形式其可以为向量形式%PointNum表示自变量在表示自变量在x0,xt上取的点数上取的点数if nargin5 | PointNum=0 %如果函数仅输入如果函数仅输入4个参数值,则个参数值,则PointNum默认值为默认值为100 PointNum=100;endif nargin dsolve(Dy+3*x*y=x*exp(-x2) ans =(1/3*exp(-x*(x-3*t)+C1)*exp(-3*x*t) dsolve(Dy+3*x*y=x*exp(-x2),x) ans = exp(-x2)+exp(-3/2*x2)*C1例题:用例题:
7、用MATLAB的符号解法的符号解法,求解常微分方程的特解:求解常微分方程的特解:1 20,2xxxyyeye dsolve(x*Dy+2*y-exp(x)=0,y(1)=2*exp(1),x) ans = (exp(x)*x-exp(x)+2*exp(1)/x2例题:采用例题:采用ODE45求解描述某刚性问题的微分方程:求解描述某刚性问题的微分方程:123121323123(0)0,(0)10.51(0)1yy yyyy yyyy yy function dy = rigid(t,y)dy = zeros(3,1); % 行向量行向量dy(1) = y(2) * y(3);dy(2) = -y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab_ 微分方程 数值 解法
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内