AttributeError: у объекта 'numpy.ndarray' нет атрибута 'sin'? - PullRequest
0 голосов
/ 05 июня 2019

Ниже приведен мой короткий код, но в нем есть ошибка: "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)

1 Ответ

1 голос
/ 05 июня 2019

Поскольку вы определяете A с помощью dtype=object, результат A.dot(w) также будет иметь тип объекта.Как следствие этого, 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].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...