擅长:python、mysql、java
<p>您的示例无法运行,因为您没有指定<code>mu2</code>。你知道吗</p>
<p>阅读<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root.html" rel="nofollow noreferrer">documentation for ^{<cd2>}</a>中的例子。同时读取由<code>root</code>返回的<a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.OptimizeResult.html#scipy.optimize.OptimizeResult" rel="nofollow noreferrer">^{<cd3>} object</a>的属性,正如Abs指出的,<code>optimize.root</code>返回一个对象,但是您必须使用所述对象的<code>x</code>属性来访问解决方案。你知道吗</p>
<p>你想做一些类似的事情(我用了<code>mu2=1</code>):</p>
<pre><code>import numpy as np
from scipy import optimize
mu2 = 1
earthpos=np.array([ 1.50000000e+11, 0.00000000e+00, 0.00000000e+00])
def equations(p,qf):
q1, q2, q3, q4 = p
r1=np.sqrt((qf[0]-mu2)**2+qf[1]**2+qf[2]**2)
return q1**2-q2**2-q3**2+q4**2-qf[0]+mu2, 2*q1*q2-2*q3*q4-qf[1], 2*q1*q3+2*q2*q4-qf[2], q1**2+q2**2+q3**2+q4**2-r1
sol = optimize.root(equations, (1,1,1,1),earthpos)
q1, q2, q3, q4 = sol.x
print(q1)
</code></pre>