Ошибка Python: только массивы одного размера могут быть преобразованы в скаляры Python - PullRequest
0 голосов
/ 04 сентября 2018

Я получаю эту ошибку. Я должен отметить, что в моем служебном файле «funcbarsq» - это функция, определенная как произведение четырех векторов точек между другой функцией funcbar и самой funcbar. Который использует другое определение четырех векторного точечного произведения. Таким образом, определяется операция произведения четырехточечной точки, определяется funcbar, а funcbarsq определяется как произведение четырехточечной точки funcbar*funcbar = funcbarsq.

C:\utilityfile in function(x, y, z, q, r, l, m, n)
    116 
    117 def function(x,y,z, q, r, l, m, n):
--> 118     val = np.abs(funcbarsqr/(float(q**2))
    119     return val
    120 

TypeError: only size-1 arrays can be converted to Python scalars

1 Ответ

0 голосов
/ 04 сентября 2018

Вы передаете q**2 на float(). Как говорится в сообщении об ошибке, это значение (и, следовательно, q) должно быть массивом с только одним элементом . В вашем случае это не так, и вот откуда возникает ошибка.

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