积分非线性常微分方程

计算科学 非线性方程 微分方程 显式方法
2021-11-28 21:04:44

我正在求解形式的方程

() 0=a(f)(rf)2+b(f)(rf)+c(f),

在哪里f是一个实函数rR, 和a,b,c是真正的函数f. 边界条件f=f0r=0. 现在,我正在解决()通过有限差分()然后应用松弛法。

我想解决()使用显式方法,例如 Runge-Kutta 类型方法。到目前为止我唯一想到的想法是治疗()作为代数方程rf,然后使用 Runge-Kutta 求解器求解生成的线性 ODE。我发现这个过程非常不优雅,我想知道是否有一套算法可以解决(至少)特定类型的非线性 ODE。

我认识到(可能是?)解决方案的唯一性问题(); 我也将不胜感激有关如何以数字方式选择特定解决方案的任何见解。

1个回答

您不仅有一个一阶 ODE,因此您不能使用显式 Runge-Kutta 方法。由于平方项,您甚至无法将其转换为质量矩阵形式。相反,您拥有的是隐式 ODE。这属于称为微分代数方程的问题类别,即使您没有任何纯代数变量,它仍然有效。解决 DAE 的常用方法是使用完全隐式 BDF 方法。用于此的软件可用于C++JuliaMATLAB等。