Professional Documents
Culture Documents
Environnement MATLAB
Le logiciel MATLAB se trouve sur tous les ordinateurs de la plupart des laboratoires informatiques de Polytechnique
(C-229.2, C-513, C-525, C-527, C-537, C-539.2, C-539.3, C-539.4, C-539.6 et C-539.7). Il est disponible dans deux
versions, soit 4.2 et 5.3. Toutefois, les fonctions spcifiques au cours MTH2200 ont t dveloppes pour la version
4.2. Il nest donc pas garanti quelles soient compatibles avec la version 5.3. Notons aussi que la version 4.2 peut tre
installe gratuitement sur votre ordinateur personnel la maison (voir la page installation de MATLAB2 sur le site Web
du cours MTH2200).
Pour accder MATLAB dans les laboratoires, cliquer sur licne Mathmatiques et Gnie industriel et sur
MATLAB 4.2. Dans certains laboratoires, vous devez cliquer sur Chargement pour Math215 avant de cliquer sur
MATLAB 4.2.
Lenvironnement de MATLAB est compos dune fentre MATLAB dans laquelle vous pouvez entrer des
commandes, dun diteur de texte pour crer des fichiers FUNCTION et SCRIPT (extension .m), de ces fichiers
FUNCTION et SCRIPT, et de fichiers texte que vous pouvez crer en cours de session en utilisant les noms et
extensions que vous dsirez.
Le rpertoire de travail est d:\usager dans certains laboratoires et d: dans dautres laboratoires. Vous pouvez aussi
travailler sur une disquette, i.e., dans le rpertoire a:. Tous les fichiers que vous crez devraient se retrouver dans le
rpertoire de travail. En principe, MATLAB devrait reconnatre les fichiers dextension .m dans ce rpertoire. Il se
peut toutefois que ce ne soit pas le cas lorsque ces fichiers sont crs pendant que MATLAB est en fonction. De mme,
les modifications apportes un fichier existant peuvent ne pas tre reconnues. Dans ces cas, fermer et rouvrir
MATLAB afin quil effectue une nouvelle lecture des fichiers .m.
Les commandes MATLAB suivantes sont utiles:
pwd
cd
ls ou dir
type nom_fichier
help nom_commande
Le menu help vous permet aussi daccder une table des matires et un index sur linformation pouvant vous tre
fournie.
1
2
http://www.gref.mathappl.polymtl.ca/~fortin/cours/215/documents.html
http://www.gref.mathappl.polymtl.ca/~fortin/cours/215/instal.html
Les variables
Toute variable est vue comme une matrice de nombres complexes. Une matrice 1 x 1 correspond un scalaire tandis
quune matrice 1 x n ou n x 1 correspond un vecteur.
>> x = 2
x =
2
>> size(x)
ans =
1
%% taille de la matrice x
%% rponse (answer)
%% nombre de lignes = 1, nombre de colonnes = 1
>> x = [0 2 4 6];
>> n = length(x)
n=
%% longueur du vecteur x
4
>> x(n)
ans =
6
>> x = 0:.1:1
x =
%%
%%
%%
%%
Columns 1 through 7
0
0.1000
0.2000
0.3000
Columns 8 through 11
0.7000
0.8000
0.9000
0.4000
0.5000
0.6000
1.0000
>> A = [1 2 3; 4 5 6; 7 8 9]
A =
1
2
3
4
5
6
7
8
9
>> B = A(2:3, :)
B =
4
5
6
7
8
9
>> size(B)
ans =
2
%% taille de la matrice
3
>> C = [B; B]
C=
4
7
4
7
5
8
5
8
6
9
6
9
>> A = zeros(1,3)
A=
0
0
0
>> B = ones(2,1)
B=
%% cre un vecteur 2 x 1 de 1
1
1
2*4]
2*2]
Plusieurs fonctions sappliquent directement sur les lments: abs() sin() exp() sqrt() log() etc.
>> abs(y)
ans =
1
4
>> pi
ans =
3.1416
Plusieurs oprateurs de comparaison logique sont disponibles: = = < <= > >=
>> 2 + 3 = = 7
ans =
0
%% gal
>> 2 + 3 < 7
ans =
1
>> 2 + 3 >= 7
ans =
0
>> 2 + 3 ~= 7
ans =
1
%% faux
%% vrai
%% faux
%% vrai
~ = etc.
Oprations matricielles
Plusieurs oprateurs matriciels sont disponibles: + - * ^ etc.
>> A = [1 2; 3 4];
>> A
ans =
1
3
2
4
>> B = [-1 1];
>> A*B
ans =
1
1
%% transpose
Plusieurs fonctions matricielles sont disponibles: inv() det() size() length() ones() zeros() expm() etc.
>> inv(A)
ans =
2.0000
1.5000
%% inverse de la matrice(A)
1.0000
-0.5000
>> D = ones(1,3)
D =
1
1
1
Affichage
Plusieurs formats daffichage des valeurs numriques sont disponibles. Le passage dun format un autre seffectue
laide de la commande format.
>> r = 12.2
r =
12.2000
%% format 14 dcimales
Laffichage en format personnalis se fait laide de la fonction fprintf(fid,format,a1,a2,...) qui prend en arguments
dentre i) un numro de fichier qui sobtient laide de la fonction fopen(), les numros 1 et 2 tant rserves pour
stdout (lcran) et stderr; ii) une chane de caractres qui dcrit le format et peut inclure des spcificateurs de
conversion (dbutant par %) et des symboles de tabulation (\t) et de saut de ligne (\n); et 3) une liste de valeurs
(pouvant tre nulle) pour les spcificateurs de conversion de la chane de caractres.
12.2000
r*r = 148.840000
Fonctions graphiques
Plusieurs commandes graphiques sont disponibles: tracerf() plot() xlabel() ylabel() legend() title() gtext() axis etc.
>> tracerf(fct,-2,3);
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
t = 0:0.1:pi;
plot(t, sin(t))
%% trace une courbe reliant les points (t,sin(t))
y = sin(t);
plot(t, y, t, 2*y)
%% trace deux courbes
plot(t, y, g+)
%% trace une courbe en vert (g) avec des +
xlabel(temps)
%% identifie laxe des x par temps
hold on
%% retient le graphique actuel
plot(t, 2*y, bo)
%% superpose une deuxime courbe en cercles leus
legend(g+,courbe 1,bo,courbe 2) %% affiche une lgende
title(mon premier chef-doeuvre)
%% affiche un titre
Bouclages et branchements
MATLAB offre des commandes pour faire des bouclages (for et while) et des branchements (if elseif else).
>> for i = 1:6
r(i) = 2*i;
end
>> r
r =
2
4
6
%% boucle FOR
%% sans cho
10
12
%% branchement IF ELSE
%% avec cho
t =
%% rsultat
1
%% avec cho
Fichiers FUNCTION
Le nom dun fichier FUNCTION se termine par lextension .m. Il contient la dfinition dune fonction qui porte
habituellement le mme nom que le nom du fichier (sans lextension).
Un fichier FONCTION dbute par function [y1, y2, ..., yn] = nom_fct(x1,x2,...,xm).
x1, x2, ..., xm sont les arguments dentre tandis que y1, y2, ..., yn sont les arguments de sortie. La fonction est appele
par son nom nom_fct en passant le mme nombre darguments dentre. Les variables utilises lintrieur de la
fonction sont locales, i.e., elles ne sont pas accessibles lextrieur de la fonction. Les commentaires dbutent par %
(sauf dans les chanes de caractres) et couvrent le restant de la ligne.
Exemple:
%fichier FUNCTION fct(x)
function y = fct(x)
v = pi/4;
y = x.*exp(v*x);
Fichiers SCRIPT
Le nom dun fichier SCRIPT se termine par lextension .m. Il contient une suite de commandes MATLAB qui sont
excutes lorsque le nom du fichier (sans lextension) est entre comme commande dans la fentre MATLAB.
Des variables globales peuvent tre dfinies laide de la commande global.
Exemple:
%Fichier FUNCTION fct.m
function y = fct(x)
global v
y = x.*exp(v*x);
9.6210
0.0000
Voici deux autres exemples de fichiers SCRIPT (ces fichiers sont disponibles dans les documents imprimer sur le site
Web du cours):
% fichier SCRIPT prec.m
% algorithme pour calculer la prcision machine
eps1 = 1.0;
while (1.0 + eps1) > 1.0
eps1 = eps1 / 2.0;
end
eps1 = 2.0 * eps1;
fprintf(1,\n La precision machine est: %6.5e\n,eps1);
%
%
%
%
%
%
%
%2.0f
%11.3f
%10.0f
%13.3f , n, nfact, Sn);
%6.2f\n, err_abs, err_rel);