在MATLAB中求解ODE时绘制ODE

在MATLAB中求解ODE时绘制ODE,matlab,plot,ode,Matlab,Plot,Ode,所以,我正在用ode45在MATLAB中求解一些常微分方程。关于它们或代码没有什么特别复杂的,但是每个ODE解决方案需要20-30分钟才能获得,我需要得到大约10分钟。这是一个参数扫描 当我坐在那里等待解决方案的到来时,我发现自己希望有某种方式来观察解决方案在颂歌解决时被绘制出来,这样既可以让自己确信正在取得进展,也可以在解决方案出现问题时结束解决方案 有没有办法从ode45返回当前未完成的解决方案,并在解决时实时绘制?我目前正在绘制解决方案,但这仍然需要一些时间,而且实时将非常棒。如果要实时绘

所以,我正在用ode45在MATLAB中求解一些常微分方程。关于它们或代码没有什么特别复杂的,但是每个ODE解决方案需要20-30分钟才能获得,我需要得到大约10分钟。这是一个参数扫描

当我坐在那里等待解决方案的到来时,我发现自己希望有某种方式来观察解决方案在颂歌解决时被绘制出来,这样既可以让自己确信正在取得进展,也可以在解决方案出现问题时结束解决方案


有没有办法从ode45返回当前未完成的解决方案,并在解决时实时绘制?我目前正在绘制解决方案,但这仍然需要一些时间,而且实时将非常棒。

如果要实时绘制,您必须编辑解算器本身的代码。这样做,我想当你运行解算器时,它会导致解算器慢到爬行,因为它必须以图形方式绘制它正在做什么。恐怕答案不多,但出于某种原因,该网站不允许我将此作为评论发布…

这是我对ode45所做的,以便在运行时对其进行绘图

%第470行

f:,1=f:,7;%已经有了新的,新的

%密谋

图1:nout,yout:,1:nout

抽签

%添加结束

结束


这正是我所担心的,尽管我没有想到策划的时间延迟——哦。谢谢但它总是值得一试。仔细查看ode45代码,看看是否可以通过编辑代码虹吸出一些实时数据是的,这不是一个真正的答案,这是错误的-您不需要编辑解算器本身。只需使用OutputFcn。@霍奇勒,你能把它作为一个答案吗?正确的答案是使用–参见示例。这是一个不好的方法。ode45是一个自适应解算器,因此每个积分步骤都会多次调用积分函数,有些调用会导致步骤失败。