原文是我在2014年写的,用C# 完成,这里改成JavaScript了,特基础。当然最方便的还是用数学库,或者Matlab、Mathematics这些数学软件(如果你只求值的话),或者可以换成C、Java、Go、Erlang任何其他的语言实现。欧拉(Euler)和中心差分逼近,是最朴素的想法,可惜代数精度太低了,而龙格库塔的稳定性又是个问题。总之只能用来计算普通的东西,高大上问题一般还是使用广义$\alpha$,Wilson-$\Theta$之类的,利用系数调节人工阻尼,让低频的部分少受算法影响,高频阻尼增大,增加微分方程的稳定性,又不影响算法的精度。
欧拉法求解微分方程
内容版权声明:除非注明,否则皆为本站原创文章。