如何避免Matlab中的集成商超越有效解决方案的领域?

问题描述

我使用ode45解决ODE的系统。该系统描述了平面流,我打算为其绘制轨迹。流在平面上覆盖凸形,并且理论上不会越过边界。

问题在于,ODE系统需要评估仅在域内部才具有实际价值的功能,但是在集成过程中,ode45尝试每轮增加时间步长,以使轨迹可能退出域。 (函数值是迭代计算的,并且在域外根本没有解,迭代返回的矩阵为空。)在这种情况下,无法对方程求值,并且积分会出错。我无法通过终止事件解决此问题,因为该错误发生在试用子步骤中。而且,我不想停止积分器,因为可以用较小的时间步长确定轨迹。

是否有合适的解决方案,让我让积分器知道时间步长太大,应该减少时间步长而不是出错?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)