la type de retour d'une fonction constante dépend d'un détail purement syntaxique
Bonjour,
Il se passe quelque chose d'étrange quand j'applique une fonction constante à un Numpy array. Voyez plutôt:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
import numpy as np
def zero(x):
"""une fonction qui renvoie toujours 0."""
return 0
def encoreZero(x):
"""la fonction d'avant + un tour de passe-passe apparamment inutile."""
return x - x
myArray = np.linspace(0, 3, 3) # un Array [0, 0, 0]
print(zero(myArray)) # affiche 0 à l'écran.
print(encoreZero(myArray)) # affiche [0, 0, 0] à l'écran. |
Du coup quand je veux faire un tracé de la fonction zero ça me renvoie l'erreur:
ValueError: x and y must have same first dimension, but have shapes (100,) and (1,)
alors qu'avec x-x au lieu de 0 tout va bien. (Vous comprenez ce que je veux dire? Je peux ajouter un le bout de code donnant cette erreur-là s'il le faut.)
Bref, j'aimerais qu'une fonction qui reçoit en paramètre un Numpy Array soit appliquée à chacun des éléments du Array, quelle que soit la valeur de retour et la syntaxe utilisée pour la définir la fonction. Vous pouvez me donner votre conseil à ce sujet? Merci d'avance.