- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
实验二 微分方程求解
一、问题背景与实验目的
实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程,真正能得到代数方程的机会很少.另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们必须研究微分方程(组)的解法,既要研究微分方程(组)的解析解法(精确解),更要研究微分方程(组)的数值解法(近似解).
对微分方程(组)的解析解法(精确解),Matlab 有专门的函数可以用,本实验将作一定的介绍.
本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍 Euler 折线法.
二、相关函数(命令)及简介
1.dsolve(equ1,equ2,…):Matlab 求微分方程的解析解.equ1、equ2、…为方程(或条件).写方程(或条件)时用 Dy 表示y 关于自变量的一阶导数,用用 D2y 表示 y 关于自变量的二阶导数,依此类推.
2.simplify(s):对表达式 s 使用 maple 的化简规则进行化简.
例如:
syms x
simplify(sin(x)^2 + cos(x)^2)
ans=1
3.[r,how]=simple(s):由于 Matlab 提供了多种化简规则,simple 命令就是对表达式 s 用各种规则进行化简,然后用 r 返回最简形式,how 返回形成这种形式所用的规则.
例如:
syms x
[r,how]=simple(cos(x)^2-sin(x)^2)
r = cos(2*x)
how = combine
4.[T,Y] = solver(odefun,tspan,y0) 求微分方程的数值解.
说明:
(1) 其中的 solver为命令 ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb 之一.
(2) odefun 是显式常微分方程:
(3) 在积分区间 tspan=上,从到,用初始条件求解.
(4) 要获得问题在其他指定时间点上的解,则令 tspan= (要求是单调的).
(5) 因为没有一种算法可以有效地解决所有的 ODE 问题,为此,Matlab 提供了多种求解器 Solver,对于不同的ODE 问题,采用不同的Solver.
求解器
Solver
ODE类型
特点
说明
ode45
非刚性
单步算法;4、5阶Runge-Kutta方程;累计截断误差达
大部分场合的首选算法
ode23
非刚性
单步算法;2、3阶Runge-Kutta方程;累计截断误差达
使用于精度较低的情形
ode113
非刚性
多步法;Adams算法;高低精度均可到
计算时间比 ode45 短
ode23t
适度刚性
采用梯形算法
适度刚性情形
ode15s
刚性
多步法;Gears反向数值微分;精度中等
若 ode45 失效时,可尝试使用
ode23s
刚性
单步法;2阶 Rosebrock 算法;低精度
当精度较低时,计算时间比 ode15s 短
ode23tb
刚性
梯形算法;低精度
当精度较低时,计算时间比 ode15s 短
(6) 要特别的是:ode23、ode45 是极其常用的用来求解非刚性的标准形式的一阶常微分方程(组)的初值问题的解的 Matlab 的常用程序,其中:
ode23 采用龙格-库塔2 阶算法,用3 阶公式作误差估计来调节步长,具有低等的精度.
ode45 则采用龙格-库塔4 阶算法,用5 阶公式作误差估计来调节步长,具有中等的精度.
5.ezplot(x,y,[tmin,tmax]):符号函数的作图命令.x,y 为关于参数t 的符号函数,[tmin,tmax] 为 t 的取值范围.
6.inline():建立一个内联函数.格式:inline(expr, var1, var2,…) ,注意括号里的表达式要加引号.
例:Q = dblquad(inline(y*sin(x)), pi, 2*pi, 0, pi)
三、实验内容
1. 几个可以直接用 Matlab 求微分方程精确解的例子:
例1:求解微分方程,并加以验证.
求解本问题的Matlab 程序为:
syms x y %line1
y=dsolve(Dy+2*x*y=x*exp(-x^2),x) %line2
diff(y,x)+2*x*y-x*exp(-x^2) %line3
simplify(diff(y,x)+2*x*y-x*exp(-x^2)) %line4
说明:
(1) 行line1是用命令定义x,y为符号变量.这里可以不写,但为确保正确性,建议写上;
(2) 行line2是
您可能关注的文档
- KD系列中文说明书.doc
- kenzo品牌语言分析.ppt
- Kettle基础知识收集整理.doc
- KFC连锁企业商业模式分析和探讨.doc
- KFC内部培训资料_生产控制与订货.ppt
- KFC人力资源管理研究.ppt
- KISS情侣主题餐厅.doc
- KKS编码基础知识培训.ppt
- Kontakt原厂音色库安装教程.doc
- KPI 平衡积分卡案例.doc
- 2025届新高考化学冲刺复习化学平衡的图像描述.pptx
- 2025届新高考化学冲刺复习热化学、化学反应速率和化学平衡综合.pptx
- 2025届新高考化学冲刺复习弱电解质电离与盐类水解.pptx
- 2025届新高考政治热点冲刺复习 树立创新精神 提高创新能力.pptx
- 中华人民共和国成立前各种政治力量+高中政治统编版必修三.pptx
- 正确对待外来文化高中政治统编版必修四哲学与文化.pptx
- 逻辑的多种含义+高中政治统编版选择性必修三.pptx
- 综合探究二+在党的领导下实现人民当家作主(课件)高一政治高效课堂优秀课件(统编版必修3).pptx
- 始终坚持以人民为中心高中政治统编版必修三政治与法治.pptx
- 中国共产党领导的多党合作和政治协商制度 高一政治统编版必修三.pptx
文档评论(0)