“常用公式”在线计算,“设计手册”在线查询
我用matlab中的 ode45函数option=odeset('RelTol',1e-6,'OutputFcn','odeplot','Mass',@mass_a);[t,yt]=ode45(@adifc,tspan,y,option);求解有关于运动的一个微分方程组 运动方程为My''+Cy'+Ky=F其中y实际上是一个6x1的向量,权重M即为mass_a已经求出,可是计算过程中报错了,我调试了很久 一个时间步一个时间步来调,前几个时间步可以计算,某时间步之后,求解的y就出现了复数了,实际是不应该出现的。不会是函数的调用过程出错的,因为都运行了很多步了。上网了解了下关于ode45的适用范围,对什么是刚性问题之类的不是特别了解,就换了ode23 ode23s,均告失败。还望高手能解释一下,ode45为何会求解出复数,在ode45求解失败的情况下,可以用什么替代方法?和初始条件有关系吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 0 个关于本帖的回复 最后回复于 2013-5-23 11:13

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台