(2052)/(x2 + y**2)
この関数に関して,分母が0の場合を除いて計算したいと考え,
以下のように書きました.
python
1def func(x, y): 2 3 if (x**2 + y**2) != 0: 4 return ((205**2)/(x**2 + y**2))
この時,
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
というエラーが出てしまいます.
全体としては
python
1import matplotlib.pyplot as plt 2import numpy as np 3from mpl_toolkits.mplot3d import Axes3D 4 5v = 0.25 6E=205*10**9 7P = 4.6*10*10**9 8 9def func(x, y): 10 11 if (x**2 + y**2) != 0: 12 return ((205**2)/(x**2 + y**2)) 13 14 15X, Y = np.meshgrid(np.arange(-3., 3., 0.5), 16 np.arange(-3., 3., 0.5)) 17Z = func(X, Y) 18 19# ワイヤーフレームでグラフを作成する。 20fig = plt.figure(figsize=(6, 6)) 21axes = fig.add_subplot(111, projection='3d') 22axes.plot_wireframe(X, Y, Z) 23plt.show()
このようになっています.
調べたところ,a.any()かa.all()にすればよいとのことでしたが具体的にどのようにすればよいのかわかりません.
何卒ご教授のほどよろしくお願いいたします.
環境は
Python 3.6.4 |Anaconda, Inc.|[MSC v.1900 64 bit] on win32
です.