[Résolu] fonctions sur un array

jeps76
[Résolu] fonctions sur un array

Bonjour à tous,

je développe un script pour faire du calcul sur des directions et vitesses de vents; et j'ai besoin de définir au préalable une fonction de kernel gaussien et d'epanechnikov.

Mon problème vient de la deuxième. Voici comment je l'ai définie:
def epanechK(x):
y=0
if -1 y=0.75*(1-x**2)
return y
dans la pratique, x = (X-wd[i])/sig ; avec X un array numpy, wd[i] un élément d'une liste, et sig une constante.

et quand je fais tourner le script, j'ai cette erreur:
"ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()"

j'ai donc changé la définition de la fonction par:
def epanechK(x):
y=0
if all([x<1,x>-1]):
y=0.75*(1-x**2)
return y

Mais rien n'y fait, j'ai toujours ce même message d'erreur.

Quelqu'un connait-il la bonne syntaxe a utiliser??

P.S.: pour info, le script marche très bien lorsque je ne met aucune condition sur x....

fredericmazue
Re: fonctions sur un array

Bonjour,

Pourquoi ne pas essayer de faire ce que dit le message d'erreur:

if -1 < x.all() <1 :

As-tu essayé ?

jeps76
Re: fonctions sur un array

Yes, ça marche!!!
Plus de message d'erreur.... Merci beaucoup!!!
Je ne comprenais pas la syntaxe :-)