2017-07-31 4 views
2

y = | sin(x)| -3から3

x = np.linspace(-3,3) 
y = np.mod(np.sin(x)) + 5*np.exp(-x**100)*np.cos(x) #from -3 to 3 

ValueError: invalid number of arguments 

に+ 5 *のEXP(-x^100)* COS(x)は、私はこの方程式をプロットしたいが、次のように指定する必要がありますnp.modでそれを式の引数の数が無効です。

+0

'np.exp(-x ** 100)'は、オーバーフローとアンダーフローの対象になることに注意してください。その結果は、あなたが望む、または必要とするほど正確ではないかもしれません。 – MSeifert

答えて

4

関数np.modは、期待している絶対値関数ではなく、代わりにmodular arithmeticに関連しており、結果を正しく計算するために2つの値を指定する必要があります。たとえば、np.mod(5, 3) == 2が5の場合、2を法とする3に一致します。

関数呼び出しは、指定された引数の絶対値を与えるnp.absoluteです。

4

をコンパイルすることはできません2番目の引数(除数)。あなたはnp.absoluteなくnp.modを使用する必要があり、絶対値を計算したい場合たとえば、

np.mod(np.sin(x),2) 

また、@Jake Conkerton-ダービーは、彼のanwersで述べたように。