3
Le script Scilab (ou Matlab) réalisé lors de la séance précédente calculant le
polynôme d'interpolation de Lagrange et rappelé ci dessous, sera repris et ...
part of the document
)) equirépartis sur [a,b]).
1. Entrée de données
Scilab offre à lutilisateur la possibilité de rentrer facilement des données de tout type (scalaire, matrice, chaîne de caractères) grâce à linstruction x_dialog permettant de créer une boîte de dialogue interactive.
EXERCICE 1: après avoir consulté laide en ligne de linstruction x_dialog (et en particulier testé un des exemples inclus), modifier le script précédent afin de permettre à lutilisateur de rentrer le nombre de points dinterpolation et leur position pour une fonction donnée à interpoler (par exemple 1/(1+x^2)).
2. Ecriture de résultats
Laffichage de résultats seffectue avec Scilab grâce aux instructions write (écriture formatée dans un fichier ou dans la fenêtre principale) ou disp (écriture non formatée dans la fenêtre principale).
EXERCICE 2: reprendre à nouveau le script précédent pour permettre dafficher les coefficients du polynôme dinterpolation dans la base de Newton (en loccurence les y(i), i=1..n) ainsi que le temps de calcul du programme (utiliser pour cela linstruction timer).
3. Représentation graphique
Scilab permet d'effectuer des représentations graphiques évoluées de courbes, de surfaces, de lignes de niveau à partir de données matricielles. Les instructions correspondantes (plot2d, plot3d, contour, etc...) possèdent une syntaxe très proche (détaillée dans l'aide de plot2d).
EXERCICE 3: après avoir consulté laide en ligne de linstruction plot2d, essayer de reproduire le dessin suivant :
EXERCICE 4: en prenant lexemple de la fonction f(x)=1/(1+x^2) sur [-5,5], achever lécriture dun programme lagrange.sci permettant dillustrer le phénomène de non convergence (dit de Runge) du polynôme de Lagrange vers la fonction interpolée.
Traduction Matlab des instructions :
fscanf à la place de xdialog
fprintf à la place de write (disp inchangé)
tic et toc à la place de timer
plot à la place de plot2d