Vous êtes sur la page 1sur 5

Université de Rennes 1 Licence pluridisciplinaire

UFR Mathématiques UE AMNU


Feuille de TP n◦ 1 Année -

Introduction à Matlab

1) Connectez-vous. Créez un dossier amnu. C’est dans ce dossier que vous mettrez le travail
effectué lors des TP du cours d’analyse et méthodes numériques. Dans votre dossier amnu,
créez un sous-dossier TP1 et mettez-vous dedans. Ce sera l’espace de travail pour cette
session.
2) Lancement de Matlab
Choisissez la fenêtre de commande où vous voulez lancer Matlab. Placez-vous dans un
répertoire Matlab si vous n’y êtes déjà.
ATTENTION : changer de répertoire dans une fenêtre de commande est sans effet dans
une autre fenêtre. Ne pas l’oublier quand vous jonglerez entre vos fenêtres plus tard.
Tapez matlab.
S.V.P NE CHARGEZ PAS UN DEUXIEME MATLAB : vous n’en avez pas besoin, vous
encombrez votre machine, et vous prenez un jeton d’accès ! Pour ne pas être tenté de
recharger Matlab, NE PAS FERMER la fenêtre où vous avez lancé Matlab tant que vous
n’avez pas quitté Matlab dans cette fenêtre.
Notez le prompt de Matlab : >>
3) Premiers pas dans Matlab
Remarque : on peut taper plusieurs commandes Matlab sur une même ligne, en les
séparant par une virgule.
Vous pouvez à tout moment demander l’aide en ligne de Matlab par help, comme dans
les exemples suivants :

>> help donne les titres des chapitres du manuel ;


>> help elfun donne les commandes du chapitre elfun ;
>> help feval donne la syntaxe et la fonction de la commande feval.

On peut aussi utiliser la commande doc qui donne accès à la commande en ligne par
l’intermédiaire d’une fenêtre dédiée. Pour quitter cette documentation, cliquer sur Exit
Program dans le menu File de cette fenêtre.
La commande lookfor permet de faire une recherche d’un mot-clef dans toutes les entrées
de help. Par exemple, si vous cherchez le nom de la fonction Matlab permettant d’inverser
une matrice et que vous faites help inverse, Matlab répondra inverse not found. Par
contre, la commande lookfor inverse vous donnera plusieurs fonctions. Essayez. Quelle
est le nom de la fonction recherchée ?
• OPERATIONS ALGEBRIQUES
Essayez de deviner les résultats :

>> 3 + 5 ∗ 2ˆ5, 3 + 5 ∗ 2ˆ5/5, (3 + 5 ∗ 2ˆ5)/5

Exemples d’assignation de variables (signe =)

>> x=2,y=xˆ5
>> y/x

La dernière réponse est appelée ans, à défaut de lui avoir donné un nom. On peut l’utiliser
ainsi (devinez les résultats) :
>> ans, z=3*ans, z=4*z
Regardez la liste actuelle des variables de votre espace de travail :
>> who
>> whos
L’affichage standart est en format court (mais les calculs sont toujours exécutés en double
précision) ; on peut demander un affichage en format long (il existe d’autres formats, voir
help format) :

>> a=sqrt(3)
>> format long, b=sqrt(3)
>> a-b
>> format short (retour au format standart)

• MATRICES
En fait Matlab est essentiellement un outil matriciel ; il considère un nombre réel comme
un tableau 1 × 1. Tout est tableau, et Matlab est particulièrement adapté aux calculs
numériques d’algèbre linéaire.
Voici différentes possibilités pour créer ou modifier une matrice :
I) Ecriture par coefficients :
>> a=[1,2,3;4,5,6]
Autres commandes :
>> a(1,2), a(2,3) (affichage des coefficients)
>> a(2,3)=10 (modification d’un coefficient)

Dans Matlab, i (j aussi par défaut) désigne le nombre imaginaire pur de partie imaginaire
égale à 1 ; si la variable i a été utilisée entre temps à un autre usage (indice de boucle
par exemple) vous pouvez la réinitialiser par i=sqrt(-1) ; vous pouvez aussi choisir un
autre nom, par exemple z=sqrt(-1).

>> v=[1+i 2+2*i 3-3*i] (vecteur complexe)


>> v.’ (transposé)
>> v’ (adjoint)

II) Construction à partir de tableaux donnés :


>> b=v’
>> c=[a;7 8 9]
>> [a;a;a]
>> [a,a,a]
>> [a’,b]
>> [[a;a;a],[b;b]]
On peut supprimer l’affichage en terminant la commande par un point-virgule. C’est utile
quand on travaille avec des grosses matrices.
III) Utilisation de “ : ” :
Il est très utile pour plusieurs usages.
• construction de suites arithmétiques

>> -3:3 (pas implicitement égal à 1)


>> t=2:3:11 (ici on précise que le pas doit être égal à 3)
>> t=2:3:13 (partir de 2, aller de 3 en 3 et s’arrêter avant 13)
>> u=1:.25:4 (le pas peut être fractionnaire)
>> y=2:-.3:-2.4 (le pas peut être négatif)

On peut l’utiliser pour construire des matrices,


>> a=[1:6;2:7;4:9;30:35]
extraire des sous-vecteurs (essayez de deviner les résultats),
>> y(2:12)
>> y(9:-2:1)
>> x=10:100;x(2),x(10)
>> x(40:5:60)
• joker
>> a(4,:) (pour voir la quatrième ligne de la matrice a)
>> a(:,2) (pour voir la deuxième colonne de la matrice a)
On peut les combiner pour considèrer des blocs dans des matrices ; par exemple

