Matlab

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 8

Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

III) Introduction à Matlab (Langage de calcul scientifique)

Définition
Matlab est un logiciel de calcul numérique produit par MathWorks. Matlab est un langage
simple et très efficace, optimisé pour le traitement des matrices, d’où son nom (Matrix
Laboratory). Pour le calcul numérique, Matlab est beaucoup plus concis que les “vieux”
langages (C, Pascal, Fortran, Basic). Un exemple: plus besoin de programmer des boucles
modifier pour un à un les éléments d’une matrice. On peut traiter la matrice comme une
simple variable. Matlab contient également une interface graphique puissante, ainsi qu’une
grande variété d’algorithmes scientifiques.
On peut enrichir Matlab en ajoutant des “boîtes à outils” (toolbox) qui sont des ensembles
de fonctions supplémentaires, profilées pour des applications particulières (traitement de
signaux, analyses statistiques, optimisation, etc).
Fenêtres
Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

Par défaut, on retrouve 4 fenêtres. La fenêtre en haut à droite contient le Workspace. En


dessous, le Command History, à droite, on retrouve le Current Directory . Enfin, au centre il y
a la Command Window. Pour "sortir" une fenêtre de l’interface, il suffit de cliquer sur le
bouton représentant une flèche en haut à droite de chacune des fenêtres.
L’interface contient aussi des barres de menus. Voici les commandes accessibles dans les
menus :
Edit : Clear Command Window Permet d’effacer les instructions et/ou les résultats
visibles dans la Command Window
Edit : Clear Command History : Efface les commandes précédentes mises en mémoire
Edit : Clear Command Workspace : Efface de la mémoire les variables stockées.
View : Détermine les aspects visuels des différentes fenêtres.
Command Window
L’une des plus importantes fenêtres de Matlab, la Command Window traite des
instructions données. C’est après l’invite ("prompt") » qu’il faut entrer les instructions
demandées. Les résultats s’afficheront dès le retour de ligne.

Workspace
La fenêtre nommée Workspace permet de visualiser les variables mises en mémoire. On y
retrouve leurs nom, leurs dimensions ainsi que le type de variable. Matlab étant basé sur les
matrices, toutes les variables sont constituées de plusieurs dimensions : un scalaire est une
matrice 1×1 et un vecteur est une matrice 1×n ou n×1, etc. Il est possible d’effacer certaines
variables ainsi que de les éditer. Pour toutes les effacer, utilisez la commande Clear
Workspace dans le menu Edit.
Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

En double-cliquant sur une variable, la fenêtre Array Editor (Éditeur de tableau) apparait.
Cette fenêtre contient les valeurs des variables et permet de les modifier. Dans l’exemple
suivant, la variable initiale est une matrice 1×1. En ajoutant des valeurs dans les cases
adjacentes, on a transformé la matrice pour qu’elledevienne de dimensions 5×3. Dans
l’exemple, la case (3,2) a eu comme valeur 8 plutôt que 0.
1. Aspects élémentaires
1.1 Aides
intro : lance une introduction à Matlab
help : produit une liste de toutes les commandes par thèmes
help nom : décrit la fonction nom.m
helpwin : ouvre une fenêtre contenant la liste des commandes Matlab ainsi que leurs
documentations
demo : démonstration donnant une représentation des fonctionnalités de bases de Matlab
info : information sur la boite à outils disponibles
lookfor nom : recherche une instruction à partir du mot clé nom
what : liste des fichiers matlab dans le répertoire courant
exist : check si une fonction ou une variable existe dans le workspace
who, whos : liste des variables dans le workspace
1.2 Variables scalaires, opérations élémentaires
>> var=2
var = 2
>> V=3;% en mettant ‘ ;’ l’affichage n’est pas effectué

Opérations élémentaires:
Les opérations sur les scalaires sont standards : addition +, soustraction -, multiplication *,
division /, puissance^. La racine carrée s’obtient par la fonction sqrt.
+ - * / or \ ^
>> 4/2
ans =
2
>> 2\4
ans =
2
1.3 Commentaires, ponctuation
>> s=2+3 % je fais une somme
s = 5
1.4 Variables spéciales
On trouve
Pi, inf, i ou j, realmi , realmax, eps, ans, flops (# d’opérations effectuées)
Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

Ex :
>> eps
ans =
2.2204e-16
>> pi
ans =
3.1415
>> realmax
ans =
1.7977e+308
>> realmin
ans =
2.2251e-308

1.5 Nombres complexes


La représentation des nombres complexes sous Matlab est la suivante :
>> c1 = 1-2i
c1 =
1.0000 - 2.0000i
c2 = 3*(2-sqrt(-1)*3)
c2 =
6.0000 - 9.0000i
>> angle(c1)
ans =
-1.1071
1.6 Fonctions mathématiques
Matlab comporte des fonctions prédéfini, permettent de faciliter les calcul et la
programmation, à l’image de :
sin cos tan sinh cosh tanh ...asin acos atan asinh acosh atanh ...exp log log10 sqrt
cross (produit vectoriel)
dot (produit scalaire)
>> v1=[1 3 5]
v1 =
1 3 5
>> v2=[2 4 6]
v2 =
2 4 6
>> cross(v1,v2)
ans =
-2 4 -2
>> dot (v1, v2)
ans =
44
>> whos
Name Size Bytes Class
ans 1x1 8 double array
c1 1x1 16 double array (complex)
c2 1x1 16 double array (complex)
v1 1x3 24 double array
v2 1x3 24 double array
1.7 Affichage
Display formats est:
Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

FORMAT SHORT (default) Scaled fixed point format with 5 digits.


FORMAT LONG Scaled fixed point format with 15 digits.
examples:
>> pi
ans =
3.1416
>> format long g
>> pi
ans =
3.14159265358979
1.8 Entrées-sorties
Entrée interactive
N = input(prompt) affiche le texte entre prompt et attend de l’utilisateur d’entrer une valeur
et cliquer entrée, l’utilisateur peut entrer des variables, des expressions et des matrices.
N = input(‘please enter N :’); % entrée interactive
please enter N :

affichage :
Pour l’affichage des valeurs ou des commentaires, on utilise la commande ‘disp’
Ex:
disp (‘x est un vecteur’)

disp(N) affiche la valeur de N.

2. Vecteurs
2.1 Création de vecteurs
Par défaut, le vecteur est une ligne à plusieurs colonnes
a) vecteur ligne par énumération des composantes:
Pour une définition manuelle d’un vecteur, on écrit : [ , , , , ] (ex. V = [1, 2, 3, 4, 5, 6])
Ex :
>> v = [1 3.4 5 -6]
v =
1.0000 3.4000 5.0000 -6.0000

