問題
x >= 0
ならx
、それ以外なら0
を出力する関数をプロットしたくてmax()
関数を使いたいのですが、pyplotの引数の渡し方でエラーとなります。
ダメコード
python
1import numpy as np 2from matplotlib import pyplot as plt 3 4x = np.linspace(-10,10,100) 5plt.plot(x, max(0, x))
出力↓
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
下記のようにplot(x, y)
のy
を関数ではなく配列として渡せばエラーなくできますが、それはなぜなんでしょう?
上のコードがダメな理由を教えて下さい!
OKコード
python
1import numpy as np 2from matplotlib import pyplot as plt 3 4x = np.linspace(-10,10,100) 5y = [max(0, i) for i in x] 6plt.plot(x, y)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/22 06:25