具体来说,ode15i。我有 ode15i 求解具有初始条件的 5 个变量中的 5 个一阶隐式 ode 的系统(由 decic 保持一致)。它非常适合我的需要,除了我还需要添加最终条件。这可能吗?我认为(但不确定)ode15s 也可以。
编辑: -
编辑2:我想我想通了。我将为所有导数创建虚拟变量,添加一堆额外的方程,这应该使方程“显式”,这样我就可以使用 bvp4c。
具体来说,ode15i。我有 ode15i 求解具有初始条件的 5 个变量中的 5 个一阶隐式 ode 的系统(由 decic 保持一致)。它非常适合我的需要,除了我还需要添加最终条件。这可能吗?我认为(但不确定)ode15s 也可以。
编辑: -
编辑2:我想我想通了。我将为所有导数创建虚拟变量,添加一堆额外的方程,这应该使方程“显式”,这样我就可以使用 bvp4c。
我假设你想解决
您不能简单地将 ODE 求解器应用于此问题,除非您采用向前向后迭代的启发式方法(请参见下面的列表)。
这些边值问题没有通用的方法。而且我不知道 Matlab 中有任何内置函数可以解决这些边界值问题,即使是.
[编辑:有用于解决这些半显式两点边界值问题的 matlab 函数,请参阅 David Ketcheson 的回答,它使用有限差分和搭配。]
所以,我的回答是,您的特定问题没有答案,如何让 Matlab 的 ODE 求解器处理您的问题。
要解决此问题,您有以下选择:
这些问题的标准参考书是 Ascher、Mattheij 和 Russell 合着的书:常微分方程边值问题的数值解。但是,那里没有考虑隐含的问题。
以“ode”开头的 MATLAB 例程,如 ode15i,用于解决初始值问题。如果要解决边界值问题,请使用 bvp4c 或 bvp5c。