我正在使用有限差分法解决非线性二阶隐式初始值问题,但我的结果不收敛。请用一个例子指导我,我们如何才能高精度地应用有限差分法。问题是使用 fdm,时间可以从 0 到 2 分钟。A、B 和 C 是常数。
使用 fdm 的隐式 odes 解决方案
计算科学
颂
非线性方程
时间积分
2021-12-17 17:16:13
2个回答
由于您有二阶 ODE,您必须提供 2 个初始条件,例如:
您可以做的一件事是转换原始二阶方程: 到一阶 ODE 系统 初始条件:
系统可以放入一个通用向量方程: 是 for and and。因此:
Yu 可以使用任何支持刚性方程的 ODE 求解器(隐式数值方法)通过 matlab 轻松求解。
您还必须指定要使用的方案。
假设您要使用简单的 Backward-Euler (BE) 方案。对于 BE 方案,您的控制方程变为
with
使用 (3) 中的 (2),
现在,使用 (1) 中的 (2) 和 (4),您将得到如下形式的非线性方程
可以使用迭代方案求解,例如 Newton-Raphson 方案。得到后,您可以分别从 (2) 和 (4) 计算速度和加速度。
您可以对其他方案遵循相同的过程。对于不同的方案,等式 (1)、(2)、(3) 和 (4) 将有所不同。
其它你可能感兴趣的问题