解微分方程.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解微分方程

第第第五五五章章章 解解解常常常微微微分分分方方方程程程 第一节 用MATLAB解常微分方程 1. 简单例子 d2x dx 例1 求解常微分方程, = 4 初始条件为 | = 2, x| = 1. dt2 dt t=0 t=0 y(1) = x ? ? 令 ? ! dy(1) dx ydot(1) ? ? y(2) = 令 = ? dt ? dt ydot(2) dy(2) ? ? dy(1) dt ? = y(2) 代表方程的函数文件是 方程成为 dt ? dy(2) ? = 4 function ydot=yjs(t,y) dt ydot=[y(2); 4 ]; 完整的程序如下 ? 主文件是函数文件 function jyjs ? 微分方程是子函数 [T,Y]=ode45(@yjs,[0:10],[2,1]); plot(T,Y(:,1),T,Y(:,2)) ? 指令ode45解方程 ? 用函数句柄调用方程 function ydot=yjs(t,y) ? 时间范围为0 ≤ t ≤ 10 ydot=[y(2); 4 ]; ? 初位移2,初速度1 ? 输出时间T,两分量矢量Y ? 画位移y(:,1),速度y(:,2)曲线 2. 基本步骤 2.1 编写表示微分方程的函数文件 微分方程写成一阶常微分方程组dy/dt, t是自变量标量,y(t)是含t的函数 构成的列矢量,ydot是列矢量dy/dt。函数文件格式如下 function ydot = odefun(t,y) ydot = [在括号内插入t 和/或y的函数] 2.2 给定解方程的条件与要求 odeset 建立或改变解方程的条件和要求。显示全部参数值。 odeget 获取“选项结构数组(options structure)” 指令odeset用法语句格式如下: options = odeset(0name10, value1, 0name20, value2, ???) options = odeset(oldopts, 0name10, value1, ???) options = odeset(oldopts, newopts) odeset 2.3 调用指令求解并处理结果 解常微分方程组的指令 ode45 解非刚性微分方程,中等精度,使用Runge-Kutta法的四、五阶算法。 ode23 解非刚性微分方程,低精度,使用Runge-Kutta法的二、三阶算法。 ode113 解非刚性微分方程,Adams-Bashforth-Moulton PECE法。 ode23t 解中等的刚性微分方程,使用自由内插法的梯形法则。 ode15s 解刚性微分方程,使用可变阶次的数值微分(NDFs)算法。 ode23s 解刚性微分方程,低阶方法,使用修正的Rosenbrock公式。 ode23tb 解刚性微分方程,低阶方法,使用TR-BDF2方法。 注: 大多数情况下是使用ode23或ode45即可。 用ode45为例介绍指令的语句格式: [T, Y] = ode45(odefun, tspan, y0) [T, Y] = ode45(odefun, tspan, y0, options) [T, Y, TE, YE, IE] = ode4

文档评论(0)

ahuihuang1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档