Bonjour,
Dans le cadre de mon projet d'ISN au lycée (je suis sous Anaconda, pour avoir facilement les bibliothèques dont j'avais besoin) :
J'ai créé une fonction qui permet d'afficher la représentation graphique d'un polynôme, à partir d'une liste contenant ses coefficients ([0,0,1] pour la fonction x², ou [4,-12,3] pour la fonction 3x²-12x+3).
Cependant, quand le polynôme est de degré 0, donc quand c'est une constante, l'attribution de la valeur de y est multiplié par 2, sans savoir pourquoi.
Voici la partie du code correspondante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
coef=[2]
x=linspace(xmin,xmax,10000) #crée 1000 points entre xmin et xmax
y = coef[0]                 #on définit y avec le premier coefficients du polynome (celui de plus bas degré)
 
    for i in range (0, len(coef)):
        y= y + (coef[i]*(x**i)) #on implémente ensuite les autres coefficients associés à x et son degré,
     #arrivée ici, on sait que y va calculer sa valeur pour chaque valeur de x, donc 1000 valeurs.
J'ai essayé de mettre un "print y" en ligne 4, et un autre en ligne 8. Le print en ligne 4 affiche "2" et celui en ligne 8 affiche "[4. 4. 4. ..., 4. 4. 4.]
Savez vous donc pourquoi après la boucle, la constante est multipliée par 2?
Merci, Alex.