Année :
TP1 : Initiation à Matlab 20012/2013
INDP1 : A,B,C,D et E
Introduction :
Matlab est un logiciel interactif permettant d’effectuer des calculs numériques complexes
utiles dans le domaine de l’ingénierie. Il est essentiellement performant pour le calcul
matriciel, car sa structure de données est basée sur les matrices, et il dispose de possibilités
d’affichage très riches.
Objectif :
Les travaux pratiques que vous allez effectuer au cours de ce semestre sont planifiés en
fonction du logiciel Matlab. C’est pour cette raison que nous vous proposons ici une séance
d’initiation à ce logiciel.
Commandes de base :
Matlab est un langage interprété. Il n’est pas nécessaire de compiler un programme avant de
l’exécuter et toute commande tapée dans la fenêtre de commande est immédiatement
exécutée. Pour obtenir de l’aide, tapez help commande ou bien activer le système d’aide du
menu.
1/ quel est le résultat des instructions suivantes :
>> x=3+5^2
>> y=sin(x)
>> z=3+i*2
>> sqrt(x)+pi
2/ Quel est le rôle des commandes : « who », « whos » et « clear » ?
Vecteurs et matrices :
Dans Matlab, les opérations mathématiques peuvent être effectuées sur les matrices ou les
vecteurs entiers à l’aide d’une seule instruction (sans boucle).
Génération d’un vecteur :
1/ Générer les vecteurs : a=[1 :1:15 ] et b=[35 :2 :64]
Calculer le carré des éléments de a, ensuite le produit scalaire entre les deux vecteurs a et b en
utilisant l’instruction « sum » ?
2/ Evaluez où an et bn sont les éléments de a et b.
1
Année :
TP1 : Initiation à Matlab 20012/2013
INDP1 : A,B,C,D et E
3/ Calcul sur les nombres complexes :
Soit le vecteur c=[3+4i 5+9i –3-4i]
a. Générer le vecteur m contenant les modules des éléments du vecteur c à l’aide de la
commande « abs »
b. Générer le vecteur p contenant les phases des éléments du vecteur c à l’aide de la
commande « angle »
c. Trouver le complexe conjugué du vecteur c à l’aide de la commande « conj »
Génération d’une matrice :
1/ Soit la matrice définie par A=[1 2 3 ; 4 5 6 ; 7 8 9] ;
Que font les commandes suivantes :
>> B=A’;
>> C=det(A) ;
>> D=A([1,2],[2,3]);
>> E=A(:,2);
>> F= A(2,:);
>> G=[E F’];
2/ Que fait la séquence d’instructions suivante (commenter chaque ligne) :
>> n=10
>> S=[eye(n) zeros(n,1)]
>> S=S(:,2:n+1)
>> A=2*eye(n)-S-S'
3/ De même que fait la séquence :
>> e=ones(n,1)
>> D= diag(e)
>> SD=diag(diag(D),-1)
>> A=2*D-SD-SD’
C’est quoi l’erreur sur la dernière ligne et comment la corriger?
Affichage Graphique :
1/ Tracer le graphe du vecteur x en utilisant la commande « plot».
>> t=0 :0.01 :10 ;
>> x=sin(2*pi*t);
C’est quoi la différence entre plot(x) et plot(t,x) ?
Donner un nom aux axes et une légende en utilisant les commandes « title », « xlabel » et
« ylabel ».
2
Année :
TP1 : Initiation à Matlab 20012/2013
INDP1 : A,B,C,D et E
2/ Soit le vecteur v défini par :
v=[0 1 2 3 2 1 0 1 2 3 2 1 0 1 2 3 2 1 0] ;
C’est quoi la différence entre plot(v), stem(v) et bar(v) ?
Remarque : A chaque fois que vous voulez afficher un nouveau graphique sur une nouvelle
fenêtre, il suffit de taper :
>> figure;
3/ Que font les commandes « semilogx » et « semilogy » ? Donner un exemple d’utilisation.
4/ Reconsidérons le vecteur t de la question 1/
Soit x1=sin(2*pi*t); x2= cos(2*pi*t);
a. Taper les commandes suivantes :
>> plot(x1);
>> hold on
>> plot(x2);
Que fait la commande « hold on »?
b. Taper les commandes suivantes :
>> subplot(2,1,1) ;plot(x1);
>> subplot(2,1,2) ;plot(x2);
Que fait la commande « subplot » ?
Script et fonction:
1/ Ecrire un programme Matlab avec une boucle qui permet de construire le vecteur suivant :
v=[2,4,8,…., 131072]
2/ Ecrire une fonction qui génère une suite de variables aléatoires de taille n en utilisant
l’instruction « randn ». Ces variables suivent quelle loi de probabilité ? Calculer la moyenne
et la variance en utilisant les commandes « mean » et « std ».
Cette fonction prendra en entrée le paramètre n et affichera l’histogramme du vecteur
résultant en utilisant la commande « hist ». Que remarquez vous ?