построение массивов error_only size-1 можно преобразовать в скаляры Python - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу построить функцию, и каждый раз, когда я получаю эту ошибку: только массивы размера 1 могут быть преобразованы в скаляры Python.Я хочу нанести на экран свою функцию через w.

Код:

import matplotlib.pyplot as plt
import numpy as np
import math
a = 10;
w = np.arange (0.001,10, 0.1)

function = (1/(np.pi*(w**2))+ np.pi)*abs(((-2*math.atan(a))*w)-(2*math.atanh(((w**2) + 1)/(-1*(w**2) + 2*(a**2) +1))*w)+ (np.pi*w) -(2*math.atanh(w/(a))))

plt.plot(w, function) 

plt.show() 

Спасибо за ваше время.

1 Ответ

0 голосов
/ 22 ноября 2018

Вам будет лучше использовать numpy.arctan и numpy.arctanh вместо math эквивалентов, поскольку они могут работать с массивами:

a = 10;
w = np.arange (0.001,10, 0.1)

function = (1/(np.pi*(w**2))+ np.pi)*abs(((-2*np.arctan(a))*w)-(2*np.arctanh(((w**2) + 1)/(-1*(w**2) + 2*(a**2) +1))*w)+ (np.pi*w) -(2*np.arctanh(w/(a))))

plt.plot(w, function) 

plt.show() 

enter image description here

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