0% ont trouvé ce document utile (0 vote)
2 vues44 pages

Matlab Introduction

Matlab est un logiciel de calcul numérique permettant des opérations matricielles rapides, avec des fonctions prédéfinies et une librairie graphique intégrée. Il fonctionne en mode interactif ou exécutif, et permet la manipulation de matrices, la création de graphiques, ainsi que la résolution d'équations et d'optimisation. Des outils spécifiques sont disponibles pour le traitement du signal, d'image, et des statistiques.

Transféré par

Asmaa Zugari
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues44 pages

Matlab Introduction

Matlab est un logiciel de calcul numérique permettant des opérations matricielles rapides, avec des fonctions prédéfinies et une librairie graphique intégrée. Il fonctionne en mode interactif ou exécutif, et permet la manipulation de matrices, la création de graphiques, ainsi que la résolution d'équations et d'optimisation. Des outils spécifiques sont disponibles pour le traitement du signal, d'image, et des statistiques.

Transféré par

Asmaa Zugari
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Présentation de Matlab

Logiciel développé en Fortran et C++ pour le calcul numérique


(Unix/Linux, Windows).

Calcul matriciel rapide.

Fonctions de haut niveau prédéfinies : résolution de systèmes


linéaires, EDO, ...

Librairie graphique intégrée.

Langage de programmation, graphisme évolué

Boites à outils : traitement du signal, traitement d’image, stats.

2
Matlab– Mise en pratique
Premiers pas

Il existe deux modes de fonctionnement :

! Mode interactif : MATLAB exécute les instructions au fur et à mesure


qu'elles sont données par l'usager.
! Mode exécutif : MATLAB exécute ligne par ligne un "fichier M" (programme
en langage MATLAB).

Fenêtre Commande: Dans cette fenêtre, l'usager donne les instructions et


MATLAB retourne les résultats.

Fenêtres Graphiques: MATLAB trace les graphiques dans ces fenêtres.

