下面是我的短代码,但是有一个错误:"AttributeError: 'numpy.ndarray' object has no attribute 'sin'"
。
我不明白为什么以及如何解决。
请指导我!
非常感谢!
import numpy as np
w1 = 0.3
w2 = 0.2
w0 = 0.4
x1 = np.linspace(0, 10, 50)
x2 = np.linspace(0, 10, 50)
X, Y = np.meshgrid(x1, x2)
A = np.array([1,X,Y],dtype=object)
w = np.array([[w0],[w1],[w2]])
Z = np.sin(A.dot(w))
print (Z)
答案 0 :(得分:1)
因为您用A
定义了dtype=object
,所以A.dot(w)
的结果也将是object类型。因此,numpy.sin
尝试将sin
的结果中未定义的元素的成员函数调用A.dot(w)
。
产生错误:np.sin(np.array([np.array(1)], dtype=object))
没有错误:np.sin(np.array([np.array(1)]))
正如@Adelin前面提到的,只需调用np.sin(A.dot(w)[0]
。