import numpy as np
for i in range(len(x)):
if (np.floor(N[i]/2)==N[i]/2):
for j in range(N[i]/2):
pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)
else:
for j in range((N[i]-1)/2):
pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)
Quelqu'un at-il une idée de résoudre ce problème? Exécuter ces codes avec succès?
Merci,
Jeremy
N=np.floor(np.divide(l,delta))
...
for j in range(N[i]/2):
N[i]/2
Sera un float64
Mais range()
attend un entier. Il suffit de lancer l'appel à
for j in range(int(N[i]/2)):
Je suis venu ici avec la même erreur, mais avec une origine différente.
Cela est dû à un indice flottant non pris en charge dans 1.12.0 et aux versions numpy plus récentes, même si le code doit être considéré comme valide.
Un type int
est attendu, pas un np.float64
Solution: essayez d'installer numpy 1.11.0
Sudo pip install -U numpy==1.11.0.