Fichiers M: Ce sont des programmes en langage MATLAB (écrits par l'usager).

3
Matlab– Mise en pratique
Mode interactif

4
Mode exécutif

5
Syntaxe

% ceci est un commentaire

variable = expression
expression est évaluée, affectée à variable et affichée.

expression
expression est évaluée, affectée à ans et affichée.

variable = expression;
expression est évaluée, affectée à variable et n’est pas affichée.

Les majuscules sont distinctes des minuscules.

6
Matlab– Mise en pratique
Manipulation de matrices

A = [1 2 3; 4 5 6] donne
A=
! 1. 2. 3. !
! 4. 5. 6. !

b = [1 2 3]
b=
! 1. 2. 3. !

b = [1 2 3]'
b=
! 1. !
! 2. !
! 3. !

7
Matlab– Mise en pratique
Matrices particulières

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

ones(m,n) matrice de taille m, n dont les coefficients valent


1

eye(m,n) Matrice identité de taille min(m,n) complétée par


des zéros

8
Matlab– Mise en pratique
La fonction size

size(A) nombre de lignes et de colonnes

size(A,’1’) nombre de lignes

size(A,’2’) nombre de colonnes

9
Matlab– Mise en pratique
Opérations matricielles

+ - addition soustraction

* ^ multiplication puissance (matricielles)

.* .^ multiplication puissance terme à terme

A\b solution de A*x =b

./ division terme à terme

10
Matlab– Mise en pratique
Types de données

Certaines constantes sont prédéfinies

pi 3,1415927

i
−1

11
Matlab– Mise en pratique
Constructions des matrices

vecteurs Matrices
x:y nombres de x à y par pas de 1 A(i,j) coefficient d’ordre i, j de A

A(i1:i2, :) lignes i1 à i2 de A
x:p:y nombres de x à y par pas de p

A(i1:i2, :) = [ ] supprimer les lignes i1 à i2 de A


linspace(x,y,n) n nbres entre x et y

A(:, j1:j2) = [ ] supprimer les colonnes j1 à j2 de


V(i) i-ème coordonnée de V A

V(i1:i2) coordonnées i1 à i2 de V diag(A) coefficients diagonaux de A

V(i1:i2)=[ ] supprimer les coordonnées i1 à i2 de


V

12
Matlab – Mise en pratique
i=0:2:12 (vecteur prenant des valeurs de 0 a 12 avec un pas de 2)
i=
! 0. 2. 4. 6. 8. 10. 12. !

Si l'incrément vaut 1 on peut l'omettre : i=0:8


i=
! 0. 1. 2. 3. 4. 5. 6. 7. 8. !

linspace(0,1,6)
ans =
! 0. 0.2 0.4 0.6 0.8 1. !

13
Matlab – Mise en pratique
Extraction de termes

! A(2,3)

! A(3,:) la troisième ligne

! A(2:4,3:4) sous-matrice allant de la 2ème la 4ème ligne et de la


3ème la 4ème colonne

! A(v,w) ou v et w sont deux vecteurs, extrait les termes


correspondants

14
Matlab– Mise en pratique
Commandes principales
Pour for x= vecteur
instruction;
end
Tant que while booleen, instruction; end

Si if booleen
instruction;
end
Sinon else instruction; end

Sinon si else if booleen


instruction;
end
Selon select x case………… then end
15
Matlab– Mise en pratique
Les boucles

La boucle for (itère sur les éléments d'un vecteur ligne)

for i=1:4
x = 2^i
end

La boucle while

x=3
while (x > 1)
x=x/2
end

16
Matlab– Mise en pratique
Boucles et instructions conditionnelles

28/09/2016
x=16;
if (x>0)
y=-x

Matlab en pratique
else
y=x
end

Résultat : y = -16

17

17
Matlab– Mise en pratique
Instructions conditionnelles

Les opérateurs de comparaison

==
<
<=
>=

~= (différen t de)

Les opérateurs logiques

& et
| ou
~ non

18
Matlab– Mise en pratique
Définition de fonctions avec Matlab

• function [arguments_sortie]=nom_de_la_fonction(arguments_entrée)
<instructions>
end

Matlab en pratique
• function [y1,y2,y3] = nomfonction(x1,x2,x3,x4)
y1 = x1+x2
y2 = x1*x3
y3 = x1+x2+x3+x4
end
%les xi sont les arguments d'entrée et les yj les arguments de sortie

• Appel : [a,b,c] = nomfonction(1,-1,1.5,4)

19
Matlab– Mise en pratique
Les graphiques

o Les courbes dans le plan

28/09/2016
x=-pi:.1:pi; ( ou x=linspace(-%pi,%pi,100) )
plot(x,sin(x))

Matlab en pratique
plot peut également prendre un certain nombre d'options de
style

o Les surfaces
x=linspace(0,2*%pi,31);
z=cos(x)'*cos(x);
plot3(x,x,z)

20

20
Matlab– Mise en pratique
Les graphiques multiples

On peut tracer plusieurs graphiques dans la même fenêtre en utilisant


l’instruction subplot pour diviser la fenêtre en plusieurs parties.
- Diviser la fenêtre en deux parties (2 x 1)

subplot(2,1,1)

subplot(2,1, 2)

- Diviser la fenêtre en deux parties (1 x 2)

subplot(1,2,1) subplot(1,2,2)

21
Matlab– Mise en pratique
Les graphiques multiples

On peut tracer plusieurs graphiques dans la même fenêtre en utilisant


l’instruction subplot pour diviser la fenêtre en plusieurs parties.
- Diviser la fenêtre en quatre parties (2 x 2)

subplot(2,2,1) subplot (2,2,2)

subplot(2,2, 3) subplot (2,2,4)

- Diviser la fenêtre en quatre parties (4 x 1)


subplot (4,1,1)
subplot (4,1,2)
subplot (4,1,3)
subplot (4,1,4)
22
Matlab– Mise en pratique
’usager
Communication avec l’

On peut afficher un message, une valeur à l'écran avec


l’instruction disp :

disp('Ceci est un test') Afficher "Ceci est un test" sur l'écran

On peut entrer une valeur avec l’instruction input :

x = input('Valeur de x = ') Afficher sur l'écran "Valeur de x = "


et attendre qu'un nombre soit tapé sur le clavier

23
Matlab– Mise en pratique
Quelques solveurs de Matlab
! Racines d’un polynôme.

! Racines d’une équation algébrique non linéaire.

! Système linéaire algébrique.

! Système non linéaire algébrique.

! Maximum ou Minimum d
d’une
une fonction.

! Optimisation d’une fonction de plusieurs variables.

! Probabilités et statistiques

! Résolution des équations différentielles

! Résolution des équations aux dérivées partielles

!………………
24
Matlab– Mise en pratique
Racines de polynôme

Exemple : 5x^3+2x^2-4x+9=0

roots([5 2 -4 9])

25
Matlab– Mise en pratique
’une équation algébrique non linéaire
Racines d’

Exemple : f(x)= exp(-x/2) (2-x) -1

Trouver la racine de cette équation au voisinage de x=1

solution = fzero(@f,1)

function y=f(x)
y= exp(-x/2) (2-x) -1
end

26
Matlab– Mise en pratique
Système linéaire algébrique

Exemple :
12.2 x + 9.6 y – 0.1 z = 18
-22 x + 1.4 y + 16 z = 8
-0.43 x + 3.5 y + 9.9 z = -47

AX = b

Solution : x=inv(A)*b ou x=A\b

27
Matlab– Mise en pratique
Système non linéaire algébrique

Exemple :
x^2 + y^2 -4 = 0
xy – 1 =0

function z = eqns(x)
z(1) = x(1).^2 + x(2).^2 -4;
z(2) = x(1).*x(2) – 1;
end

Solution = fsolve(@eqns,[0.6,0.5])

28
Matlab– Mise en pratique
’une fonction
Maximum ou Minimum d’

Exemple :

Trouver les minimums de la fonction suivante : f(x)=cos(x)cosh(x) -


1 ; 0≤x≤5

function y = fm(x)
y= cos(x)*cosh(x) -1;
end

xmin = fminbnd(@fm,0,5)

29
Matlab– Mise en pratique
TP1 : Environnement et bases de programmation

• Définir le vecteur ligne age de 1 à 25 par pas de 1.


• Calculer la somme des éléments du vecteur age par une boucle for et
faire la moyenne.
• Faire le produit A par la matrice B.
• Ajouter 1 aux éléments de la matrice A. Calculer la matrice B + I (I est
la matrice identité).
• Évaluer eye(B)/B et comparer avec inv(B).
• Résoudre le système linéaire Bx=(1 1)’
• Dessiner la courbe de la fonction y(x) = x sin(x) sur l’intervalle [0, 10]
avec un pas de 0.05.
• Superposer les courbes y(x) = x et y(x) = x sin(x) en utilisant un ou
deux appels successifs à plot.
• Calculer le minimum de la fonction suivante : 1/2 *x2 +x +1 en utilisant
le solveur fminbnd avec -3 <x < 5 et fminunc avec x0=0;

30
Optimisation

• demo toolbox optimzation

• Minimiser la fonction : f(x,y) = 3x2+2xy + y2


function f = myfun(x)

f= 3*x(1)^2 + 2*x(1)*x(2) + x(2)^2 ; % fonction coût)


x0 = [1,1];

[x , fval] = fminunc(@myfun , x0);

31
Optimisation sous contraintes linéaires et non linéaires

32
Lois de probabilités discrètes

mk
• Loi de poisson P(X = k) = e -m
k!

p = poisspdf(0,2)

• Loi binomiale : binornd; binofit

33
Résolution des équations différentielles

• Solution analytique :
dsolve(equation,initiales,’x’)
x=linspace(a,b,n)
yy=eval(vectorize(y))
plot(x,yy)

• Solution numérique : y’(x) = f(x,y) = expression


f = inline(‘expression’);
[x , y] = ode45(f, [a , b], conditions initiales)
plot(x,y)
valeurs_x=a:p:b;
[x, y] =ode45(f, valeurs_x,1);

34
Solveur EDO

• function yprime = eqDiff(x,y)


%cette fonction calcule dy/dx = f(x,y)
yprime = expression
end

• xx=[0 , 1];
y0=1;
[x , y] = ode45(@eqDiff, xx,y0);
plot(x,y)

35
Equations aux dérivées partielles

Elliptique

Parabolique

Hyperbolique

Toolbox : pdetool

36
TP 2 : EDO et EDP

• Résolution de l’équation différentielle

y’(t)= dy/dt=y2(t) – y(t) sin(t) + cos(t),


y(0)=0

• Résolution d’EDP
-div (3*gradU(X))=3 dans (0,1)x(0,1)
Conditions aux limites mixtes (Dirichlet et Neumann)

37
38

38
Matlab et les images

28/09/2016
• Pour Matlab, une image de taille (m,n) est une matrice X de
taille (m,n), et la valeur de X(i,j) correspond à la valeur du
niveau de gris de l’image au pixel (i,j)

Matlab en pratique
• Matlab est capable de lire environ tous les formats standards
d’images

39

39
Matlab et les images

28/09/2016
• Pour charger une image :

Matlab en pratique
" Si l’image se trouve dans le toolbox de matlab on utilise la
commande : load nom_image

" Sinon on utilise la commande :


imread(‘emplacement_image.nom_image’)

40

40
Exemple

% chargement d’une image


load gatlin2

%l’image est chargée dans la variable X

%visualisation
imagesc(X)

%affichage au niveau de gris


colormap gray

41
42
’une image
Bruitage d’
function out=bruitage(I,s);

[m,n]=size(I);

J=zeros(m,n);

J=s*randn(m,n);

out=I+J;

figure(2)

imagesc(out)
colormap gray;
43
44
Débruitage

• Le débruitage peut se faire entre autres


grâce à des filtres d’EDP.
• En particulier l’équation de la chaleur peut
être utilisée pour cette fin (En utilisant la
transformée de fourier).

45

Vous aimerez peut-être aussi