This question已经在网站上存在了很长时间,因此,从数学上讲,每次修正都已经完成。现在......从程序员的角度来看代码有什么问题?
答案 0 :(得分:1)
4个变量vr, vphi, r, phi
正在按顺序更新,但它们在彼此的方程中使用。考虑将它们更新为一组临时的新值,因此每个等式使用相同的旧值。完成后,执行更新。
vrNext = vr + (12/(r^7+4*r)*vr^2) *ds + (r^8/(4*r+r^7)*vphi^2) *ds
vphiNext = vphi + (-2/r*vr*vphi) *ds
rNext = r + vr*ds
phiNext = phi + vphi*ds
vr = vrNext
vphi = vphiNext
r = rNext
phi = phiNext