2022年常微分方程MATLAB解法 .pdf
《2022年常微分方程MATLAB解法 .pdf》由会员分享,可在线阅读,更多相关《2022年常微分方程MATLAB解法 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料欢迎下载实验四求微分方程的解一、问题背景与实验目的实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程,真正能得到代数方程的机会很少另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组) 这就要求我们必须研究微分方程(组)的解法,既要研究微分方程 (组)的解析解法(精确解),更要研究微分方程 (组)的数值解法(近似解) 对微分方程(组)的解析解法(精确解 ),Matlab 有专门的函数可以用,本实验将作一定的介绍本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍Euler 折线法二、相关函数(命令)及简介1dsolve(equ1,equ2,
2、):Matlab 求微分方程的解析解 equ1、equ2、为方程(或条件)写方程(或条件)时用Dy 表示 y 关于自变量的一阶导数,用用 D2y 表示 y 关于自变量的二阶导数,依此类推2simplify(s) :对表达式s 使用 maple 的化简规则进行化简例如:syms x simplify(sin(x)2 + cos(x)2) ans=1 3r,how=simple(s):由于 Matlab 提供了多种化简规则, simple 命令就是对表达式s 用各种规则进行化简, 然后用r 返回最简形式, how 返回形成这种形式所用的规则例如:syms x r,how=simple(cos(x)
3、2-sin(x)2) r = cos(2*x) how = combine 4T,Y = solver( odefun,tspan,y 0) 求微分方程的数值解说明:(1) 其中的 solver 为命令 ode45、ode23、ode113 、ode15s 、ode23s 、ode23t、ode23tb 之一(2) odefun 是显式常微分方程:00)(),(ytyytfdtdy(3) 在积分区间tspan=,0ftt上,从0t到ft,用初始条件0y求解精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 9 页精品资料欢迎下载(4) 要
4、获 得 问 题 在 其 他 指 定 时 间 点,210,ttt上 的 解 , 则 令tspan= ,210ftttt(要求是单调的)(5) 因为没有一种算法可以有效地解决所有的ODE 问题,为此, Matlab 提供了多种求解器Solver,对于不同的 ODE 问题,采用不同的Solver求解器Solver ODE 类型特点说明ode45 非刚性单步算法; 4、5 阶 Runge-Kutta方程;累计截断误差达3)( x大部分场合的首选算法ode23 非刚性单步算法; 2、3 阶 Runge-Kutta方程;累计截断误差达3)( x使用于精度较低的情形ode113 非刚性多步法; Adams
5、算法;高低精度均可到631010计算时间比ode45 短ode23t 适度刚性采用梯形算法适度刚性情形ode15s 刚性多步法; Gears反向数值微分;精度中等若 ode45 失效时,可尝试使用ode23s 刚性单步法; 2 阶 Rosebrock 算法;低精度当精度较低时,计算时间比 ode15s 短ode23tb 刚性梯形算法;低精度当精度较低时,计算时间比 ode15s 短(6) 要特别的是: ode23、ode45 是极其常用的用来求解非刚性的标准形式的一阶常微分方程 (组)的初值问题的解的Matlab 的常用程序,其中:ode23 采用龙格 -库塔 2 阶算法,用 3 阶公式作误差
6、估计来调节步长,具有低等的精度ode45 则采用龙格 -库塔 4 阶算法,用 5 阶公式作误差估计来调节步长,具有中等的精度5ezplot(x,y,tmin,tmax) :符号函数的作图命令x,y 为关于参数t 的符号函数, tmin,tmax 为 t 的取值范围6inline():建立一个内联函数格式:inline(expr, var1, var2,) ,注意括号里的表达式要加引号例:Q = dblquad(inline(y*sin(x), pi, 2*pi, 0, pi) 三、实验内容精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共
7、9 页精品资料欢迎下载1. 几个可以直接用Matlab 求微分方程精确解的例子:例 1:求解微分方程22xxexydxdy,并加以验证求解本问题的 Matlab 程序为:syms x y %line1 y=dsolve(Dy+2*x*y=x*exp(-x2),x) %line2 diff(y,x)+2*x*y-x*exp(-x2) %line3 simplify(diff(y,x)+2*x*y-x*exp(-x2) %line4 说明:(1) 行 line1 是用命令定义 x,y 为符号变量这里可以不写, 但为确保正确性,建议写上;(2) 行 line2 是用命令求出的微分方程的解:1/2*e
8、xp(-x2)*x2+exp(-x2)*C1 (3) 行 line3 使用所求得的解这里是将解代入原微分方程,结果应该为0,但这里给出:-x3*exp(-x2)-2*x*exp(-x2)*C1+2*x*(1/2*exp(-x2)*x2+exp(-x2)*C1) (4) 行 line4 用 simplify() 函数对上式进行化简, 结果为 0, 表明)(xyy的确是微分方程的解例 2:求微分方程0 xeyxy在初始条件ey2) 1(下的特解,并画出解函数的图形求解本问题的Matlab 程序为:syms x y y=dsolve(x*Dy+y-exp(x)=0,y(1)=2*exp(1),x)
9、ezplot(y) 微分方程的特解为: y=1/x*exp(x)+1/x* exp (1) (Matlab 格式),即xeeyx,解函数的图形如图1:-6-4-20246-30-20-1001020304050 x1/x exp(x)+1/x exp(1)图 1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 9 页精品资料欢迎下载例 3:求微分方程组035yxdtdyeyxdtdxt在初始条件0|, 1|00ttyx下的特解,并画出解函数的图形求解本问题的Matlab 程序为:syms x y t x,y=dsolve(Dx+5*x+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年常微分方程MATLAB解法 2022 微分方程 MATLAB 解法
限制150内