Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

chapitre1

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

Chapitre 1

Résumé de cours MATLAB

Introduction
Ce résumé de cours a pour but de fournir les bases nécessaires à l’utilisation du logiciel MATLAB.
Le logiciel MATLAB (Matrix Laboratory) est un langage interprété : il propose des facilités de pro-
grammation et de visualisation, ainsi qu’un grand nombre de fonctions réalisant diverses méthodes
numériques. Tous les objets définis dans MATLAB sont donc au moyen de vecteurs et de matri-
ces/tableaux. Un ensemble important d’opérateurs et de fonctions MATLAB de base facilitent leur
manipulation et des opérations comme par exemple le produit et l’inversion matricielles inv, la trans-
position (’) ou encore le calcul des valeurs propres (eig) font parties de la bibliothèque standard.
D’autres fonctions servant à la création et à la manipulation de matrices et des tableaux (diag, fliplr,
flipud, rot90, rand, ones, zeros, linspace, tril, triu, etc...) sont également disponibles.
MATLAB offre également plusieurs fonctions destinées à la résolution (numérique) d’équations dif-
férentielles linéaires ou non linéaires, notamment par la méthode de Runge-Kutta (ode23 et ode45),
l’intégration numérique (trapz, quad et quad8), la recherche des solutions d’équations algébriques
(roots) ou transcendantes (fzero), la création et manipulation de polynômes (poly, polyder, polyval,
conv, deconv)

Remarque 1 une aide en ligne est disponible pour chaque commande de MATLAB. Il suffit d’in-
troduire après linvité de commande » :

help nom_de_commande, exemple: help fzero; help poly

L’environnement MATLAB
l’interface de Matlab selon la version utilisée, par défaut on retrouve quatre fenêtres :
1. Command Window : est la fenêtre principale dans laquelle on tape les commandes directement
dans l’interpréteur MATLAB.
2. Command History : garde la trace de toutes les commandes entrées par l’utilisateur, Il est donc
possible de récupéerer des instructions déja saisies (et ensuite de les modifier dans le but de

les réutiliser) −→, ↓, −→, ←−, permet de se déplacer dans les lignes de commandes

3. Current Directory : indique le répertoire courant ainsi que les fichiers existants
4. Workspace : indique toutes les variables et valeurs mises en mémoire avec leurs types, leur
dimensions et leur nom.

Remarque 2 l’interface Matlab peut changer selon la version, mais les principales fenêtres resteront
identiques. La figure 1 illustre l’interface générale du Matalab.
2 CHAPITRE 1. RÉSUMÉ DE COURS MATLAB

Figure 1.1 – Interface de Matlab

Editeur intégré à MATLAB


Matlab possède un éditeur intégré que l’on appelle sélectionnant File-New-Script. De cette
façon, l’utilisateur peut rajouter ses propres fonctions. Cette approche est définie en Matlab par les
M-Files, qui sont des fichiers pouvant contenir les données, les programmes (scripts) ou les fonctions
que nous développons. Pour créer un M-Files il suffit de taper la commande edit, ou tout simplement
aller dans le menu : File→ New → M-Files (ou cliquer sur l’icône o ).

Figure 1.2 – La fenêtre d’édition MATLAB

Les bases de MATLAB


Création et calcul de vecteurs et matrices
vecteurs

Un vecteur-ligne (1xn)(resp colonne (nx1) ) est introduit de la façon suivante :

v =[ 6 , 2 , 1 3 , 5 ]; w =[ 1 ; 2 ; 3 ; 4 ];

Si l’introduction est terminée par un point-virgule, on évite l’affichage du vecteur v ou w. L’accès


aux composantes d’un vecteur s’effectue directement par des commandes du genre :

v(2); v(1: 3); w(4); w(1:2:end);


3

Si comme dans le cas présent, v(2) n’est pas affecté à une variable, par une commande de la forme
y=v(3) MATLAB copie le résultat dans la variable système ans

matrices

Une matrice peut être construite de différentes manières :

M=[ 1, 2, 1 2, 4; 7, 8, 3, 1 0; 0, 1, 1, 9]
N=[1 2 3 4;5 6 7 8; 9 10 11 12; 13 40 42 43]

où les ; séparent les lignes d’une matrice. On peut construire une matrice à partir de plusieurs vec-
teurs de même longueur

x=[ 1 2 3]; y=[2, 5 6]; z=[8 3 1]; mat=[x;y;z]

vecteurs de chaîne de caractères

La chaîne de caractères est un vecteur ligne. Pour le créer, on entre les caractères entre deux (quote)
(’), exemple »ch=’Matlab’

Les nombres complexes

Dans Matlab, un nombre complexe est de la forme : z = a + ib. exemple z=3+i. La commande
conj(z), real(z), imag(z), abs(z) et angle(z) calcul le conjugué, la partie réel, la partie imaginaire le
module et l’angle en radian (respectivement) du nombre complex z

Remarque 3 La commande format permet d’afficher un nombre à un format donné. Les différents
formats possibles sont :
• short (valeur par défaut) : représentation d’un nombre réel sous forme fixe avec 4 chiffres de
précision après la virgule (x....x.y1y2y3y4).
— long : représentation d’un nombre réel sous forme fixe avec 14 chiffres de précision après la
virgule.
• short e : représentation d’un nombre réel en notation scientifique scientifique avec 4 chiffres
de précision après la virgule (x...x.y1y2y3y4e+z1z2z3).
• long e : représentation d’un nombre réel en notation scientifique avec 14 chiffres de précision
après la virgule.
• format rat : représentation d’un nombre au format rationnel (x/y).

