import numpy as np
from scipy.optimize import fsolve
musun = 132712000000
T = 365.25 * 86400 * 2/3
e = 581.2392124070273
def f(x):
return ((T * musun ** 2/(2 * np.pi)) ** (1/3) * np.sqrt(1 - x ** 2)
- np.sqrt(.5 * musun ** 2/e * (1 - x ** 2)))
x = fsolve(f, 0.01)
f(x)
print x
이 코드의 잘못된 점은 무엇입니까? 그것은 작동하지 않는 것 같습니다.솔루션을 찾으려면 fsolve를 사용하십시오.
"작동하지 않음"을 정의하십시오. –
두 번째'sqrt' 매개 변수의 분모를 지정하는 데 오류가있는 것 같습니다. 아마도'np.sqrt (.5 * musun ** 2/(e * (1 - x ** 2))))'? – mtadd