如何在求解 ODE 边值问题 (BVP) 时施加积分守恒?

计算科学 matlab 边界条件
2021-12-02 19:52:43

我有一个要解决的耦合 ODE 系统。函数是 A(x)、B(x)、C(x)。这是一个边界值问题。我正在使用 Matlab bvp4c。

到目前为止,我对我的解决方案并不满意。对于我感兴趣的边界,求解器失败(Matlab 返回“遇到的奇异雅可比行列式”)。对于其他一些边界,结果取决于初始猜测。所以我认为我的系统定义不明确。我正在考虑添加一个约束,但我不知道如何实现它

如何强制执行abdx(A(x)+B(x)+C(x))=N

1个回答

您可以扩充您的 ODE 系统以包含更多方程。如果你让

I(x)=ax(A(s)+B(s)+C(s))ds,

然后 , ,,你还有另一个可以解决的边值问题在 MATLAB 中使用.I(a)=0I(b)=NI˙(x)=A(x)+B(x)+C(x)bvp4c