2017-09-28 10 views
0

プロット:は私が今、プロットしたい機能定義した定義関数

import numpy as np 
from math import pi, sqrt 
import matplotlib.pyplot as plt 

def f(x: float) -> float: 
    return pi * x * sqrt(x**2 + 400) + pi * x**2 - 1200 

plt.plot(f(x)) 
plt.show() 

このコードを実行するときに、私は「NameErrorを:名 『X』が定義されていません」を取得します。

+0

'x'をある値で初期化する必要があります – MrPyCharm

答えて

1

matplotlibと一緒にnumpyを使用すると便利なことがよくあります。関数を定義すると、単精度浮動小数点数型配列だけでなく、入力としてnumpy配列をとるように書くことができます。もちろん

import numpy as np 
import matplotlib.pyplot as plt 

def f(x): 
    return np.pi * x * np.sqrt(x**2 + 400) + np.pi * x**2 - 1200 

x = np.array([1,2,3,4]) 
plt.plot(x, f(x)) 
plt.show() 

あなたは今も、単一のフロート

print(f(9.2)) 

または

y = [f(i) for i in x] 
plt.plot(x,y) 

リストや配列

の各要素のためにそれを使用するための機能を評価することができしかし、あなたは知っている一度数学的演算を簡単な配列に簡単に適用できるという事実は、おそらく後者を選択したくないということです。

関連する問題