网站大量收购独家精品文档,联系QQ:2885784924

matlab第二章__常微分方程的数值解法.ppt

matlab第二章__常微分方程的数值解法.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 微分方程的数值解法 四阶龙格—库塔法 (The Fourth-Order Runge-Kutta Method) 常微分方程(Ordinary differential equations, ODE) 初值问题---给出初始值 边值问题---给出边界条件 与初值常微分方程解算有关的指令 ode23 ode45 ode113 ode23t ode15s ode23s ode23tb 一.解ODE的基本机理: 2. 把高阶方程转换成一阶微分方程组 1. 列出微分方程 初始条件 令 (2.1) (2.2) (2.3) 例:著名的Van der Pol方程 令 降为一阶 初始条件 3. 根据式(2.2)编写计算导数的M函数文件-ODE文件 把t,Y作为输入宗量,把 作为输出宗量 %M function file name: dYdt.m function Yd = f (t, Y) Yd = f (t,Y) 的展开式 例Van der Pol方程 %M function file name: dYdt.m function Yd = f (t, Y) Yd=zeros(size(Y)); 4. 使编写好的ODE函数文件和初值 供微分方程解算指令(solver)调用 Solver解算指令的使用格式 [t, Y]=solver (‘ODE函数文件名’, t0, tN, Y0, tol); ode45 输出宗量形式 说明: t0:初始时刻;tN:终点时刻Y0:初值; tol:计算精度 例题1:著名的Van der Pol方程 % 主程序 (程序名:VanderPol _ex1.m) t0 = 0; tN = 20; tol = 1e-6; Y0 = [0.25; 0.0]; [t, Y]=ode45 (‘dYdt’, t0, tN, Y0, tol); subplot (121), plot (t, Y) subplot (122), plot (Y( :, 1), Y( :, 2)) 解法1:采用ODE命令 Van der Pol方程 % 子程序 (程序名: dYdt.m ) function Ydot = dYdt (t, Y) Ydot=[Y(2);-Y(2)*(Y(1)^2-1)-Y(1)]; 或写为 function Ydot = dYdt (t, Y) Ydot=zeros(size(Y)); Ydot(1)=Y(2); Ydot(2)=-Y(2)*(Y(1).^2-1)-Y(1)]; 解法指令 解题类型 特 点 适合场合 ode45 非刚性 采用4、5阶Runge-Kutta法 大多数场合的首选算法 ode23 非刚性 采用Adams算法 较低精度(10-3)场合 ode113 非刚性 多步法;采用Adams算法;高低精度均可(10-3~10-6) ode45计算时间太长时取代ode45 ode23t 适度刚性 采用梯形法则算法 适度刚性 ode15s 刚性 多步法;采用2阶Rosenbrock算式,精度中等 当ode45失败时使用;或存在质量矩阵时 ode23s 刚性 一步法;采用2阶Rosenbrock算式,低精度 低精度时,比ode15s有效;或存在质量矩阵时 ode23tb 刚性 采用梯形法则-反向数值微分两阶段算法,低精度 低精度时,比ode15s有效;或存在质量矩阵时 各种solver 解算指令的特点 二. 四 阶 Runge-Kutta 法 对 I=[a,b]作分割 步长 初值问题的数值解法分为两大类 单步法-Runge-Kutta 方法 多步法-Admas方法 计算 的近似值 时只用到 ,是自开始方法 Runge-Kutta法是常微分方程的一种经典解法 MATLAB 对应命令:ode45 四阶Runge-Kutta公式 四 阶 Runge-Kutta 法计算流程图 开始 Next i for i = 1 : N Plot 初始条件: ; 积分步长: 迭代次数: 输出结果 子程序计算 End 三. Runge-Kutta 法解Van der Pol 方程的Matlab 程序结构 主程序:RK_vanderp

文档评论(0)

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

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

1亿VIP精品文档

相关文档