1

这个问题在网站上已经存在很长时间了,所以,从数学上讲,每一次更正都已经完成。现在......从程序员的角度来看,代码有什么问题?

4

1 回答 1

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
于 2013-09-28T19:26:38.353 回答