Polynômes : graphe multiple fonctions polynomiales

poly09-plot-numpy-chebby.py
# -*- coding: utf-8 -*-
"""
graphe multiple de polynômes de Tchebyshev
cf. http://fr.wikipedia.org/wiki/Polyn%C3%B4me_de_Tchebychev
"""
 
from pylab import *   # librairie graphique (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 polynôme
    p = 0.
    for i in range(n,-1,-1):
        p = p*x + a[i]
    return p
 
# utilisation des objets de la librairie numpy
x = arange(-1.,1.0001,0.01)   # avec des tableaux numpy, on peut évaluer les polynome
# en une fois sur tous les éléments du tableau
cheby = [[1], [0,1], [-1,0,2], [0,-3,0,4]]  # liste de polynomes
 
# création des graphes de tous les polynomes
 
for pol in cheby:
    plot(x,polyeval(x,pol))
 
axis([-1,1,-1,1]) # xmin, xmax, ymin, ymax   
title('Polynomes de Tchebyshev')
legend()
show()

Des fonctionnalités supplémentaires, en vue de visualiser un nombre quelconque de polynômes...