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 :
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.]
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.
Savez vous donc pourquoi après la boucle, la constante est multipliée par 2?
Merci, Alex.
Partager