Bonjour,

Il se passe quelque chose d'étrange quand j'applique une fonction constante à un Numpy array. Voyez plutôt:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.