teaching:progappchim:polynomes-6

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
teaching:progappchim:polynomes-6 [2016/02/23 12:38] villersdteaching:progappchim:polynomes-6 [2017/02/28 10:01] (Version actuelle) villersd
Ligne 16: Ligne 16:
 Nous avons donc 4 multiplications à effectuer, et pas 4 + 3 + 2 + 1 multiplications en absence de réarrangement.  De plus, on répète systématiquement l'alternance des opérations "multiplier par x" et "ajouter un coefficient". Nous avons donc 4 multiplications à effectuer, et pas 4 + 3 + 2 + 1 multiplications en absence de réarrangement.  De plus, on répète systématiquement l'alternance des opérations "multiplier par x" et "ajouter un coefficient".
  
-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 [[wp>fr:Méthode_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> <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> +<code python poly06-horner.py> 
-#!/usr/bin/python+#!/usr/bin/env python
 # -*- coding: UTF-8 -*- # -*- coding: UTF-8 -*-
-""" écriture d'un programme pour évaluer+""" 
 +écriture d'un programme pour évaluer
 des polynomes des polynomes
 """ """
Ligne 29: Ligne 30:
  
 def polyeval(x,a): def polyeval(x,a):
-    """application de l'agorithme de Horner+    """ 
 +    application de l'agorithme de Horner
     cf. http://fr.wikipedia.org/wiki/M%C3%A9thode_de_Ruffini-Horner     cf. http://fr.wikipedia.org/wiki/M%C3%A9thode_de_Ruffini-Horner
     """     """
Ligne 39: Ligne 41:
          
 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>+</code>
  
 Écrivons à présent d'autres fonctions qui seront très utiles pour manipuler des polynômes. Pour commencer : Écrivons à présent d'autres fonctions qui seront très utiles pour manipuler des polynômes. Pour commencer :
  • teaching/progappchim/polynomes-6.txt
  • Dernière modification : 2017/02/28 10:01
  • de villersd