Les polynômes

Matlab représente un polynôme sous forme d’un vecteur ligne contenant les coefficients classés dans
l’ordre des puissances décroissances. Par exemple le polynôme P = x2 − 7x + 9 est représenté par [1
-7 9]

Remarque 4 Dans MATLAB, les indices des vecteurs et matrices doivent être des entiers positifs.
L’indice zéro n’est donc pas plus admis que les indices négatifs.
4 CHAPITRE 1. RÉSUMÉ DE COURS MATLAB

Exercice 1 Construire
1. une suite partant de 8 et allant à 5 par pas de 0 :25.
2. une suite décroissante d’entiers de 16 à 5.
3. une suite de longueur 50 de π à π.

Opérations vectorielles

Les tableaux suivants résument certaines commandes couramment utilisées.


Vecteurs

n:m nombres de n à m par pas de 1


n:p:m nombres de n à m par pas de p
linspace(n,m,p) p nombres de n à m Le pas est calculé ...
automatiquement par Matlab selon la formule : (m-n)/(p-1)
lenght(x) longueur de x
x(i) ième composante de x
x(i1:i2) composantes i1 à i2 de x
x(i1:i2)=[] supprimer les composantes i1 à i2 de x
[x,y] concaténer les vecteurs x et y
x*y' produit scalaire des vecteurs lignes x et y
x'*y produit scalaire des vecteurs colonnes x et y
reshape(x,u,v) construire une matrice de taille [u,v], a partir de x
X = diag (v, k) Lorsque v est un vecteur de n composantes, renvoie ...
une matrice carrée X d'ordre n+abs(k), avec les éléments de v sur ...
la kième diagonale. k = 0 represente la diagonale principale, k > 0 ...
au-dessus de la diagonale principale et en k < 0 dessous de la ...
diagonale principale.
v = diag(X,k) pour X matrice, renvoie un vecteur colonne v formé à ...
partir des éléments de la kième diagonale de X.

Fonctions mathématiques propres aux vecteurs


Il existe aussi des commandes qui sont propres aux vecteurs

sum(x) somme des éléments du vecteur x


prod(x) produit des éléments du vecteur x
max(x) plus grand élément du vecteur x
min(x) plus petit élément du vecteur x
mean(x) moyenne des éléments du vecteur x
sort(x) ordonne les éléments du vecteur x par ordre croissant
fliplr(x) renverse les éléments du vecteur x

Matrices

size(A) nombre de lignes et de colonnes de A


A(i,j) coefficient d'ordre i,j de A
A(i1:i2,:) lignes i1 à i2 de A
A(i1:i2,:) =[] supprimer les lignes i1 à i2 de A
A(:,j1:j2) colonnes j1 à j2 de A
A(:,j1:j2)=[] supprimer les colonnes j1 à j2 de A
A(:) indexation linéaire de A, (concaténation des vecteurs colonnes de A)
A(i) coefficient d'ordre i dans l'indexation linéaire
diag(A) coefficients diagonaux de A
5

Matrices particulières

zeros(m,n) matrice nulle de taille m,n


ones(m,n) matrice de taille m,n dont tous les coeffcients valent 1
eye(n) matrice identitee de taille n
diag(x) matrice diagonale dont la diagonale est le vecteur x
magic(n) carree magique de taille n
rand(m,n) matrice de taille m,n a coeffcients sur [0; 1]

Exercice 2 Entrez la matrice A=[1 2 3 ; 2 3 1 ; 3 1 2 ] Quels sont les résultats des commandes
suivantes ?
— A([2 3],[1 3])
— A([2 3],1 :2)
— A([2 3], :)
— A([2 3],end)
— A( :)
— A(5)
— reshape(A( :),size(A))

Exercice 3 Que produit cette ligne de commande


diag(-m : m) + diag(ones(2 * m, 1), 1) + diag(ones(2 * m, 1),- 1)

Exemple 1 Créez des matrices particulières. Exemple de création d’une matrice par blocs :
C=[A, zeros(3,2) ; zeros(2,3), eye(2)]

Exercice 4 Ecrire la matrice carrée M d’ordre 12 contenant les entiers de 1 à 144 rangés par ligne.
Extraire de cette matrice les matrices suivantes :

— la sous-matrice formée par les coeffcients ai,j de M pour i = 1, · · · , 6 et j = 7, · · · , 12


— celles des coeffcients ai,j pour (i,j) ∈ {1, 2, 5, 6, 9, 10}2
— celle des coeffcients ai,j pour i + j pair.

Opérations matricielles et fonctions


Les opérations matricielles

A' transposée de A
rank(A) rang de A
inv(A) inverse de A
expm(A) exponentielle de A
det(A) déterminant de A
trace(A) trace de A
poly(A) polynome caractéristique de A
eig(A) valeurs propres de A
[U,D]=eig(A) vecteurs propres et valeurs propres de A
+ - addition, soustraction
* ^ multiplication, puissance (matricielles)
.* .^ multiplication, puissance terme à terme
A\b solution de Ax = b
./ division terme à terme

Vous aimerez peut-être aussi