INP Grenoble
ENSIMAG, 1`ere ann´ee
Stage de Math´ematiques Appliqu´ees
2005/2006
TP 1 : Introduction `a Scilab
1 Commencer en Scilab
1.1 Connection au logiciel
Pour commencer une session, suivre la d´emarche suivante :
1. Se logger sur ensibull.
2. Ouvrir une fenˆetre terminal (xterm) sur ensibull.
3. Taper la commande scilab.
Attention ! Vos donn´ees sont sauvegard´ees sur ensibull. Pour les r´ecup´erer sur vos comptes
ensisun (`a partir de ensisun), tapez :
scp login@ensibull :filename filedestination
1.2 Premiers pas en Scilab
Apr`es avoir lanc´e Scilab, vous pouvez tester les commandes suivantes :
−− >help // pour ouvrir l’aide en scilab
−− >help mot-cl´e // pour obtenir la description de la fonction mot-cl´e
−− >apropos mot-cl´e // pour obtenir la liste des pages d’aide contenant mot-cl´e
−− >quit // pour sortir de Scilab
Exercice 1. Donner la description de la commande interpln. Trouver la commande scilab
qui permet de d´efinir la matrice identit´e.
Les commandes clear,clc et clf permettent d’effacer respectivement les donn´ees mises en
m´emoire, l’´ecran de commandes et les figures. Elles doivent ˆetre ex´ecut´ees r´eguli`erement pour
´eviter les erreurs et lib´erer la m´emoire.
1.3 Ex´ecuter sous Scilab
Les commandes Scilab peuvent ˆetre tap´ees directement en ligne, par exemple :
−− >x=1
−− >A=ones(3,4) ;
−− >x+A
ou bien, ´ecrites dans un fichier de commmandes “*.sce”. Dans ce cas,
1. Ouvrir un fichier intitul´e par exemple test.sce, comportant les instructions suivantes :
//(Symbole commentaire) Programme test.sce
clc ;clf ;clear ;
A=ones(3,4)
1+A
1
2. Sous scilab, tapez : −− >exec(“test.sce”)
On peut ´egalement d´efinir des fichiers de fonctions nomm´es “*.sci”. Pour cela,
1. Ouvrir un fichier intitul´e par exemple carre.sci, comportant les instructions suivantes :
//Fonction carre.sci
function d = carre(x)
d= x.*x
endfunction
2. Sous scilab, chargez et compilez le fichier carre.sci :
−− >getf(“carre.sci”) //si le fichier est dans le r´epertoire courant.
La fonction carre est maintenant d´efinie sous scilab :
−− >x=[0,1,2,3,4]
−− >carre(x)
2 Vecteurs et matrices
La fa¸con la plus simple de d´efinir une matrice n×men Scilab est d’entrer au clavier la liste
de ses ´el´ements :
A= [a1,1, . . . , a1,m;. . . ;an,1, . . . , an,m]
Op´erations ´el´ementaires A tester sur des exemples !
−− >A+B //somme
−− >A*B //produit
−− >A.*B //produit terme `a terme
−− >Aˆ 2 //´equivalent `a A*A
−− >A.ˆ 2 //´equivalent `a A.*A
−− >det(A) //d´eterminant de A
−− >A’ //transpos´ee de A
−− >inv(A) //inverse de A
Exercice 2. Entrer sous scilab la matrice :
A=
1 0 3 1
1 2 0 1
0 1 3 0
1. Quelle est la commande donnant la taille de la matrice A ?
2. Extraire la premi`ere ligne, la derni`ere colonne et l’´el´ement `a la deuxi`eme ligne, troisi`eme
colonne de A.
3. Extraire la diagonale, les parties triangulaires sup´erieures et inf´erieures de A.
Exercice 3 (Matrices particuli`eres).
1. En utilisant les fonctions ones et diag, d´efinir la matrice unit´e 10 ×10.
2
2. D´efinir la matrice d’ordre 10 suivante :
C=
21
1 2 ...
......1
1 2
3 Fonctions
3.1 Fonctions ´echantillonn´ees
Une fonction peut ˆetre d´efinie par rapport `a une discr´etisation de la variable x, ainsi :
x=0 :0.1 :1 ;
correspond `a une discr´etisation par pas de 0.1, de x=0 `a x=1, soit 11 valeurs. On d´efinit des
fonctions sur cette grille discr`ete, par exemple :
y=sin(2%pi x) + cos(%pi x)//Somme de deux sinuso¨ıdes
z=x.^2 //parabole
3.2 Trac´e de courbes
Pour tracer une courbe y=f(x) sur l’intervalle [a, b] :
n = ... //nombre de points de discr´etisation
dx=(b-a)/(n-1) //pas de la discr´etisation
x=[a :dx :b] ; //x est ´echantillonn´e entre aet bavec un pas de dx
plot2d(x,f(x))
A noter : on pourra ´egalement utiliser la commande x=linspace(a,b,n) pour d´efinir la grille
discr`ete.
Pour rajouter un titre
xtitle(’Graphe de la fonction sin’)
Pour mettre une l´egende
x=0 :0.1 :10
plot2d(x,exp(x),leg="exp")
Pour tracer plusieurs graphes dans une fenˆetre
La commande subplot(m,n,p) plac´ee avant chaque trac´e de courbe, subdivise la fenˆetre
du graphe en une matrice m×nde sous-fenˆetres et s´electionne la p-i`eme pour dessi-
ner le graphe courant : l’´el´ement (i,j) de la matrice correspond au graphe n(i-1)*m + j.
Pour dessiner dans une fenˆetre graphique
Tapez scf(1) par exemple pour que la fenˆetre graphique courante devienne la fenˆetre
1. Si celle-ci n’existe pas, elle est cr´e´ee.
Pour superposer deux courbes
plot(x,[f(x’),g(x’)]) //m^eme discr´etisation
3
Pour exporter une figure
Dans la fenˆetre graphique `a exporter, cliquer sur le menu File, puis Export. Dans la
fenˆetre qui s’ouvre alors :
1. choisir l’extension du fichier image : pour mettre vos figures en latex, choisir Post-
cript (“.ps”).
2. choisir entre color et Black&White
3. choisir l’orientation. Attention, par d´efaut, l’image est en landscape (format pay-
sage) ! !
4. Entrer le nom du fichier image : myfig par exemple, sans l’extension.
Exercice 4. Trac´es de courbes
1. Tracer les courbes de la fonction sin sur l’intervalle [0,2π]pour 6 points de discr´etisation,
puis 21 points de discr´etisation (en bleu). Ajouter un titre.
2. Tracer dans une mˆeme fenˆetre les 4 graphes non superpos´es des fonctions : sin, exp,
x7→ x2(x1) et x7→ (x+1)/(x2+1) sur les intervalles [0,2π]pour le sinus et [10,10]
pour les 3 autres fonctions. Rajouter des titres pour chaque graphe.
4
INP Grenoble
ENSIMAG, 1`ere ann´ee
Stage de Math´ematiques Appliqu´ees
2005/2006
TP 2 : Interpolation, matrices de Vandermonde
1 Interpolation polynomiale : matrices de Vandermonde
On cherche l’unique polynˆome de degr´e npassant par les points (xi, yi) pour i= 0 . . . n, en supposant
les xitous distincts.
Le polynˆome d’interpolation peut donc s’´ecrire
pn(x) =
n
X
i=0
aixi(1)
tel que pour tout i,pn(xi) = yi, soit en notation matricielle `a l’aide de la matrice de Vandermonde :
1x1
0. . . xn
0
1x1
1. . . xn
1
.
.
..
.
.... .
.
.
1x1
n. . . xn
n
a0
a1
.
.
.
an
=
y0
y1
.
.
.
yn
(2)
2 Exemple d’interpolation
On cherche `a eterminer le polynˆome de degr´e 3
p3(x) = a0+a1x+a2x2+a3x3(3)
passant par les points (2,10),(1,4),(1,6) et (2,3).
Les aipeuvent ˆetre d´etermin´es par la esolution du syst`eme lin´eaire :
12 4 8
11 1 1
1 1 1 1
1 2 4 8
a0
a1
a2
a3
=
10
4
6
3
(4)
La solution de ce syst`eme peut ˆetre obtenue de la fa¸con suivante :
y = [10;4;6;3];
V= [1,-2,4,-8;1,-1,1,-1;1,1,1,1;1,2,4,8];
a = V\y;
3 R´esolution du syst`eme
La matrice de Vandermonde Vpeut ˆetre d´etermin´ee `a partir du vecteur xde la fa¸con suivante :
n = length(x);
V = zeros(n,n);
for j=1:n
for i=1:n
V(i,j) = x(i)^(j-1);
end
end
Question 1
1
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !