1
enter code here
import numpy as np  
import math  
import matplotlib.pylab as plt  
a=np.linspace(3,6,10)  
plt.plot(a,math.sin(a))  
plt.show()

输出显示 ****TypeError: only size-1 数组可以转换为 Python 标量

4

1 回答 1

7

使用np.sinnp.vectorize(math.sin)


import numpy as np  
import math  
import matplotlib.pylab as plt  
a = np.linspace(3,6,10)  
plt.plot(a, np.sin(a))  
plt.show()

请注意np.sin,likemath.sin采用弧度而不是度数,因此您可能需要a相应地调整数组 (),或者使用np.rad2deg因为目前结果是:

plt1

0而如果你在和之间传递浮点数2 * math.pi,你会得到一个很好的正弦波:

plt2

于 2018-09-01T16:11:31.500 回答