MATLAB实验四求微分方程的解ppt课件.ppt
《MATLAB实验四求微分方程的解ppt课件.ppt》由会员分享,可在线阅读,更多相关《MATLAB实验四求微分方程的解ppt课件.ppt(25页珍藏版)》请在三一办公上搜索。
1、实验四求微分方程的解,数学实验,自牛顿发明微积分以来,微分方程在描述事物运动规律上已发挥了重要的作用。实际应用问题通过数学建模所得到的方程,绝大多数是微分方程。,由于实际应用的需要,人们必须求解微分方程。然而能够求得解析解的微分方程十分有限,绝大多数微分方程需要利用数值方法来近似求解。,本实验主要研究如何用 Matlab 来计算微分方程(组)的数值解,并重点介绍一个求解微分方程的基本数值解法Euler折线法。,问题背景和实验目的,考虑一维经典初值问题,基本思想:用差商代替微商,根据 Talyor 公式,y(x) 在点 xk 处有,Euler 折线法,初值问题的Euler折线法,具体步骤:,等距
2、剖分:,步长:,分割求解区间,差商代替微商,得方程组:,分割求解区间,差商代替微商,解代数方程,为分割点,k = 0, 1, 2, ., n-1,yk 是 y (xk) 的近似,Euler 折线法举例,例:用 Euler 法解初值问题,取步长 h = (2 - 0)/n = 2/n,得差分方程,当 h=0.4,即 n=5 时,Matlab 源程序见 fuluA.m,解:,Euler 折线法源程序,clearf=sym(y+2*x/y2);a=0; b=2;h=0.4;n=(b-a)/h+1; % n=(b-a)/h;x=0; y=1;szj=x,y;for i=1:n-1 % i=1:n y=
3、y+h*subs(f,x,y,x,y); x=x+h; szj=szj;x,y;endszjplot(szj(:,1),szj(:,2),or-),Euler折线法举例(续),解析解:,解析解,近似解,y=1/3*(-18-54*x+45*exp(3*x)(1/3),Runge-Kutta 方法,为了减小误差,可采用以下方法:,让步长 h 取得更小一些;,改用具有较高精度的数值方法:,龙格-库塔方法,Runge-Kutta (龙格-库塔) 方法,是一类求解常微分方程的数值方法,有多种不同的迭代格式,Runge-Kutta 方法,用得较多的是 四阶R-K方法(教材第 98 页),其中,四阶 R-
4、K 方法源程序,clear;f=sym(y+2*x/y2);a=0; b=2; h=0.4;n=(b-a)/h+1; % n=(b-a)/h;x=0; y=1; szj=x,y;for i=1:n-1 % i=1:n l1=subs(f,x,y,x,y); l2=subs(f,x,y,x+h/2,y+l1*h/2); l3=subs(f,x,y,x+h/2,y+l2*h/2); l4=subs(f,x,y,x+h,y+l3*h); y=y+h*(l1+2*l2+2*l3+l4)/6; x=x+h; szj=szj;x,y;endplot(szj(:,1),szj(:,2), dg-),Rung
5、e-Kutta 方法,Euler 法与 R-K法误差比较,Matlab 解初值问题,用 Maltab自带函数 解初值问题,求解析解:dsolve,求数值解: ode45、ode23、 ode113、ode23t、ode15s、 ode23s、ode23tb,dsolve 求解析解,dsolve 的使用,y=dsolve(eq1,eq2, . ,cond1,cond2, . ,v),其中 y 为输出, eq1、eq2、.为微分方程,cond1、cond2、.为初值条件,v 为自变量。,例 1:求微分方程 的通解,并验证。, y=dsolve(Dy+2*x*y=x*exp(-x2),x), sym
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验 微分方程 ppt 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2002414.html