Outils pour utilisateurs

Outils du site


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 [2015/03/01 10:27]
villersd
teaching: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
     """​     """​
-    n=len(a)-1 +    n = len(a) - 1 
-    p=0.+    p = 0.
     for i in range(n,​-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>+</code>
  
-Écrivons à présent d'​autres fonctions qui seront très utiles pour manipuler des pôlynomes. 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 polynôme pas un scalaire   - la fonction de multiplication d'un polynôme pas un scalaire
   - la fonction d'​addition de deux polynômes   - la fonction d'​addition de deux polynômes
teaching/progappchim/polynomes-6.1425202025.txt.gz · Dernière modification: 2015/03/01 10:27 par villersd