>> a(:,3:5) (affiche les colonnes 3 à 5 de la matrice a)


>> a(1:3,:) (affiche les lignes 1 à 3 de la matrice a)
>> a(1:3,3:5) (bloc des colonnes 3 à 5 et des lignes 1 à 3 de la matrice a)

• CALCUL MATRICIEL
Après avoir entré les données :
>> a=[1 2 3; 4 5 6; 7 8 10], b=[1 1 1]’
on peut essayer d’effectuer ces opérations

>> 2*a, a/4


>> a+[b,b,b]
>> a*b,b*a,b’*a (dimensions compatibles ou non ?)
>> a*a’, a’*a, b’*b, b*b’, aˆ2

mais aussi ces opérations étranges :

>> a+1, b+2


>> a.ˆ2, a.*a, b.*b (calcul coefficient par coefficient)
>> 1./a, 1./a.ˆ2

Premier exemple de boucle. Devinez la matrice t construite par les lignes :


>> for j=1:5
for i=1:10
t(i,j)=i/j
end
end
>>
Vérifiez : >> t
Exercice :
a) Réécrivez ce morceau de programme en utilisant une opération vectorielle de manière
à supprimer la boucle interne.
b) Obtenez la même matrice en utilisant uniquement des opérations vectorielles et la
multiplication matricielle.
4) Edition de commandes
On veut souvent réutiliser ou modifier des commandes déjà effectuées. Pour cela, il existe
plusieurs méthodes. Citons-en quelques-unes.
i) Touches contrôle.
Ctrl-p (‘‘previous’’)
Ctrl-n (‘‘next’’)
Ctrl-b (‘‘backward’’)
Ctrl-f (‘‘forward’’)
Pour en savoir plus : help cedit.
ii) Copier-coller
On sélectionne avec la souris et on utilise les touches Copy et Paste du clavier de
gauche. Ceci marche aussi entre des fenêtres différentes.
iii) Utilisation d’un script
Cette méthode permet de répéter un bloc de commandes en tapant une seule
commande.
Un script est un “m-file” qui contient des commandes Matlab. Ces commandes sont
exécutées en tapant le nom du fichier (sans l’extension .m).
5) Outils graphiques
Matlab n’est pas seulement une calculette puissante, mais aussi un outil graphique, voire
“multimédia”, très pratique.
On utilise plot en indiquant le vecteur contenant les abscisses et celui contenant les
ordonnées (ils sont évidemment de même longueur ; on peut utiliser la fonction length
pour connaı̂tre la longueur d’un vecteur). Si on trace le graphe d’une fonction calculable,
connaissant le vecteur des abscisses, on peut calculer le vecteur des ordonnées en utilisant
les opérations coefficient à coefficient.
Exemple :

>> x=-10:.1:10; (création du vecteur des abscisses)


>> y=x.ˆ2 ; (calcul du vecteur des ordonnées)
>> plot(x,y) (tracé, en axes automatiques)
On peut demander une autre figure :
>> figure
et tracer la “courbe réciproque”
>> plot(y,x)
On peut tracer les deux courbes dans une seule figure
>> figure; plot(x,y,y,x)
Si on ne donne qu’un seul vecteur de longueur n comme argument de plot, ce vecteur
est considéré comme étant le vecteur des ordonnées, les abscisses étant les entiers de 1 à
n.
Exercice : soit une famille de points dont on connaı̂t les abscisses, éléments du vecteur
u=linspace(-pi,pi,20) (consulter l’aide sur linspace). Calculez et stockez dans un
vecteur v les ordonnées correspondantes pour la fonction sinus. Tracez le graphique
associé. Même exercice pour la fonction x sin x.
Consultez l’aide en ligne pour plot, subplot, hold on et axis.
6) Définition de fonctions
• Une fonction dans Matlab est définie dans un “m-file”, c’est-à-dire dans un fichier dont
le nom se termine par .m. Le nom sous lequel la fonction est utilisée est défini par le
nom du fichier. Ainsi l’existence du fichier Truc.m implique l’existence de la commande
Truc dans Matlab. (Commencez vos noms de fonctions par une lettre majuscule pour
les différencier de fonctions Matlab éventuellement déjà existantes.)
• La première ligne de la fonction est essentielle : elle doit commencer par le mot
function. Ensuite, elle contient le modèle d’utilisation avec la déclaration des variables
d’entrée et de sortie. Si le premier mot n’est pas function, alors le “m-file” est
néanmoins exécutable, mais il est considéré par Matlab comme un “script”. Consultez
l’aide en ligne.
• On peut avoir plusieurs variables d’entrée et de sortie, et l’utilisation de la fonction
doit respecter le nombre de ces paramètres.
• Toutes les variables sont locales à la fonction ; la communication avec les variables de
l’espace de travail se fait uniquement par les variables d’entrée et de sortie.
• On peut mettre des commentaires dans une fonction, Matlab ignorant tout texte
précédé du symbole %.
Exemple : le fichier correspondant s’appelle Fctdistance.m
function dist=Fctdistance(a,b)
% permet de calculer la distance entre deux vecteurs a et b
d=b-a ;
dd=d*d’ ;
dist=sqrt(dd) ;
Quelle est la distance entre a=[1:3] et b=[2,1,-1] ?
Exercice : définir une fonction qui transforme une matrice en une autre matrice de la
même taille en transformant chacun des coefficients par l’application

t2 + t − 2
t −→ ·
t3 + 2t2 + t + 2

7) Quitter Matlab
Au prompt de Matlab, tapez quit. Vous pouvez alors faire un peu de ménage dans vos
fenêtres si vous le souhaitez. Déconnectez-vous. Eteignez l’écran.

Vous aimerez peut-être aussi