teaching:progappchim:polynomes-8

Polynômes : graphes de fonctions polynomiales

poly08-plot.py
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
écriture d'un programme pour évaluer
des polynomes
"""
from math import *
from pylab import *   # librairies de graphiques (matplotlib)
 
def polyeval(x,a):
    """
    application de l'agorithme de Horner
    cf. http://fr.wikipedia.org/wiki/M%C3%A9thode_de_Ruffini-Horner
    """
    n = len(a)-1 # n = ordre du polynome
    p = 0.
    for i in range(n,-1,-1):
        p = p*x + a[i]
    return p
 
def polyscal(s,a):
    """
    polynôme multiplié par un scalaire s
    """
    b = []
    for coef in a:
        b.append(coef*s)
    return b    # on retourne les coefficients multipliés par s
 
def polyadd(a,b):
    """
    Addition de deux polynomes de coefficients a et b
    """
    r = a[:] # on travaille sur une copie de a pour ne pas le modifier
    t = b[:] # idem pour b	
    g = []   # polynome somme
    n1 = len(r) # ordre du premier polynome
    n2 = len(t) # ordre du second polynome
    if n1 > n2: # premier polynome de plus haut degré que le second
        for i in range (n1-n2):
            t.append(0)
    elif n1 < n2: # second polynome de plus haut degré que le premier
         for i in range (n2-n1):
             r.append(0)
    # r et t ont à présent la même longueur
    for i in range (len(r)):
        g.append(r[i]+t[i])
    return g  # on retourne les coefficients additionnés dans la liste g
 
# différents tests :
 
absc = []
ordo = []
coef = [0, 9, 0, -120, 0, 432, 0, -576, 0, 256]   # un polynome un peu particulier
xa = -1.04
while xa < 1.04:
    absc.append(xa)
    ordo.append(polyeval(xa,coef))
    xa = xa + 0.01
 
plot(absc,ordo)
show()
Il s'agit à présent de créer d'autres fonctionnalités sur les polynômes !

Ce serait utile pour créer un graphe d'une famille de fonctions polynomiales (comme des polynômes orthogonaux).

Regardez cet exemple simple de graphe multiple !

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • teaching/progappchim/polynomes-8.txt
  • Dernière modification: 2017/02/24 11:43
  • de villersd