我在 Fortran 中编写了一个代码来使用 RK4 方法求解这个微分方程:
,, 和是一些已知的常数。问题是我的初始值是和因为是分母的根我得到一个运行时错误。
有谁知道我该如何解决这个问题?
我在 Fortran 中编写了一个代码来使用 RK4 方法求解这个微分方程:
,, 和是一些已知的常数。问题是我的初始值是和因为是分母的根我得到一个运行时错误。
有谁知道我该如何解决这个问题?
你的问题不是很好。两边乘以以形式获得 ODE
如果您的初始条件是,那么在最初的时候你有
这意味着如果, 没有值可以满足方程。
换句话说,您的问题不在于您不知道如何说服您使用的任何 ODE 积分器来接受您的初始条件。你的问题是你的数学模型没有意义。
如果常数为正,则是积极的和设置你得到这更规则一些,并允许初始值没有奇点。
这个方程在接近初始点时仍然是僵硬的,这应该会对固定步长 RK4 的局部误差产生影响,只要接近于零。人们可以通过最初使用较小的步长来抵消这一点。