Introduction à Matlab pour ingénieurs
Introduction à Matlab pour ingénieurs
Laboratoire d’
Electronique
analogique
EAN1, EAN2
Introduction à Matlab
i nstitut d'
A utomatisation Prof. Freddy Mudry
i ndustrielle
Introduction à Matlab :
quelques exemples
i
8 Exercices 28
8.1 Résolution d'un circuit électrique . . . . . . . . . . . . . . . . . . . . . . . . 28
8.2 Réponses fréquentielle et temporelle d'un circuit . . . . . . . . . . . . . . . . 28
8.3 Réponses fréquentielle et temporelle d'un ltre . . . . . . . . . . . . . . . . 28
8.4 Portance d'une aile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.5 Modélisation de la caractéristique d'une diode . . . . . . . . . . . . . . . . . 30
8.6 Chute libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.7 Saut à l'élastique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8.8 Particule dans un champ électromagnétique . . . . . . . . . . . . . . . . . . 32
ii
9.8.1 Intégration numérique . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.8.2 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.8.3 Diérences nies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.9 Optimisation et équations non linéaires . . . . . . . . . . . . . . . . . . . . . 44
9.10 Modélisation et analyse de systèmes continus . . . . . . . . . . . . . . . . . 44
9.10.1 Construction d'un modèle . . . . . . . . . . . . . . . . . . . . . . . . 44
9.10.2 Réponse temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.10.3 Réponse fréquentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
iii
Introduction à Matlab :
quelques exemples
Par ce recueil d'exemples, on souhaite montrer que l'usage de l'outil Matlab dans le domaine
de l'ingénierie est simple et ecace et ainsi inciter nos étudiants à l'appliquer dans les cours
et laboratoires qu'ils auront en deuxième et troisième année.
Les commandes Matlab sont présentées dans des situations réelles et susamment expli-
cites pour que leur utilisation soit claire par elle-même. Les détails syntaxiques doivent
être recherché par les étudiants en recourant de manière intensive à l'aide en ligne Matlab.
1 Informations préliminaires
Matlab est un système interactif et convivial de calcul numérique et de visualisation gra-
phique destiné aux ingénieurs et scientiques. Il possède un langage de programmation
puissant et simple à utiliser avec lequel l'utilisateur peut eectuer des calculs en ligne ou
par l'intermédiaire d'un chier de commandes [3], [4].
Le logiciel Matlab (Mat rix Lab oratory ) est basé sur le calcul matriciel numérique. Tous
les objets utilisés dans Matlab sont donc dénis au travers de matrices ou vecteurs dont
les valeurs sont, par dénition, des grandeurs complexes. Il existe un très grand nombre
d'opérateurs et fonctions distribués dans le logiciel de base et dans des boîtes à outils
spécialisées. A ceci peut s'ajouter un outil de programmation graphique, Simulink, essentiel
pour la simulation de systèmes dynamiques non linéaires.
L'environnement Matlab se présente sous la forme d'un espace de travail dans lequel un
interpréteur de commandes exécute les opérations demandées.
1
1.1.2 Création de vecteurs et matrices
Un vecteur ligne est introduit de la manière suivante :
vcol = [20 ; 6 ; 43 ; 66 ; 70 ; 8] ;
v = vligne ;
v(4)
> > ans =
66
y = fliplr(v)
> > y=
8 70 66 43 6 20
soit
m = [ 2 4 6 8 ; 1 3 5 7 ; 11 13 17 19]
ou bien
m = [ 2 4 6 8
1 3 5 7
11 13 17 19]
ou bien
v1 = [ 2 4 6 8] ;
v2 = [ 1 3 5 7] ;
v3 = [11 13 17 19] ;
m = [v1 ; v2 ; v3]
2
>> m =
2 4 6 8
1 3 5 7
11 13 17 19
m2 = m( :,2)
> > m2 =
4
3
13
mt = m'
>> mt =
2 1 11
4 3 13
6 5 17
8 7 19
minv = inv(m3)
> > minv =
6.0 -5.5 -0.5
-8.5 7.0 1.0
3.5 -2.5 -0.5
Dans Matlab, les indices des vecteurs et matrices doivent être des entiers positifs. L'indice 0
n'est donc pas admis.
Comme exemple, considérons deux vecteur que l'on multiplie entre eux :
v1 = [1 ; 2 ; 3] ;
v2 = [1, 2, 3] ;
3
L'opération v1*v2 eectue le produit d'un vecteur colonne v1 avec un vecteur ligne v2 et
le résultat est une matrice 3x3 :
y1 = v1*v2
> > y1 =
1 2 3
2 4 6
3 6 9
y2 = v2*v1
> > y2 =
14
Alors que si l'on veut eectuer le produit composante par composante, il faut utiliser
l'opérateur de multiplication précédé d'un point (.*) :
y3 = v1'.*v2
> > y3 =
1 4 9
help logspace
on obtient
4
1.2 Méthode de travail
1.2.1 Les chiers de commandes
Après quelques essais initiaux où les commandes sont passées en ligne, on éprouve très vite
le besoin de ne pas perdre le fruit de son travail en écrivant les opérations, de plus en plus
nombreuses et sophistiquées, dans un chier de commandes d'extension .m.
Ce chier peut être écrit avec votre éditeur de texte ascii (PFE, UltraEdit, etc.) ou celui
fourni par Matlab. Une fois ce chier sauvé dans votre répertoire de travail, n'oubliez pas
d'indiquer son chemin d'accès à Matlab à l'aide de File / Set Path. L'exécution de la suite
de commandes écrites dans le chier .m se fera alors simplement en tapant son nom dans
la fenêtre de commandes.
module = sqrt(x^2+y^2) ;
argument = angle(x + j*y) ;
Ces quelques lignes seront sauvées dans un chier dont le nom sera rec2pol.m et placé dans
un répertoire (d :mesfonctions, par exemple) contenant l'ensemble des fonctions que vous
créez.
On notera que les variables internes à la fonction sont locales, contrairement à celles d'un
chier de commandes qui sont globales. De plus, les lignes précédées du symbole % (lignes
de commentaires) serviront d'aide en ligne lorsque l'on tapera :
help rec2pol
5
save chemin\nom_de_fichier.dat nom_de_variable -ascii
Un tel chier ascii peut ensuite être relu soit par Matlab avec la fonction load, soit par
d'autres programmes.
Le contenu de la fenêtre graphique courante peut être imprimé directement sur votre
imprimante. On peut également le sauver dans un chier pour être ensuite intégré dans un
document PostScript
R1 R2
I1 I3
I2
Ug C L
1
Ug = R1 I1 + I2
jωC
1
0 = − I2 + (R2 + jωL) I3
jωC
0 = I1 − I2 − I3
équations que l'on peut récrire sous forme matricielle :
1
R1 jωC 0 I1 Ug
1
0 − jωC R2 + jωL I2 = 0
1 −1 −1 I3 0
6
La solution s'obtient en multipliant à gauche les 2 membres de l'équation par l'inverse de
la matrice décrivant le circuit :
1
−1
I1 R1 jωC 0 Ug
1
I2 = 0 − jωC R2 + jωL 0
I3 1 −1 −1 0
circuit
I =
2.1521 - 5.4723i
-0.1719 + 0.6235i
2.3240 - 6.0959i
Ieff =
5.8803
0.6468
6.5238
PhaseI =
-68.5319
7
105.4142
-69.1310
Courants =
1.0e+002 *
0.0215 - 0.0547i 0.0588 -0.6853
-0.0017 + 0.0062i 0.0065 1.0541
0.0232 - 0.0610i 0.0652 -0.6913
1
H(jω) =
1 + jωRC
% description du circuit
R = 1e3 ; C = 1e-9 ;
num = 1 ; den = [R*C 1] ;
Hrc = tf(num,den) ;
8
xlabel('f [Hz]') ; ylabel('/H [deg]') ;
axis([fmin fmax -100 10]) ;
print -deps [Link]
% tracage de Nyquist
figure ;
polar(phase*pi/180,module) ;
print -deps [Link]
Une illustration des 2 derniers graphes est donnée dans les gures 2 et 3.
−10
|H| [dB]
−20
−30
−40
3 4 5 6 7
10 10 10 10 10
−20
/H [deg]
−40
−60
−80
−100
3 4 5 6 7
10 10 10 10 10
f [Hz]
1
H(jω) =
1 + jωRC
Cette description permet de calculer aussi bien les réponses fréquentielles que temporelles.
Dans ce qui suit, on calculera la réponse indicielle du circuit (cas le plus fréquent) et les
réponses à des signaux sinusoïdaux et carrés.
9
90
1
120 60
0.8
0.6
150 30
0.4
0.2
180 0
210 330
240 300
270
10
4.2 Calcul avec Matlab
Dans Matlab, le calcul et le traçage des réponses temporelles se font comme suit :
% Description du circuit
R = 1e3 ; C = 1e-9 ;
num = 1 ;
den = [R*C 1] ;
Hrc = tf(num,den) ;
11
Réponses temporelles d’un circuit RC
1
yind (t)
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
−6
x 10
5
ysin (t)
−5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
−6
x 10
5
ycarré (t)
−5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
temps [sec] x 10
−6
Longueur [cm] 4.2 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0
Force [N] ± 0.5 [N] 0.0 1.1 2.0 3.2 3.9 4.6 5.8 7.0 8.3 9.0 9.5
2. Mettre en valeur le graphe à l'aide d'un titre et d'informations portées sur l'abscisse
et l'ordonnée.
12
% Exemple de traitement des donnees
clear all ; close all ; format compact ; format short g ;
13
Force d’un ressort
12
F1(x) = 0.98 x + −3.91
σ 1 = 0.197 [N]
10
6
F(x) [N]
−2
F3(x) = −0.0012491 x3 + 0.029026 x2 + 0.78352 x − 3.5353
σ 3 = 0.19 [N]
−4
0 2 4 6 8 10 12 14 16 18 20
x [cm]
14
Débit et température d’un flux d’air
2.6
2.3
2.2
2
0 500 1000 1500 2000 2500 3000 3500 4000
50
Température moyenne = 42 [°C] Ecart type = 1.4 [°C]
Température [°C]
45
40
35
0 500 1000 1500 2000 2500 3000 3500 4000
temps [sec]
% tracage du debit
figure ;
subplot(2,1,1) ; plot(temps,debit) ;
axis([0 4000 2 2.6]) ;
title('Débit et température dun flux dair') ;
ylabel('Débit [l/sec]') ;
15
% informations pour le graphe
texte1 = ['Débit moyen = ', num2str(DebitMoyen,2), ' [l/sec]'] ;
texte2 = ['Ecart type = ', num2str(BruitDebit,2), ' [l/sec]'] ;
text(200,2.51,[texte1 ' ' texte2]) ;
texte = ['Débits min et max : ', num2str(Qmin,3)] ;
texte = [texte ' / ', num2str(Qmax,3), ' [l/sec]'] ;
text(200,2.1, texte) ;
% tracage de la temperature
subplot(2,1,2) ; plot(temps,degre) ;
axis([0 4000 35 50]) ;
xlabel('temps [sec]') ;
ylabel('Température [°C]') ;
L'analyse temporelle faite dans le paragraphe précédent se poursuit dans l'espace des fré-
quences à l'aide des commandes ci-après.
16
duree = kmax*dt ;
fmin = 0 ; fmax = 1/dt ; df = 1/duree ;
ff = fmin :df :fmax ;
% tracage
figure ;
subplot(2,1,1) ; plot(ff,Qfdb) ;
axis([0 0.1 -20 40]) ; grid ;
text(1.1*fpic, 1.1*pic,texte) ;
ylabel('Q(f) [dB]') ;
title ('Spectres du débit et de la température') ;
subplot(2,1,2) ; plot(ff,Tfdb) ;
axis([0 0.1 0 60]) ; grid ;
xlabel('fréquence [Hz]') ; ylabel('T(f) [dB]') ;
print -deps [Link]
30
fpic = 0.032 [Hz]
20
Q(f) [dB]
10
−10
−20
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
60
50
40
T(f) [dB]
30
20
10
0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
fréquence [Hz]
L'analyse spectrale complétée par son graphe (gure 7) montre qu'il existe une raie spec-
17
trale sur le débit située en f = fpic = 0.032 [Hz]. Cela indique la présence d'une pertur-
bation périodique de période 1/fpic ' 30 [sec] qui n'était pas du tout perceptible dans le
graphe temporel.
d2 θ(t) g
2
= θ̈(t) = − sin(θ(t))
dt L
Dans le cas où l'angle θ(t) est petit, cette équation peut être approchée par une équation
linéaire qui est :
d2 θ(t) g
2
= θ̈(t) = − θ(t)
dt L
x1 (t) ≡ θ(t)
x2 (t) ≡ θ̇(t)
dx1 (t)
≡ θ̇(t) = x2 (t)
dt
dx2 (t) g
≡ θ̈(t) = − sin(x1 (t))
dt L
Sous Matlab, la description du système doit se faire dans un chier *.m décrivant la fonction
qui fournit les n dérivées sous la forme d'un vecteur colonne. Dans notre cas, cela donne :
chier EDpendule.m :
% Equation differentielle d'un pendule simple
function dx = EDpendule(t, x) ;
g = 9.81 ;
longueur = 1.0 ;
theta = x(1) ;
dtheta = x(2) ;
ddtheta = -g/longueur*sin(theta)) ;
dx = [dtheta ; ddtheta] ;
18
Dans une approche plus générale, les paramètres (g et L) du pendule peuvent être dénis
dans le programme principal et passés en arguments à la fonction décrivant l'équation
diérentielle. De plus, sachant que le vecteur x contient les variables θ et θ̇, l'écriture de
la fonction peut se faire dans une forme plus compacte (mais peut-être moins évidente à
comprendre).
L'illustration en est donnée dans le chier suivant écrit pour l'approximation linéaire du
pendule :
chier EDpendlin.m :
% Equation differentielle lineaire
function dx = EDpendlin(t, x, options, param) ;
g = param(1) ;
longueur = param(2) ;
dx1 = x(2) ;
dx2 = -g/longueur*x(1) ;
dx = [dx1 ; dx2] ;
ode45('fichierED.m',[tmin tmax],CI,options,param)
% conditions initiales
pos0 = 60*pi/180 ; % radians
vit0 = 0 ;
% domaine temporel
t0 = 0 ; tmax = 20 ;
% parametres
19
Pendule simple
60
40
20
θ (t) [deg]
0
−20
−40
−60
0 2 4 6 8 10 12 14 16 18 20
2
ω (t) [rad/sec]
−2
−4
0 2 4 6 8 10 12 14 16 18 20
temps [sec]
g = 9.81 ; longueur = 1 ;
param(1) = g ; param(2) = longueur ;
% tracage
figure ;
subplot(2,1,1) ; plot(tt1,pos1,tt2,pos2,'--') ;
title('Pendule simple') ; ;
ylabel('\theta (t) [deg]') ;
subplot(2,1,2) ; plot(tt1,vit1,tt2,vit2,'--') ;
ylabel('\omega (t) [rad/sec]') ;
xlabel('temps [sec]') ;
print -deps [Link]
20
Fig. 9: Charge dans un champ électromagnétique
de la charge q de masse m :
F~ = m ~a = m~v˙ = q E
~ + q ~v × B
~
v̇x Ex vx Bx
m v̇y = q Ey + q vy × By
v̇z Ez vz Bz
v̇x Ex vy Bz − vz By
m v̇y = q Ey + q vz Bx − vx Bz
v̇z Ez vx By − vy Bx
On voit ainsi que le mouvement de la charge est décrit par 3 équations diérentielles
couplées d'ordre 1.
21
v̇x E X (2) Bz − Xs (3) By
~˙ s = q x q s
X v̇ = E + s (3) Bx − Xs (1) Bz
X
y y
m m
v̇z Ez Xs (1) By − Xs (2) Bx
q q q
Ẋs (1) 0 +m Bz − m By Xs (1) m Ex
˙~ q q q
X s = Ẋs (2) = − m Bz 0 + m Bx Xs (2) + Ey · 1
m
q q q
Ẋs (3) + m By − m Bx 0 Xs (3) m Ez
Une approche analytique du problème permet de montrer que la particule oscille sinusoï-
dalement avec une pulsation proportionnelle à l'amplitude du champ magnétique :
q
ωn = B
m
~˙ s = A X
X ~s + B u
~ =CX
Y ~s + D u
dans laquelle :
Dans le cas de notre problème, les dimensions des vecteurs et matrices sont Xs (3, 1), A(3, 3),
B(3, 1) et u(1, 1). Admettant que le vecteur de sortie ~ est constitué des 3 composantes
Y
de la vitesse, on a évidemment ~ =X
Y ~ s . La matrice C(3, 3) est alors une matrice unité de
dimension 3 et le vecteur D(3, 1) est nul.
22
% constantes
q = 1.602e-19 ;
m = 9.109e-31 ;
Bx = 0.0 ; By = 0.01 ; Bz = 0.0 ;
Ex = 1.0 ; Ey = 0.0 ; Ez = 0.0 ;
% description d'etat :
A = q/m * [ 0 +Bz -By
-Bz 0 +Bx
+By -Bx 0] ;
B = q/m*[Ex ; Ey ; Ez] ;
% matrices de sortie :
C = [1 0 0
0 1 0
0 0 1] ;
D = zeros(3,1) ;
23
Z t n
X
x(t) = vx (t) dt ' x[n] = vx [k] ∆t n = 0 · · · Npoints
0 k=0
Dans Matlab, cette somme cumulative est réalisée par la commande cumsum(on notera
qu'il existe également la fonction cumtrapz qui réalise une intégration trapézoïdale plus
précise) :
Les résultats obtenus sont présentés dans les gures 10 et 11. La visualisation 3D de la
trajectoire est réalisée simplement avec les commandes
Les commandes ayant servi au traçage de la gure 11 sont données ci-dessous sans plus de
commentaires :
figure ;
plot3(xt,yt,zt) ; % tracage 3D
axis square ; grid ; hold on ;
axis([-5e-8,15e-8,-1,1,0,1e-6]) ; % choix des axes
h1=quiver3(5e-8,0,0, -5e-8,0,0, 0,'v') ; % vecteur E = Ex
set(h1,'LineWidth',2) ; % vecteur en trait gras
text(3.5e-8,-0.15,0, 'E_x') ; % legende pour E
24
h2=quiver3(0,0.5,0, 0,-0.5,0, 0,'v') ; % vecteur B = By
set(h2,'LineWidth',2) ; % vecteur en trait gras
text(-2e-8,0.4,0, 'B_y') ; % legende pour B
title('Trajectoire de la particule') ;
print -deps [Link]
−8 Déplacement de la particule
x 10
15
10
x(t)
−5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−8
x 10
1
0.5
y(t)
−0.5
−1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−6 −8
x 10 x 10
1.5
1
z(t)
0.5
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
temps [sec] −8
x 10
Fig. 10: Coordonnées d'une particule chargée dans un champ électrique ~ = (Ex ; 0; 0)
E et
magnétique ~ = (0; By ; 0)
B
25
Trajectoire de la particule
−6
x 10
0.8
0.6
0.4
0.2
0
1
By
Ex
0.5 15
10
0
5
−8
−0.5 x 10
0
−1 −5
Fig. 11: Trajectoire d'une particule chargée dans un champ électrique ~ = (Ex ; 0; 0)
E et
magnétique ~ = (0; By ; 0)
B
26
Références
[1] D. M. Etter : Engineering problem solving with Matlab, Prentice Hall, 1993
[2] W. J. Palm III : Introduction to Matlab for Engineers, WCB McGraw-Hill, 1998
[8] [Link] : site d'un logiciel similaire à Matlab dont la version démonstration
est gratuite
27
8 Exercices
8.1 Résolution d'un circuit électrique
Étant donné le circuit de la gure 12, calculez les valeurs ecaces et phases des courants
et tensions lorsque
et que la fréquence du générateur vaut 50Hz et 250Hz. Plutôt que de modier la valeur de
la fréquence dans le chier, utilisez la commande input :
R1 L C2
Ug C1 R2
4. Faites de même pour les réponses temporelles (gure 4). Si nécessaire, modiez le
domaine temporel.
Des ltres d'ordre supérieur à 2 sont réalisés en plaçant en série des cellules d'ordre 1 ou 2.
Ainsi, un ltre d'ordre 5 sera réalisé par la mise en cascade d'une cellule d'ordre 1 et de 2
cellules d'ordre 2.
28
Sachant que les cellules d'ordre 2 de type passe-bas sont généralement décrites comme suit :
1
HP B (jω) = Au
jω 2
1 jω
1+ Q0 ωn + ωn
Remarque : Les valeurs proposées pour la réalisation du ltre correspondent à celles d'un
ltre, dit de Butterworth, dont la réponse fréquentielle est plate au maximum dans la
bande passante.
Angle [deg] -5 0 5 10 15 17 19 21
Force [N] -2.80 1.08 5.00 8.80 11.9 12.4 12.4 11.8
4. Sachant que la mesure de la force est entachée d'une erreur de ±0.5 [N ], reprenez ce
diagramme et tracez les points mesurés avec les domaines d'erreur et, en continu, la
courbe polynomiale.
5. Quel est le polynôme qui vous paraît le mieux adapté pour représenter cette aile ?
29
8.5 Modélisation de la caractéristique d'une diode
Une diode semi-conductrice est un élément électronique dont le fonctionnement peut être
représenté par l'équation suivante :
Id = Is eUd /nVT − 1
avec :
Id = Is eUd /nVT
0.14
−2
0.12
Courant Id [A]
Log10(Id) [A]
0.1 −4
0.08
−6
0.06
−8
0.04
0.02 −10
0
−12
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Tension Ud [V] Tension Ud [V]
On dit alors que le courant croît exponentiellement avec la tension appliquée à la diode ou,
de manière inverse, que la tension aux bornes de la diode croît logarithmiquement avec le
courant :
Id
Ud = n VT ln
Is
30
Lorsque le courant traversant une diode réelle est élevé, on doit encore tenir compte d'une
chute de tension ohmique due à la résistance de liaison entre la diode idéale et les ls de
connexion. La chute de tension mesurée aux bornes d'une diode réelle est alors décrite par :
Id
Ud = n VT ln + Rd Id
Is
Sachant que l'on a mesuré sur une diode les tensions et courants présentés dans le tableau
suivant :
Admettant que :
31
8.7 Saut à l'élastique
Dans ce qui suit, on se propose d'aborder le problème du saut à l'élastique par une modé-
lisation progressive [1]. Les paramètres nécessaires à sa description sont :
la position y(t),
la vitesse v(t) ou ẏ(t),
l'accélération a(t) ou ÿ(t).
avec :
32
−5 Trajectoire y(x) −6 Trajectoire z(x)
x 10 x 10
1 2.5
0.8 2
0.6 1.5
0.4 1
0.2 0.5
0 0
−8 −6 −4 −2 0 2 −8 −6 −4 −2 0 2
−7 −7
x 10 x 10
−6 Trajectoire z(y)
−6
x 10
x 10 2.5
3 2
2
1.5
1
1
0
1 0.5
1
x 10
−5 0.5
0 −6
x 10 0
0 −1 0 0.2 0.4 0.6 0.8 1
−5
x 10
33
9 Liste de quelques fonctions Matlab
Cette liste, qui n'est pas exhaustive, regroupe les commandes et fonctions les plus usuelles.
Elle illustre également la richesse des possibilités oertes. Pour plus de détails, il faut
évidemment consulter l'aide en ligne oerte par Matlab et proter des nombreux exemples
qui y sont proposés.
34
9.1.4 Fenêtre de commandes
clc Eace le contenu de la fenêtre de commandes
home Place le curseur en haut de l'écran
format Dénit le format d'achage
echo Ache les instructions exécutées par un script
more Contrôle de l'achage paginé
quit, exit Ferme Matlab
Matlabrc Fichier de démarrage
35
9.1.7 Variables prédénies, durée, date
ans Réponse à une expression sans assignation
eps Précision de la virgule ottante
realmax Plus grand nombre ottant
realmin Plus petit nombre ottant positif
pi π
√
i, j −1
inf ∞
NaN Not a Number
flops Nombre d'opérations ottantes par seconde
nargin Nombre d'arguments d'entrée d'une fonction
nargout Nombre d'arguments de sortie d'une fonction
computer Type du calculateur
date Date courante
clock Horloge
etime Durée d'exécution
tic, toc Ache le début et la n d'exécution
cputime Temps CPU écoulé
36
9.1.10 Instructions spéciques
input Indicateur d'attente d'entrée
keyboard Considère le clavier comme un chier script
menu Génère un menu de choix pour l'utilisateur
pause Attente
function Dénition de fonction
eval Exécute une chaîne de caractère
feval Exécute une fonction dénie dans une chaîne
global Dénit les variables comme globales
nargchk Valide le nombre d'arguments d'entrée
37
9.2.3 Fonctions prédénies
bessel Fonction de Bessel
beta Fonction beta
gamma Fonction gamma
rat Approximation par un rationnel
rats Format de sortie pour rat
erf Fonction erreur erf
erfinv Inverse de erf
ellipke Intégrale elliptique complète
ellipj Fonction elliptique de Jacobi
expint Fonction intégrale exponentielle pour n=1
38
9.3.4 Matrices prédénies
zeros Matrice de 0
ones Matrice de 1
eye Matrice identité
diag Matrice diagonale
toeplitz Matrice de Toeplitz
magic Carré magique
compan Matrice compagnon
linspace Vecteurs à composantes linéairement espacées
logspace Vecteurs à composantes logarithmiquement espacées
meshgrid Grille pour les graphiques 3D
rand Nombres aléatoires à répartition uniforme
randn Nombres aléatoires à répartition normale
hilb Hilbert
invhilb Inverse de Hilbert (exact)
vander Vandermonde
pascal Pascal
hadamard Hadamard
39
9.4 Textes et chaînes de caractères
abs Convertit une chaîne en valeurs numériques Ascii
blanks Crée une chaîne d'espaces
eval Convertit un texte en code Matlab
num2str Convertit un nombre en chaîne
int2str Convertit un nombre entier en chaîne
str2num Convertit une chaîne en nombre
isstr Vrai si l'élément est une chaîne
strcmp Comparaison de chaînes
upper Conversion en majuscule
lower Conversion en minuscule
hex2num Convertit une chaîne héxadécimale en ottant
hex2dec Convertit une chaîne héxadécimale en entier
dec2hex Convertit un entier en une chaîne héxadécimale
40
9.5.3 Contrôle des fenêtres graphiques
figure Ouvre une fenêtre graphique
gcf Retourne le numéro de la gure courante
clf Eace la gure courante
close Ferme la gure courante
hold Gère la surimpression
ishold Etat de la surimpression
subplot Sous fenêtres graphiques
axes Axes en position arbitraire
gca Retourne le numéro des axes courants
axis Contrôle l'apparence et l'échelle des axes
caxis Contrôle l'échelle des axes et de la pseudocouleur
whitebg Dessine sur fond blanc
cinvert Vidéo inverse
9.5.5 Objets 3D
sphere Génération de sphères
cylinder Génération de cylindres
peaks Démonstration
9.5.6 Animations
moviein Initialise l'espace mémoire pour l'animation
getframe Enregistre une image pour l'animation
movie Joue l'animation
41
9.5.8 Graphiques tridimensionnels
mesh Surface maillée
meshc Combinaison mesh + dessin des équi-niveaux
meshz Surface maillée avec plan de référence
surf Surface 3D à facettes
surfc Combinaison surf + dessin des équi-niveaux
surfl Surface 3D à facettes avec éclairage
plot3 Dessin de lignes et points en 3D
plot3 ll3 Graphe de polynômes 3D remplis
contour Dessin 2D des équi-niveaux
contourc Calcul des valeurs utilisées par contour
contour3 Dessin 3D des équi-niveaux
clabel Etiquettes des équi-niveaux (contours)
pcolor Dessine en pseudocouleur
quiver Achage du gradient sous forme de èches
image Ache une image
waterfall Représentation chute d'eau
slice Visualisation en volume
42
9.7 Analyse de données et statistiques
9.7.1 Analyse de données par colonne
max Valeur max
min Valeur min
mean Valeur moyenne
median Valeur médiane
std Ecart type
sort Tri en ordre croissant
sum Somme des éléments
prod Produit des éléments
cumsum Vecteur des sommes partielles cumulées
cumprod Vecteur des produits partiels cumulés
hist Histogramme
9.8.2 Interpolation
spline Interpolation spline cubique
interp1 Interpolation monodimensionnelle
interp2 Interpolation bidimensionnelle
interpft Interpolation 1D par FFT
griddata Maillage de données
43
9.8.3 Diérences nies
diff Approximation de la dérivée
gradient Approximation du gradient
del2 Laplacien sur 5-points
44