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 :
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.
Partager