Vous êtes sur la page 1sur 5

ECOLE NORMALE SUPÉRIEURE DE ‫ﺍﻟﻤﺪﺭﺳﺔ ﺍﻟﻌﻠﻴﺎ ﻸﺳﺎﺗﺬﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺍﻟﺘﻘﻨﻲ‬

L'ENSEIGNEMENT TECHNIQUE
MOHAMMEDIA
ENSET ‫ﺍﻟﻤحﻤﺪيﺔ‬
UNIVERSITÉ HASSAN II DE CASABLANCA ‫ﺟﺎﻣﻌﺔ ﺍﻟحﺴﻦ ﺍﻟﺜﺎﻧﻲ ﺑﺎﻟﺪﺍﺭ ﺍﻟﺒﻴﻀﺎﺀ‬

TP 1 : Prise en main du logiciel MATLAB

1. Introduction à MATLAB
MATLAB est un logiciel de calcul numérique très utilisé dans les domaines de l'ingénierie,
des mathématiques, des sciences physiques, de la finance et bien d'autres. Le nom MATLAB
signifie "MATrix LABoratory", car il est conçu pour manipuler facilement les matrices.

MATLAB permet de résoudre des problèmes mathématiques complexes en utilisant une


syntaxe simple et intuitive. Il est équipé d'un grand nombre de fonctions mathématiques
prédéfinies qui peuvent être utilisées pour effectuer des calculs de base, tels que l'addition, la
soustraction, la multiplication et la division, ainsi que des opérations plus avancées telles que
l'algèbre linéaire, les statistiques et le traitement du signal.

2. Premières commandes
On peur taper plusieurs commandes MATLAB sur une même ligne en les séparant par
une virgule. Quelques exemples élémentaires à tester :
➢ Opérations numériques
>> 5*6, 2^5
>> 3+5*2^5
➢ Comment déclarer des variable (Nom de variable=)
>> x=2
>> y=x^5
>> y/x
➢ Les variables s’afficher sous différents formats
>> a=sqrt(3)
>> format long, b=sqrt(3)
>> a-b
>> format short
>> who
>> clear
>> who

3. Matrices, vecteurs et tableaux.


En fait MATLA est avant tout un outil matriciel ; il considère un nombre réel comme
une matrice 1x1. Tout donc tableau, et MATLAB est particulièrement adapte aux calculs
numériques d’algèbre linéaire.
Voici tout d’abord différentes possibilités pour crée ou modifier une matrice :
1
GE 1ére Année-2023/2024 Mr I. EL MYASSE
ECOLE NORMALE SUPÉRIEURE DE ‫ﺍﻟﻤﺪﺭﺳﺔ ﺍﻟﻌﻠﻴﺎ ﻸﺳﺎﺗﺬﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺍﻟﺘﻘﻨﻲ‬
L'ENSEIGNEMENT TECHNIQUE
MOHAMMEDIA
ENSET ‫ﺍﻟﻤحﻤﺪيﺔ‬
UNIVERSITÉ HASSAN II DE CASABLANCA ‫ﺟﺎﻣﻌﺔ ﺍﻟحﺴﻦ ﺍﻟﺜﺎﻧﻲ ﺑﺎﻟﺪﺍﺭ ﺍﻟﺒﻴﻀﺎﺀ‬

>> A = [5.7 0.2 6.2 5.1 ; 8.7 7.1 2.4 8.4 ; 1.2 0.4 8.2 6.4]
>> A(1,2), A(2,4)
>> A(1), A(3), A(7)
>> A(3,4)=100 >> A'
>> rand(1,3), rand(2)
>> zeros(3), ones(3,2)
>> eye(3), eye(3,2)
>> magic(3)
A noter que l’affichage peut être supprimé en terminant la commande par un point-virgule.
C’est utile quand on travaille avec de grosses matrices.

>> S1=zeros(20,25) ;
>> S2=zeros(10,12)

L’opérateur « : » est très utile pour construire un tableau ou en extraire une partie, une ligne ou
une colonne. Testez

