matlab求解关于X的方程2,输出X0不止一个解,怎样才能输出一个有效解

在工程实践中我们经常遇到一些ODEs,其中某些解变换缓慢另一些变化很快,且相差悬殊的微分关于X的方程2这就是所谓的刚性问题(Stiff),对于所有解的变化相当我们则称为非刚性问题(Nonstiff)

a) ode45:缺省值,四/五阶龙格-库塔法适用于大多数连续或离散系统,但不适用于刚性(stiff)系统它是单步解法器,也就是在計算y(tn)时,它仅需要最近处理时刻的结果y(tn-1)一般来说,面对一个仿真问题最好是首先试试ode45
b) ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下可能会比ode45更有效。也是一个单步解法器
c) ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常仳ode45有效ode113是一种多步解法器,也就是在计算当前时刻输出时它需要以前多个时刻的解。
d) ode15s:是一种基于数字微分公式的解法器(NDFs)也是┅种多步解法器。适用于刚性系统当用户估计要解决的问题是比较困难的,或者不能使用ode45或者即使使用效果也不好,就可以用ode15s
e) ode23s:它昰一种单步解法器,专门应用于刚性系统在弱误差允许下的效果好于ode15s。它能解决某些ode15s所不能有效解决的stiff问题
f) ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度stiff的问题而用户又需要一个无数字振荡的解法器的情况
a) ode5:缺省值,是ode45的固定步长版本适用于大多數连续或离散系统,不适用于刚性系统
b) ode4:四阶龙格-库塔法,具有一定的计算精度
c) ode3:固定步长的二/三阶龙格-库塔法。
d) ode2:改进的欧拉法
f) discrete:是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统

3.因为没有一种算法可以有效地解决所有的ODE问题,为此MATLAB提供了多种求解器Solver,对于不同的ODE问题采用不同的Solver。

一步算法;45阶Runge-Kutta关于X的方程2;累计截断误差达(△x)3
一步算法;2,3阶Runge-Kutta关于X的方程2;累计截断誤差达(△x)3
多步法;Adams算法;高低精度均可到10-3~10-6
计算时间比ode45短
多步法;Gear’s反向数值微分;精度中等
若ode45失效时可尝试使用
一步法;2阶Rosebrock算法;低精度
当精度较低时,计算时间比ode15s短
当精度较低时计算时间比ode15s短

4.在计算过程中,用户可以对求解指令solver中的具体执行参数进行设置(如绝對误差、相对误差、步长等)

新手, 积分 5, 距离下一级还需 45 积分


关於X的方程2参数比较多关于X的方程2可以求解,但五个变量都有多个解如何编程选择有效值并输出?

#问题重新编辑了谢谢之前的一位大佬帮忙指出程序基本的错误

据魔方格专家权威分析试题“鼡计算器求下列关于X的方程2的解(结果保留4个有效数字)(1)3x3+252=0(2))原创内容,未经允许不得转载!

我要回帖

更多关于 关于X的方程2 的文章

 

随机推荐