2016-09-16 3 views
-2
from math import sin, cos, pi 
import numpy as np 
N=10 

a=np.random.randint(0, 360+1, N) 
print (a) 

theta=a*pi/180 
print(theta) 

x=[cos(theta)] 
print(x) 
y=[sin(theta)] 
print(y) 

TypeError         Traceback (most recent call last) 
<ipython-input-47-632b45c2aba1> in <module>() 
     9 theta=a*pi/180 
    10 print(theta) 
---> 11 x=[cos(theta)] 
    12 print(x) 
    13 y=[sin(theta)] 

TypeError: only length-1 arrays can be converted to Python scalars 
+1

Отформатируйте ваш код с кодовым блоком – RPGillespie

+3

В чем вопрос? – jadsq

ответ

1

Попробуйте использовать np.cos(theta) вместо cos(theta). То же самое касается sin.

Только функции NumPy могут применяться как к скалярам, ​​так и к массивам. Регулярное cos() и sin() вместо ожидать только скалярные аргументы, и не в пример, как вы пытаетесь применить их в массиве NumPy размера 10.

NumPy cos документация: http://docs.scipy.org/doc/numpy/reference/generated/numpy.cos.html cos документация: https://docs.python.org/2/library/math.html