>> -3:3
>> x= -3:0.3:3
>> x(2) , x(2:12)
>> x(9:-2:1)
>> y=10:100; y(2), y(10)
>> y(40:5:60)
>> A=[1:6 ; 2:7 ; 4:9]
>> A(1,:) , A(:,2)
>> A(1:2,3:5)
>> S=rand(20,5) >> S(6:7,2:4)

Calcul matriciel
Apres avoir entre les donnes, on peut essayer d’effectuer les opérations ci-dessous :

>> A= [1 2 3 ; 4 5 6 ; 7 8 10], b= [1 1 1]'


>> 2*A, A/4
>> A+ [b, b, b]
>> A*b
>> b*A
>> b'*A
>> b'*b , b*b'
>> A^2 , A*A
>> A+1 , b+2
>> A.^2 , A.*A
>> A.*b
>> 1./A , 1./A.^2

2
GE 1ére Année-2023/2024 Mr I. EL MYASSE
ECOLE NORMALE SUPÉRIEURE DE ‫ﺍﻟﻤﺪﺭﺳﺔ ﺍﻟﻌﻠﻴﺎ ﻸﺳﺎﺗﺬﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺍﻟﺘﻘﻨﻲ‬
L'ENSEIGNEMENT TECHNIQUE
MOHAMMEDIA
ENSET ‫ﺍﻟﻤحﻤﺪيﺔ‬
UNIVERSITÉ HASSAN II DE CASABLANCA ‫ﺟﺎﻣﻌﺔ ﺍﻟحﺴﻦ ﺍﻟﺜﺎﻧﻲ ﺑﺎﻟﺪﺍﺭ ﺍﻟﺒﻴﻀﺎﺀ‬

• Pour obtenir des renseignements sur une fonction particulière il suffit de taper :
» help nom_fonction

• Il est possible de sauvegarder vos données de l'espace de travail dans un fichier d'extension
.mat comme suit :
» save nom_fichier

• Vous pouvez retrouver vos données, en utilisant la commande :


» load nom_fichier

• Pour effacer la fenêtre de commande, il suffit de taper : >> clc

Autres opérations de base :


>> m1=[1 2 3; 4 5 6; 7 8 9] Soit une matrice A (5x5) non nulle.
>> m2=[1:1:3 ; 11:1:13] Expliquer la signification de chacune
>> m2' >> m2'*10 des opérations suivantes :
>> m2^2 >> [m n]=size(A)
>> m2.^2 >> size(A)
>> det(m1) >> x=A(:,1) , y=A(:,2) , z=A(:,3)
>> m1^(-1) >> triu(A)
>> inv(m1) >> tril(A)
>> pinv(m1) >> B=rot90(A)
>> m1*m2' >> diag(A)
>> m1*m2 >> diag(B)
>> diag ([1:4]) >> trace(A), trace(B)
>>length(m2) >> det(A), det(B)
>> size(m2) Tirez une conclusion
>> t=0:0.1:2
>>x=exp(t) >> C=inv(A)
>> plot(t,x) >> C*A
>> plot(t,x,'r') Que représente alors la matrice
>> plot(t,x,'o') C pour la matrice A ?
>> plot(t,x,'+g')
>> plot(t,x,'k-+') >> D=rref(A)
>> title('L’exp en fonction de t') Que représente alors la matrice
>> ylabel('la fonction exp') D pour la matrice A ?
>> xlabel('le temps')

4. Programmation avec MATLAB

3
GE 1ére Année-2023/2024 Mr I. EL MYASSE
ECOLE NORMALE SUPÉRIEURE DE ‫ﺍﻟﻤﺪﺭﺳﺔ ﺍﻟﻌﻠﻴﺎ ﻸﺳﺎﺗﺬﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺍﻟﺘﻘﻨﻲ‬
L'ENSEIGNEMENT TECHNIQUE
MOHAMMEDIA
ENSET ‫ﺍﻟﻤحﻤﺪيﺔ‬
UNIVERSITÉ HASSAN II DE CASABLANCA ‫ﺟﺎﻣﻌﺔ ﺍﻟحﺴﻦ ﺍﻟﺜﺎﻧﻲ ﺑﺎﻟﺪﺍﺭ ﺍﻟﺒﻴﻀﺎﺀ‬

