Я не могу создать график для y = sin (x) - PullRequest
0 голосов
/ 01 сентября 2018
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: только массивы размера 1 могут быть преобразованы в скаляры Python

1 Ответ

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

Используйте np.sin или np.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, как и math.sin, принимает радиан вместо градусов , поэтому вы можете настроить свой массив (a) соответствующим образом или использовать np.rad2deg потому что на данный момент результат:

plt1

Принимая во внимание, что если бы вы проходили поплавками между 0 и 2 * math.pi, вы бы получили хорошую синусоидальную волну:

plt2

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