x为一维数组,用math.cos()时
import matplotlib.pyplot as plt
import numpy as np
import math
x=np.linspace(-4,20,240)
y=x*math.cos(0.25*math.pi*x)
plt.figure()
plt.plot(x,y)
plt.show()
运行报错:
用np.cos()时:
import matplotlib.pyplot as plt
import numpy as np
import math
x=np.linspace(-4,19,240)
y=x*np.cos(0.25*np.pi*x)
plt.figure()
plt.plot(x,y)
plt.show()
正常运行
原因:math库的三角函数为标量函数,只能传进单值;numpy库的三角函数为矢量函数,可以传入单个数值或数值数组。