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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 def epanechK(x):
        y=0
        if -1<x<1:
               y=0.75*(1-x**2)
        return y
dans la pratique, x = (X-wd[i])/sig ; avec X un array, 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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 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....