ode45计算一直无法得到结果
matlab运行下面的程序为什么一致处于busy状态而无法得到需要的结果?x0=;T=10;
P=300000:1000:500000;
hold on
for j=1:length(P)
for w=10:1:170
=ode45('ququjili',,x0,[],P(j),w);
end
end
griddata(P,w,x(50,1),linspace(300000,500000),linspace(10,170),'v4');
surf(P,w,x(50,1))function y=ququjili(t,x,flag,P,w)
y=;
有可能是方程刚性导致的,可以判断一下是否是刚性方程
ode45是适用于求解非刚性方程,刚性方程一般用ode15s或者ode23s
关于刚性方程的问题可以参考《刚性常微分方程初值问题的数值解法》这本书
http://forum.vibunion.com/thread-137670-1-1.html
我已经将这本书上传至上述帖子了
谢谢,我试试看 yizhibusy 发表于 2015-9-25 13:22
谢谢,我试试看
请问,最后使用哪个求解器解决的?我现在计算使用ode45,也是没有反应呢 xiaoshihanlan 发表于 2017-8-29 15:59
请问,最后使用哪个求解器解决的?我现在计算使用ode45,也是没有反应呢
根据你的实际情况选择合适的求解器吧
以上图片来自MATLAB 技术论坛
suffer 发表于 2017-9-14 10:22
根据你的实际情况选择合适的求解器吧
非常感谢!我的方程采用ode45解不动,改用23s可以进行 xiaoshihanlan 发表于 2017-9-15 09:19
非常感谢!我的方程采用ode45解不动,改用23s可以进行
这说明你的方程是刚性的 linlin820 发表于 2017-9-15 09:21
这说明你的方程是刚性的
嗯,应该是,之前没有判定一下方程的刚性,请教一下方程的刚性判定方式?我的方程很庞大 xiaoshihanlan 发表于 2017-9-15 09:24
嗯,应该是,之前没有判定一下方程的刚性,请教一下方程的刚性判定方式?我的方程很庞大
看下面的定义
linlin820 发表于 2017-9-15 09:34
看下面的定义
非常感谢,我学习下
页:
[1]