2012-02-11 30 views
2

私はSciPyを使って、Newton-Raphsonを使った非常に簡単な方程式(ケプラーの方程式)を解こうとしています。しかし、プログラムをexectuingすると、次のエラーメッセージで失敗します。明らかにSciPyを読み込むことができません

return sc.optimize.newton(f, meanAnomaly, f_prime, args=(), 
AttributeError: 'module' object has no attribute 'newton' 

しかし、私はscipyのダウンロードは、Ubuntuの12.04の下にインストールされています。 scipy.test()から:

NumPy version 1.5.1 
NumPy is installed in /usr/lib/python2.7/dist-packages/numpy 
SciPy version 0.9.0 
SciPy is installed in /usr/lib/python2.7/dist-packages/scipy 
Python version 2.7.2+ (default, Jan 21 2012, 23:31:34) [GCC 4.6.2] 
nose version 1.1.2 

どうしたのですか?ここに私のコードです:あなたはscとしてscipy.optimizeを輸入している

# File a 
from b import * 

print calculate_eccentric_anomaly(1,2) 

# File b 
def calculate_eccentric_anomaly(meanAnomaly, eccentricity): 
    import scipy.optimize as sc 

    def f(eccentricAnomaly): 
     return (eccentricAnomaly - eccentricity * 
       sc.sin(eccentricAnomaly) - meanAnomaly) 

    def f_prime(eccentricAnomaly): 
     return 1 - eccentricity * sc.cos(eccentricAnomaly) 

    return sc.optimize.newton(f, meanAnomaly, f_prime, args=(), 
           tol=1e-10, maxiter=50) 

答えて

5

、あなたは効果的scipy.optimize.optimize.newtonだろうsc.optimize.newtonを、呼び出ししようとしています。私はおそらく、あまりにもこれを考え出した

import scipy.optimize as opt 

または

import scipy.optimize as scopt 
+0

それは、愚かな初心者の間違いです。 – Ingo

0

んが、問題に加えてscipy.optimizeには罪/ COSが存在しない、と指摘larsmansでしょう。

+0

確かにそれは本当です。とにかく今自分自身を考え出していますが、とにかくあなたの発言に感謝します。 – Ingo

+1

ええ、私は主に、検索エンジン経由でここに来る人の利益のために追加しました。 – rnorris

関連する問題