Matlab PIC
Matlab PIC
Matlab PIC
Réalisé par :
page 1
TABLE DES MATIÈRES
1 Introduction générale 4
2 Généralités et prise en main 5
2.1 Démarrer et quitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 "Hello world" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Outils de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Types de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 Arithmétique et opérations sur les scalaires . . . . . . . . . . . . . . . 8
2.3.3 Commades MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Vecteurs et Matrices 11
3.1 Dénition d'un vecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Quelques fonctions utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Dénition d'une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Matrices particulières . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.2 Extraction de sous-tableaux . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.3 Construction de matrice par blocs . . . . . . . . . . . . . . . . . . . . 15
3.3.4 Quelques fonctions utiles . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Opérations sur les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 Repésentations graphiques 18
4.1 Graphiques 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Graphiques 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.1 Tracé de courbes dans l'espace . . . . . . . . . . . . . . . . . . . . . . 22
4.2.2 Représentation par maillage dans le plan (x,y) . . . . . . . . . . . . . 23
4.2.3 Tracé des courbes de contour . . . . . . . . . . . . . . . . . . . . . . 24
2
TABLE DES MATIÈRES Initiation à MATLAB
Motivation
Partout dans le monde, des millions d'ingénieurs et de scientiques utilisent MAT-
LAB pour analyser et concevoir les systèmes et produits de demain. MATLAB est présent
dans des systèmes automobiles de sécurité active, des véhicules spatiaux, des appareils de
surveillance médicale, des réseaux électriques intelligents et des réseaux mobiles LTE. Il est
La plate-forme MATLAB est optimisée pour résoudre les problèmes scientiques et tech-
niques. Le langage MATLAB, basé sur les matrices, est le moyen le plus naturel au monde
visualiser facilement les données an d'en dégager des informations. Grâce à la vaste biblio-
thèque de boîtes à outils prédénies, vous pouvez commencer directement par les algorithmes
et la découverte. Les outils et les fonctionnalités MATLAB sont tous testés rigoureusement.
page 3
CHAPITRE 1
INTRODUCTION GÉNÉRALE
4
CHAPITRE 2
5
2.2. "HELLO WORLD" Initiation à MATLAB
Avant de commencer le cours proprement dit, nous allons nous familiariser avec l'interface
de Matlab. Selon la version utilisée, l'interface peut changer légèrement mais les points
centraux resteront identiques.
▶ Command window : dans cette fenêtre, l'utilisateur donne les instructions et MATLAB
retourne les résultas.
▶Workspace : Les variables dans la fenêtre de commande sont répertoriés dans la fenêtre
de l'espace de travail.
▶ Current directory : Le répertoire courant est une liste de ses chiers.
Le symbole >> situé à gauche indique que l'interpréteur est prêt à recevoir une commande.
Pour mettre n à la session de travail et quitter l'environnement MATLAB, il sut de taper
la commande :
>> quit
2.2.1 Script
Le script est le chier m le plus simple. Il s'agit simplement d'une liste de commandes
mises bout à bout et sauvegardée dans un chier. Pour commencer on xe le USERPATH.
On crée ensuite un chier .m dans ce dossier et on nomme ce chier hello.m. On édite ensuite
le chier .m de la façon suivante :
page 6
2.3. OUTILS DE BASE Initiation à MATLAB
Sauvegarder ensuite ce script. Puis dans la fenêtre Command Window, on tape la com-
mande : hello. Voila nous avons fait le programme le plus simple possible de Matlab, voyons
comment nous pouvons l'améliorer.
2.2.2 Fonction
Une fonction va permettre de rentrer des arguments en entrée et d'obtenir diérentes
variables en sortie. On va essayer ici de modier le script hello.m pour en faire une fonction
qui prend votre prénom en entrée et retourne Hello Votreprénom en sortie. On commence
de façon similaire à pour un script : on crée un chier .m que l'on nomme hello2.m.
On sauvegarde le chier .m puis on l'appelle depuis la fenêtre Command Window. Cette fois
la fonction a besoin d'un paramètre en entrée, on tape donc : hello2 ('MOHAMED').
On obtient l'achage voulu. La syntaxe d'une fonction est relativement simple et doit être
connue. On dénit ce que va retourner la fonction : function [output1, output2 ... out-
putN]. Puis on nomme la fonction, ici : = hello2(). On dénit alors les paramètres d'entrée
hello2(input1, imput2, ... inputM). On peut passer alors au corps même de la fonction,
qui doit contenir une dénition de toutes les variables de sortie output1, output2 ... out-
putN. Finalement, une fonction se conclut toujours par end.
page 7
2.3. OUTILS DE BASE Initiation à MATLAB
Il n'est donc pas nécessaire (impossible en fait) de déclarer le type de variable lorsque l'on
crée une variable dans Matlab. Il peut alors s'avérer utile de vérier quel est le type d'une
variable. On utilise les fonctions ischar, islogical, isreal.
page 8
2.3. OUTILS DE BASE Initiation à MATLAB
page 9
2.3. OUTILS DE BASE Initiation à MATLAB
La commande help permet d'accéder à l'aide en ligne de MATLAB.Elle donne les dif-
férents thèmes abordés dans la documentation. Examinez la liste des thèmes proposés dans
l'aide. Pour obtenir de l'aide sur un thème spécique, par exemple, sur les opérateurs :
La commande disp (pour display, i.e. acher, help disp) permet d'acher du texte ou une
valeur numérique (scalaire, vecteur ou matrice). Le texte à acher doit être placé entre
apostrophes '. Par exemple :
Une valeur numérique à acher n'est pas encadrée par des apostrophes :
La commande input (help input) permet une saisie clavier avec aectation de la saisie
à une variable de type numérique ou de type caractère. Pour saisir une valeur numérique :
MATLAB attend une saisie de clavier validée par un appui sur la touche Entrer.
page 10
CHAPITRE 3
VECTEURS ET MATRICES
Avec Matlab, on travaille essentiellement avec un type d'objet : les matrices. Une variable
scalaire est une matrice de dimension 1 × 1 et un vecteur est une matrice de dimension 1 × n
ou n × 1. II est capital d'être à l'aise avec ces notions pour comprendre au mieux la philo-
sophie de Matlab et l'exploiter ecacement.
L'ensemble des composantes est donné entre crochets et les valeurs sont séparées par un
espace (ou une virgule ","). Nous avons ici déni un vecteur ligne. Un vecteur colonne est
créé en utilisant un point-virgule ; comme délimiteur.
Bien que simple, cette méthode n'est pas pratique pour dénir des vecteurs de taille im-
portante. Une seconde méthode utilise l'opérateur deux-points :. II permet de discrétiser
un intervalle avec un pas constant.
11
3.2. QUELQUES FONCTIONS UTILES Initiation à MATLAB
Cette instruction crée un vecteur contenant des valeurs allant de 0 à 1 avec un pas de 0.2.
La syntaxe est la suivante : vecteur=valeurinitial : increment : valeurf inale. Par défaut,
le pas est égal à 1.
La première fonction crée un vecteur de 1000 points avec des valeurs allant de 0 à 10 éga-
lement espacées. La seconde crée un vecteur de 1000 points sur un intervalle de 10−1 à 102
avec un espacement logarithmique.
On peut accéder aux diérents éléments d'un tableau en spéciant un (ou des) indice(s)
entre parenthèses.
page 12
3.3. DÉFINITION D'UNE MATRICE Initiation à MATLAB
On écrira
ou
L'accès à un élément d'une matrice s'opère en spéciant des indices entre parenthèses à la
suite de son nom. L'élément situé la iieṁm ligne et la j ii me colonne est obtenu par la com-
mande M (i, j). Par exemple, la valeur M23 est récupérée en tapant
On peut également modier directement un des éléments en lui aectant une nouvelle valeur.
page 13
3.3. DÉFINITION D'UNE MATRICE Initiation à MATLAB
La matrice identité :
page 14
3.3. DÉFINITION D'UNE MATRICE Initiation à MATLAB
Le caractère : seul, signie toute la longueur est extraite. De cette façon, on peut
isoler une ligne, ou une colonne, complète. Exemples :
Cette opération est réalisée très simplement par la même syntaxe que pour les nombres.
II est impératif que les matrices M, V, U et O aient été dénies auparavant. De plus, les blocs
composant une matrice doivent évidement être de dimension compatible. Si ces conditions
ne sont pas respectées, la commande ne pourra s'exécuter et l'interface achera une erreur.
Nous pouvons mentionner la fonction blkdiag() qui permet de créer une matrice diagonale à
partir des éléments donnés en argument.
page 15
3.4. OPÉRATIONS SUR LES MATRICES Initiation à MATLAB
page 16
3.4. OPÉRATIONS SUR LES MATRICES Initiation à MATLAB
Si l'on souhaite eectuer une opération, non pas matricielle, mais éléments par éléments,
l'opérateur doit être précédé d'un point . : . ∗ ./.. Appliquons ces opérateurs aux ma-
trices de l'exemple précédent.
page 17
CHAPITRE 4
REPÉSENTATIONS GRAPHIQUES
Les bibliothèques de Matlab proposent un très grand nombre de fonctions pour la ma-
nipulation d'objets graphiques. Nous ne présentons ici que quelques principes de base,
utiles pour la visualisation de courbes. Si nous nous concentrons particulièrement sur la
représentation graphique à 2 dimensions, il est possible d'aller bien plus loin : graphismes
3D (courbes, maillages, surfaces. . .), édition d'IHM (graphical user interface, GUI), anima-
tions. . . Quelques exemples de représentations 3D sont brièvement présentés.
4.1 Graphiques 2D
Le tracé d'une courbe s'eectue à partir de la commande plot(). Celle-ci prend en para-
mètres deux vecteurs et ache sur un graphique à deux axes chaque couple de points (de
même indice). Par exemple, plot (x, y) marquera un point pour chaque couple [x(i), y(i)]
avec i allant de 0 à length(x). On représente ainsi les valeurs de y en fonction des valeurs
de x. La fonction renvoie une erreur si x et y ne sont pas de même longueur. Si le premier
vecteur x est omis, y est tracé en fonction de son indice i. Par défaut, chaque point tracé est
relié par une droite.
Traçons la fonction sinus dans l'intervalle [−π, π] avec un pas de 0.01.
18
4.1. GRAPHIQUES 2D Initiation à MATLAB
Le pas étant faible, la courbe semble parfaitement tracée. Bien évidemment, si l'on diminue
le nombre de points (le pas est augmenté), la courbe apparaitra plus saccadée.
page 19
4.1. GRAPHIQUES 2D Initiation à MATLAB
page 20
4.1. GRAPHIQUES 2D Initiation à MATLAB
A chaque nouvelle commande plot, la gure est remplacée. Pour garder plusieurs courbes,
il faut autoriser la superposition de graphique à l'aide de la commande hold on. Les plot
suivants se superposeront jusqu'à la désactivation hold of f ou la fermeture de la fenêtre.
II est également possible de tracer plusieurs courbes sur plusieurs fenêtres. Pour cela, une
nouvelle fenêtre (objet graphique f igure) doit invoquée avant l'appel à la fonction plot cor-
respondante.
page 21
4.2. GRAPHIQUES 3D Initiation à MATLAB
D'autres fonctions permettent une représentation diérente des données, par exemples
sous forme discrète (stem), d'histogramme (bar), de camembert (pie), d'escalier (stairs),
avec échelle logarithmique ( semilogx, semilogy ) . . .
La mise en forme d'une représentation graphique, c'est-à-dire l'insertion de labels, lé-
gende, le dimensionnement des axes, peut être éditée de deux manières. La méthode la plus
simple utilise directement les menus de l'interface de la gure (Edit et Insert). Toutes ces
manipulations sont également réalisables à partir de la command W indow en ligne de
commande. Cette seconde méthode est généralement utilisée lors du développement de pro-
grammes. Voici quelques exemples parmi les manipulations les plus simples :
4.2 Graphiques 3D
Nous montrons ici les possibilités de Matlab en graphisme 3D sur quelques exemples.
page 22
4.2. GRAPHIQUES 3D Initiation à MATLAB
page 23
4.2. GRAPHIQUES 3D Initiation à MATLAB
La fonction contour trace dans le plan (x, y) les courbes z = cst d'une surface. Elle s'utilise
comme les deux fonctions précédentes mais représente les courbes sur un graphique 2D avec
un dégradé de couleurs associé aux valeurs de z correspondantes. Le quatrième paramètre
représente le nombre de lignes de niveau à tracer. On peut également spécier quelles lignes
de niveauacher. Par exemple, pour dessiner les courbes z = −0.1, 0, 0.3, on écrira contour
X, Y, Z, −0.1 0 0.3 ..
page 24
4.2. GRAPHIQUES 3D Initiation à MATLAB
page 25
CHAPITRE 5
26
Initiation à MATLAB
page 27
Initiation à MATLAB
page 28
Initiation à MATLAB
page 29
Initiation à MATLAB
page 30
CHAPITRE 6
SÉRIE D'APPLICATIONS
(a) Entrer ces données sous Matlab et déterminer les dimensions des vecteurs ⃗u1 , ⃗u2 et la
matrice A.
(b) Calculer ⃗u1 + 3⃗u2 , A⃗u1 .
(c) Dénir le vecteur ⃗u3 contenant le premier colonne de la matrice de A, et le vecteur ⃗u4
contenant les éléments de ⃗u1 et ⃗u2 .
2 3
2 3 4
(d) Extraire de la matrice A les matrices P = , H = 7 6 .
7 6 5
2 8
(e) Utiliser des commandes Matlab pour calculer ∥⃗u1 ∥1 , ∥⃗u1 ∥2 , ∥⃗u1 ∥∞ .
(f) Utiliser des commandes Matlab pour calculer le determinant et l'inverse de A.
2. Créez un script Fichier.m. Écrivez sur le script Fichier un programme qui demande deux
valeurs a et b à l'utilisateur et qui les ache, qui intervertit leurs contenus et qui les ache
à nouveau.
3. Écrire une fonction y = Sommation(a, b) qui reçoitP en entrée deux entiers a et b et renvoi
en sortie y le résultat de la somme suivante : y = nk=1 K a .
4. Utiliser la fonction solve de Matlab pour résoudre le système d'équations suivant
6x + y − 5z = 10
2x + 2y + 3z = 11
4x − 9y + 7z = 12
5. Tracer les graphes des fonctions suivantes sur deux gures diérentes et sur une même
gure.
x → cos(x), x ∈ [0, 2π], x → sin(x), x ∈ [0, 2π].
6. Tracer la surface donnée par l'équation
31