On cherche à résoudre le problème d'interpolation polynomiale
par résolution du système linéaire obtenu en écrivant le
système de équations à
inconnues. On cherche donc
l'unique polynôme de degré
passant par les points
.
Les points
étant tous distincts.
![]() |
(1) |
Soit en notation matricielle :
![]() |
(2) |
Question 1
Écrire le code Scilab permettant de construire le polynôme
d'interpolation par résolution du système linéaire utilisant le Vandermonde.
On notera que la construction du Vandermonde peut se faire de façon vectorielle
|
Question 2
Utiliser le code précédent avec la fonction
![]() ![]() |
On utilise directement les polynômes de Lagrange pour réaliser
l'interpolation polynomiale. Le -ème polynôme de Lagrange s'écrit :
![]() |
(3) |
Et le polynôme d'interpolation s'écrit alors :
![]() |
(4) |
Question 3
Écrire le code Scilab qui construit de polynôme d'interpolation
de Lagrange par construction directe à partir des données
![]() |
Pour évaluer le polynôme d'interpolation en un point on peut utiliser l'algorithme
de Neville que l'on rappelle ici. Cet algorithme permet en outre une estimation
récursive quand on rajoute progressivement des points d'interpolation. Soit
le polynôme d'interpolation de degré
passant par les
points
on établit facilement la formule
récursive suivante :
![]() |
(5) |
![]() |
(6) |
Cette formule nous permet de calculer
pour une valeur de
fixée.
Question 4
Programmer l'algorithme de Neville pour évaluer la valeur du
polynôme d'interpolation en un point
x . Puis le rendre vectoriel
pour évaluer directement la valeur du polynôme pour ![]() ![]() |
L'algorithme de Neville est utilisé pour obtenir la valeur du polynôme d'interpolation en un point. Quand on cherche l'expression du polynôme on peut utiliser les différences divisées et la formule d'interpolation de Newton. On cherche le polynôme d'interpolation sous la forme :
![]() |
(7) |
Les différences divisées se définissent alors par
![]() |
(8) |
De la formule de récursion sur les polynômes
on déduit, en identifiant les
termes de plus haut degrés, une formule de récursion sur les différences divisées :
![]() |
(9) |
Question 5
Programmer la construction du polynôme d'interpolation aux
moyens des différences divisées.
On notera que pour
![]() horner
donne de meilleurs résultats que la même évaluation à partir du polynôme d'interpolation de
Lagrange (utiliser la fonction ![]() ![]() |
Question 6
La formule de Newton permet une construction séquentielle des polynômes
d'interpolation en rajoutant au fur et a mesure des points. Écrire une fonction
qui met a jour et dessine les polynôme d'interpolation les point d'interpolation successifs
étant obtenus en cliquant sur la fenêtre graphique.
|
On regarde dans ce paragraphe le comportement de
sur
l'intervalle
en fonction du choix des points
. On regarde le cas des points
régulièrement espacés et le cas des points de Tchebychev :
![]() |
(10) |
On fait de même pour la fonction de Lebesgue :
![]() |
(11) |
Question 7
Tracer la fonction
![]() ![]() |
On cherche ici à approximer une fonction sur par les polynômes de Bernstein :
![]() |
(12) |
On utilise le fait que pour fixé dans
les coefficients
sont les
probabilités d'une loi binomiale. La fonction Scilab
binomial(x,n-1)
est utilisée pour leurs
calculs.
Question 8
Programmer le calcul des polynômes de Bernstein approchant une fonction continue
sur
![]() |