teaching:progappchim:polynomes-6

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
teaching:progappchim:polynomes-6 [2012/11/08 17:43] – créée villersdteaching:progappchim:polynomes-6 [2016/02/23 12:38] villersd
Ligne 17: Ligne 17:
  
 Cette façon d'évaluer le polynôme s'appelle la [[http://fr.wikipedia.org/wiki/M%C3%A9thode_de_Ruffini-Horner|méthode de Horner]] et est particulièrement efficace lorsque n est grand. La méthode débouche sur un algorithme facile à écrire sous forme d'une instruction de répétition. Cette façon d'évaluer le polynôme s'appelle la [[http://fr.wikipedia.org/wiki/M%C3%A9thode_de_Ruffini-Horner|méthode de Horner]] et est particulièrement efficace lorsque n est grand. La méthode débouche sur un algorithme facile à écrire sous forme d'une instruction de répétition.
 +
 +<note tip>Plutôt que de lire tout de suite la solution ci-dessous, trouvez cet algorithme seul. Il est très court !</note>
  
 <sxh python; title : poly06-horner.py> <sxh python; title : poly06-horner.py>
Ligne 30: Ligne 32:
     cf. http://fr.wikipedia.org/wiki/M%C3%A9thode_de_Ruffini-Horner     cf. http://fr.wikipedia.org/wiki/M%C3%A9thode_de_Ruffini-Horner
     """     """
-    n=len(a)-1 +    n = len(a) - 1 
-    p=a[n] +    p = 0. 
-    for i in range(n-1,-1,-1): +    for i in range(n,-1,-1): 
-        p=p*x+a[i]+        p = p * x + a[i]
     return p     return p
          
-x=2.   # x particulier +x = 2.   # x particulier 
-a=[1,1,1,1,1,1,1,1,1,1,1] # coefficients particuliers+a = [1,1,1,1,1,1,1,1,1,1,1] # coefficients particuliers
 print polyeval(x,a)   # on doit obtenir un exposant de deux moins un print polyeval(x,a)   # on doit obtenir un exposant de deux moins un
  
-varx=0.5 +varx = 0.5 
-varcoef=[1.,2.,3.,4.,5.,6.,7.,8.,9.,10.]+varcoef = [1.,2.,3.,4.,5.,6.,7.,8.,9.,10.]
 print polyeval(varx,varcoef) print polyeval(varx,varcoef)
  
 for j in range(0,11,1): for j in range(0,11,1):
-    vax=float(j)*0.1 +    vax = float(j) * 0.1 
-    rep=sin(polyeval(vax,varcoef))+    rep = sin(polyeval(vax,varcoef))
     print rep     print rep
 </sxh> </sxh>
  
-Écrivons à présent d'autres fonctions qui seront très utiles. Pour commencer : +Écrivons à présent d'autres fonctions qui seront très utiles pour manipuler des polynômes. Pour commencer : 
-  la fonction de multiplication d'un polynome pas un scalaire +  la fonction de multiplication d'un polynôme pas un scalaire 
-  la fonction d'addition de deux polynomes+  la fonction d'addition de deux polynômes 
 + 
 +<note tip>La première fonction est facile. Demandez-vous avant tout les paramètres à fournir à la fonction, et ce qu'elle doit renvoyer ! 
 + 
 +Pour la deuxième fonction, décortiquez la façon de procéder sur quelques exemples simples.</note>
  
 [[polynomes-7|Proposition à la page suivante !]] [[polynomes-7|Proposition à la page suivante !]]
  • teaching/progappchim/polynomes-6.txt
  • Dernière modification : 2017/02/28 10:01
  • de villersd