Matlab ode45和ode23有什么区别

来自:    更新日期:早些时候
MATLAB 程序中 ode 都有哪些? 比如ode15、ode23 ode45,各有什么优缺点?适用范围有哪些?~


这张图来自于MATLAB 技术论坛,这是一个非常有价值的网站,里面高手云集,希望你可以进去看看,里面有非常详细的关于ODE的介绍
http://www.matlabsky.com/thread-528-1-1.html

ode45是基于四点法和五点法的解微分方程数值解的方法,ode23等也一样,都是基于已知点“预测”下一个点的函数值的方法,不同的算法“预测”的方法不一样。比较著名的“预测”方法有欧拉法,改进的欧拉法,龙格库塔法,多点法等。在matlab一般使用中这些方法的差别不大,可以不予理会,会用一个即可,推荐ODE4。

引用一下matlab论坛里大神的回答:
总得来说:二者算法相似,只不过ode45比ode23精度要高一点,其它没什么差别。
具体ode是Matlab专门用于解微分方程的功能函数;solver有变步长(variable-step)和定步长(fixed-step)两种类型,不同类型有着不同的求解器。ode45求解器属于变步长的一种,采用Runge-Kutta算法;和他采用相同算法的变步长求解器还有ode23。ode45表示采用四阶,五阶runge-kutta单步算法,截断误差为(Δx)3。解决的是Nonstiff(非刚性)的常微分方程.是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,换用ode23来解。

ode23 是 Bogacki 和 Shampine 的显式 Runge-Kutta (2,3) 对的实现。在容差较宽松且刚度适中的情况下,它可能比 ode45 更加有效。ode23 是单步求解器,是求解非刚性微分方程的低阶方法。(在数学中,刚性方程是指一个微分方程,其数值分析的解只有在时间间隔很小时才会稳定,只要时间间隔略大,其解就会不稳定。目前很难去精确地去定义哪些微分方程是刚性方程,但是大体的想法是:这个方程的解包含有快速变化的部分。)


参考其中ode23和ode45的对比网页链接




Matlab ode45和ode23有什么区别视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网