给定一个方程组:
f′′(x)=−a⋅sin(f(x))f(0)=bf′(0)=cf″(x)=−a⋅sin(f(x))f(0)=bf′(0)=c
a,b,c,dt,Na,b,c,dt,N是任意参数。
如何获得f(0),f(dt),f(2dt)...f(N)f(0),f(dt),f(2dt)...f(N)的值。我被第一个方程右边部分的非线性所困扰。
如果有人能向我展示一个计算这个的算法的实现,我会很高兴。
使用函数 , ,,我们得到一个自治一阶系统的初值问题: 我们现在为数值解选择欧拉方法: 。位置产生近似值。y1:=fy1:=fy2:=f′y2:=f′yy:=(y1,y2)⊤yy:=(y1,y2)⊤yy′=(y2−asin(y1))=:ff(yy),yy(0)=(bc)=:yy0.yy′=(y2−asin(y1))=:ff(yy),yy(0)=(bc)=:yy0.yyi=yyi−1+hff(yyi−1),yyi=yyi−1+hff(yyi−1), i=1,2,…i=1,2,…yyi≃yy(xi)yyi≃yy(xi)xi=ihxi=ih