- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常微分方程初值问题的MATLAB解法
用Matlab求常微分方程(ODE)的初值问题(IVP)
本节考虑一阶常微分方程
的数值求解问题,包括算法公式及编程问题。对一阶常微分方程组的初值问题
可以通过引入列向量化成类似的形式
其中
另外一个高阶常微分方程的初值问题
也可以通过变换化成维微分方程组:
我们在设计算法时通常先对一维一阶常微分方程进行,然后再将这个算法写成适合求解的向量形式,并以向量形式来进行编程。
非刚性系统与刚性系统
当时微分方程组变成
如果系数矩阵特征值满足,对应的特征向量为,则具有通解
其中为的一个特解。如果中的矩阵满足
就称微分方程组是刚性的或坏条件的或病态的。s称为刚性比。
对于一般的一阶常微分方程组,如果多元向量值函数对中向量的分量的Jacobi矩阵
的特征值对于求解区间上的任何满足式,则称微分方程组为刚性的。
2、解法器及调用格式
解法器 适用类型 何时使用 使用算法 ode45 Nonstiff Most of the time. This should be the first solver you try. Runge-Kutta (4,5) 格式 ode23 Nonstiff If using crude error tolerances or solving moderately stiff problems. Runge-Kutta (2,3) 格式 ode113 Nonstiff If using stringent error tolerances or solving a computationally intensive ODE file. Adams-Bashforth-Moulton PECE 格式 ode15s Stiff If ode45 is slow because the problem is stiff. ode23s Stiff If using crude error tolerances to solve stiff systems and the mass matrix is constant. ode23t Moderately Stiff If the problem is only moderately stiff and you need a solution without numerical damping. ode23tb Stiff If using crude error tolerances to solve stiff systems. 有如下三种调用方法,其中solver是上面三个解法器的名子。
(1) [t,y] = solver(odefun,tspan,y0);
(2) [t,y] = solver(odefun,tspan,y0,options);
(3) [t,y] = solver(odefun,tspan,y0,options,p1,p2...);
它们输入参数是:
(1) odefun:是一个函数句柄,指向初值问题中的函数,它的基本形式是 dydt = f(t,y),其中dydt,y是列向量,而t是标量。
(2) tspan:是一个向量,用于指定求解区间。要求这个向量的分量是有序的,或者单调上升或者单调下降。
(3) y0:是初值问题中的初始列向量。
(4) options:用于对解法器缺省的求解参数进行设置。如果不想改变缺省值,可以用空矩阵‘[]’来代替。
MATLAB的ODE解法器设计了一个结构变量用于设置解法器的各项公共参数,比如精度,步长等。其中已经定义了一些缺省值,用无参数的odeset命令可以列出所有的公共参数及其缺省值:
AbsTol: [ positive scalar or vector {1e-6} ]绝对误差
RelTol: [ positive scalar {1e-3} ]相对误差
NormControl: [ on | {off} ]是否用向量范数控制误差,缺省是按每个分量进行误差控制。
OutputFcn: [ function ]
OutputSel: [ vector of integers ]
Refine: [ positive integer ]
Stats: [ on | {off} ]
InitialStep: [ positive scalar ]初始步长
MaxStep: [ positive scalar ]最大步长,缺省为求解区间的十分之一。
BD
您可能关注的文档
最近下载
- 北师大版三年级上册数学第五单元提优练习(含答案).docx
- 肝癌中西医结合治疗.pptx VIP
- (1.14)--08第八章社区健康管理第3节学校健康管理.ppt VIP
- 农业统计报表培训课件.pptx VIP
- (1.13)--08第八章社区健康管理第2节工作场所健康管理.ppt VIP
- (1.12)--08第八章社区健康管理第1节生活社区健康管理.ppt VIP
- 季羡林《人生的意义和价值》课件PPT(25页).pptx VIP
- 溢洪道水面线计算.xls VIP
- 小学科学教科版四年级下册全册教案(2021新版).doc VIP
- 农业统计SARP2000程序培训ppt - 鄞州统计信息网- 鄞州区.ppt VIP
文档评论(0)