绘制error_only size-1数组可以转换为Python标量

时间:2018-11-21 23:02:10

标签: python plot

我想绘制一个函数,每次遇到此错误:只有大小为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 :(得分:3)

使用numpy.arctannumpy.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