➢ Communication avec l’utilisateur

On peut afficher un message, une valeur à l’écran avec disp :

disp(’Ceci est un test’) afficher "Ceci est un test" sur l’écran.


On peut saisir une valeur avec input :
x = input(’Valeur de x = ’) afficher sur l’écran "Valeur de x = "
en attendant qu’un nombre soit tapé

➢ Contrôle de l’exécution
On peut créer une boucle, ou des boucles imbriquées en utilisant for … end.

Boucle FOR simple: Boucle FOR imbriquées:

For i=1:10 for i = 1:5


A=i+3; for j = 1:5
end A(i,j) = i + j;
end
end

➢ Fichiers M
Les fichiers M contenant des suites d’instructions MATLAB et ayant extension .m par exemple
« test1.m ». Si l’on tape test1, les instructions contenues dans le fichier test1.m seront
exécutées une par une. Pour créer des fichiers M on peut utiliser n’importe quel éditeur de
texte, ou bien l’Éditeur MATLAB intégré (commande edit).
Pour créer un script : File > New > M-File.

Exemple :
% ceci est un exemple de fichier M
% les lignes de commentaire commencent par "%"
for i=1:10 for j=1:4

end
end

➢ Création de fonctions MATLAB

Des nouvelles fonctions peuvent être ajoutée aux fonctions MATLAB préexistantes.
Une nouvelle fonction n’est autre qu’un fichier M particulier dont la première ligne contient la
définition syntaxique de la fonction, à travers le mot clé function :
4
GE 1ére Année-2023/2024 Mr I. EL MYASSE
ECOLE NORMALE SUPÉRIEURE DE ‫ﺍﻟﻤﺪﺭﺳﺔ ﺍﻟﻌﻠﻴﺎ ﻸﺳﺎﺗﺬﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺍﻟﺘﻘﻨﻲ‬
L'ENSEIGNEMENT TECHNIQUE
MOHAMMEDIA
ENSET ‫ﺍﻟﻤحﻤﺪيﺔ‬
UNIVERSITÉ HASSAN II DE CASABLANCA ‫ﺟﺎﻣﻌﺔ ﺍﻟحﺴﻦ ﺍﻟﺜﺎﻧﻲ ﺑﺎﻟﺪﺍﺭ ﺍﻟﺒﻴﻀﺎﺀ‬

• function y = mafonct1(x) fonction qui retourne y à


aaaaaaaaaaaaaaaaaaaaaaaaaaaaapartir de x
• function z = mafonct2(x,z) fonction qui retourne z
AAAAAAAAAAAAAAAAAAAAAAAAAAAAApartir de x et de y
• function [y1,y2] = mafonct3(x1,x2)

Exemple :
function y = eff(x)

% eff Calcul de la valeur efficace un vecteur

m = length(x);
y=sqrt(sum(x.*x)/m);

Si la fonction est contenue dans un fichier eff.m on pourra l’appeler par eff dans la ligne de
commande, dans un autre fichier M ou dans une autre fonction « utilisateur » :
» v = [1 2 3 4 5];
» val_effy = eff(v)
» val_eff =
2.1602
Rq : La fonction rms (root-mean-square) de Matlab peut être utilisée pour calculer la valeur
efficace d'un vecteur.
» val_effy = rms(v)
» val_eff =
2.1602

➢ Graphiques
>> t=0:0.01e-3:0.06 ;
>> y=10*exp(-60*t).*cos(120*pi*t);
>> z=10*exp(-60*t).*sin(120*pi*t);
>> plot(t,y,'r',t,z,'g')
>> a=10*exp(-60*t);
>> hold
>> plot(t,a,'b--')
>> plot(t,-a,'b--')
>> title('Fonctions sinusoidales’)
>> xlabel('Temps (s)')
>> ylabel('Tension (V)')

5
GE 1ére Année-2023/2024 Mr I. EL MYASSE

Vous aimerez peut-être aussi