常微分方程(组)的数值解法.ppt

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

2.3 常微分方程(组)的数值解法 知识要点 Matlab常微分方程求解问题分类 Matlab求解初值问题函数 odefile odefile是一个Matlab函数文件,一般作为整个求解程序的一个子函数,表示ode求解问题 对于程序通用性要求不高的场合,只需将原有模型写成标准形式,然后“翻译”成Matlab语言即可 odefile的编写---常微分方程组 高阶微分方程odefile的编写 * * 常微分方程初值问题---ode45,0de23 微分方程在化工模型中的应用 间歇反应器的计算 活塞流反应器的计算 全混流反应器的动态模拟 定态一维热传导问题 逆流壁冷式固定床反应器一维模型 固定床反应器的分散模型 初值问题: 定解附加条件在自变量的一端 一般形式为: 初值问题的数值解法一般采用步进法,如Runge-Kutta法 边值问题: 在自变量两端均给定附加条件 一般形式: 边值问题可能有解、也可能无解,可能有唯一解、也可能有无数解 边值问题有3种基本解法 迭加法 打靶法 松弛法 Matlab求解常微分方程初值问题方法 将待求解微分方程(组)转化为标准形式, “翻译”成Matlab可以理解的语言 编写odefile文件 选择合适的解算指令求解问题 根据求解问题的要求,设置解算指令的调用格式 低阶法解刚性ODE ode23tb 低阶法解刚性ODE ode23s 变阶法解刚性ODE ode15s 解适度刚性ODE ode23t 读取ODE选项的设置 odeget 普通变阶法解ODE ode113 创建、更改ODE选项的设置 odeset 选 项 普通4-5阶法解ODE ode45 ODE文件格式 odefile 普通2-3阶法解ODE ode23 解 算 含义 指令 含义 指令 odefile的编写---常微分方程 function f=fun(x,y) f=y-2*x/y; 求解初值问题: 自变量在前,因变量在后 ode输入函数 输出变量为因变量导数的表达式 初值问题: function f=fun(x,y) f=y+y^2; 常微分方程组与单个常微分方程求解方法相同,只需在编写odefile时将整个方程组作为一个向量输出。 function f=fun(x,y) dy1dx = 0.04*(1-y(1))-(1-y(2)).*y(1)+0.0001*(1-y(2)).^2; dy2dx = -1e4*dy1dx + 3000*(1-y(2)).^2; f = [dy1dx; dy2dx]; 本例的难度: 求解: y(0)=0,y(0)=1, 方程系数非线性 可在odefile中定义 方程高阶,非标准形式 方程变形:令y1=y;y2=y’ 则原方程等价于: function f=fun(t,y) a=-exp(-t)+cos(2*pi*t)*exp(-2*t); b=cos(2*pi*t); f=[y(2);-a*y(2)^2-b*y(1)+exp(t)*b]; 解算指令的使用方法 [T,Y]=ode45(@fun, TSPAN,Y0) 输出变量T为返回时间列向量;解矩阵Y的每一行对应于T的一个元素,列数与求解变量数相等。 @fun为函数句柄,为根据待求解的ODE方程所编写的ode文件(odefile); TSPAN=[T0 TFINAL]是微分系统y=F(t,y)的积分区间;Y0为初始条件 常微分方程初值问题解算指令比较 低 TR-BDF2(隐式Runge-Kutta法) ode23tb 适中 使用梯形规则 ode23t 低 二阶改进的Rosenbrock法 ode23s 低~中 基于数值差分的可变阶方法(BDFs,Gear) ode15s 可变阶Adams-Bashforth-Moulton法 ode113 低 二三阶Runge-Kutta法 ode23 较高 四五阶Runge-Kutta法 ode45 精度 算法 解算指令 ode解算指令的选择(1) 求解初值问题: 比较ode45和ode23的求解精度和速度 1.根据常微分方程要求的求解精度与速度要求 ode45和ode23的比较-1 function xODE clear all clc format long y0 = 1; [x1,y1] = ode45(@f,[0,1],y0); [x2,y2] = ode23(@f,[0,1],y0); plot(x1,y1,k-,x2,y2,b--) xlabel(x) ylabel(y) % -------------------------------------------------

文档评论(0)

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

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

1亿VIP精品文档

相关文档