b) vecteur ligne par description:


Deb : pas : fin défini un vecteur régulier balayant l’intervalle [deb, fin] avec le pas ‘pas’ (ex :
A = 1 : 1 : 6) ; par défaut le pas est égal à 1 s’il est omis (ex. A = 1 : 6)
>> x = [0 : pi/10 : pi] % [valeur-initiale : incrément : valeur-finale]
x =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850
Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

Columns 8 through 11
2.1991 2.5133 2.8274 3.1416

c) vecteur colonne:
Pour obtenir le vecteur colonne du vecteurs x, en écrie : x’
>> xcol = x’
xcol =
0
0.2856
0.5712
0.8568
1.1424
1.4280
1.7136
1.9992
2.2848
2.5704
2.8560
3.1416

d) génération de vecteurs métriques


linspace (deb, fin, N) défini un vecteur balayant l’intervalle [deb; fin] avec N valeurs
régulièrement espacées
ex :
>> x = linspace(0, pi, 11) % génère le même x que ci-dessus (11 valeurs.
réparties
de 0 à pi)
x =
Columns 1 through 7
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850
Columns 8 through 11
2.1991 2.5133 2.8274 3.1416
>>% linspace(0 , 1, 11) *pi donne le même résultat
>> logspace(0, 2, 11) % crée un vecteur log à 11 composantes entre 100 et
2
10
ans =
Columns 1 through 7
1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489
Columns 8 through 11
25.1189 39.8107 63.0957 100.0000

2.2 Adressages et indexages


Il est possible d'extraire un élément ou un groupe d' élément d'une matrice ; par exemple :
Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

>> x(3) % 3ème élément du vecteur x


ans =
0.5712
>> x(2 : 4) % un bloc de composantes
ans =
0.2856 0.5712 0.8568

2.3 Combinaison de vecteurs


a) Accolage de deux vecteurs:
>> a = [1:3]
a =
1 2 3
>> b=[10:10:30]
b =
10 20 30
>> c = [a b]
c =
1 2 3 10 20 30

Exemple plus compliqué:


>> d=[a(2:-1:1) b] % on accole b avec une portion de a dans l’ordre
renversé
d =
2 1 10 20 30

3. Matrices
Pour une définition manuelle d’une matrice, on écrit : [ , , ; , , ] (ex. A = [1, 2, 3; 4, 5, 6])
Exemple : pour générer la matrice A avec :

On compose : A = [1 2 3 ; 4 5 6 ; 7 8 9]
On obtiendra la transposée et le déterminant de la matrice A en composant :
B = A.'
C = det(A)
Il est possible d'extraire un élément ou un groupe d'éléments d'une matrice; par exemple :
D = A(2,1)
E = A([1,2],[2,3])
F = A(:,2)
Université Alger 1 L3 Chimie Analytique Informatique pour la chimie

G = A(2,:)
La matrice D contiendra l'élément situe a l'intersection de la 2e rangee et de la 1re
colonne de A.
La matrice E contiendra l'intersection des rangées 1 et 2 et des colonnes 2 et 3 de A :

La matrice F de dimension 3 x1 sera formée de la 2e colonne de A, tandis que la matrice G


de dimension 1 x 3 sera formée de la 2e rangée de A.
Il existe aussi des fonctions renvoyant une matrice identité de taille N : eye(N), une matrice de
1 ou de 0 : ones(N,M) et zeros(N,M) (si l’on ne met pas M, une matrice carrée de taille N est
renvoyée) :
>> eye(2)
ans =
1 0
0 1
>> ones(2,6)
ans =
1 1 1 1 1 1
1 1 1 1 1 1

Il est possible de connaître la taille d’une matrice ou d’un vecteur avec la commande size(), qui
retourne le nombre de lignes et de colonnes.
>> size(ans)
ans =
2 6
Chaînes de caractères
Les chaînes de caractères se manipulent comme des vecteurs. Elles sont déclarées avec des
guillemets simples ’
>> s=’Hello’
s=
Hello
>> s(2)
ans =
e

Vous aimerez peut-être aussi