103
Cours Matlab Réalisé par: Dr. Essid Chaker 1

Matlabgabes mars 2014 mars 2014.pdf · 2020. 2. 24. · scalaire serait une matrice de 1 x 1. À l'exécution, ... • Simulink: C'est l'extension graphique de MATLAB permettant de

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Cours Matlab

    Réalisé par:Dr. Essid Chaker

    1

  • Ouvrages

    � Introduction à Matlab– J.-T. Lapresté (Ellipses, 1999)

    � Apprendre et maîtriser Matlab– M. Mokhtari A. Mesbah, (Springer, 1997)

    � Numerical Methods Using Matlab– G. Lindfield J. Penny (Prentice Hall, 2nd edition : 2000)– Introduction à Matlab , J.-T. Lapresté (Ellipses 1999)

    2

  • Partie 1: Introduction à MATLAB

    � MATLAB = MATrix LABoratory

    � Logiciel commercial de calcul matriciel à syntaxe simple (http://www.mathworks.com)

    � Matlab est un outil très efficace qui est largement utilisé pour lecalcul numérique et la visualisation graphique.

    � Dans Matlab, les variables et les scalaires sont manipulés commedes matrices de "n" colonnes par "m" rangées. Par exemple, unscalaire serait une matrice de 1 x 1.

    � À l'exécution, Matlab affiche plusieurs fenêtres sur l'écran. Les troistypes de fenêtres les plus importants sont:

    3

  • • Fenêtre Commande: Dans cette fenêtre, l'usager donne les instructions et MATLAB retourne les résultats.

    • Fenêtres Graphique: MATLAB trace les graphiques dans cesfenêtres.

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

    • Toolboxes: Ce sont des collections de fichiers M développés pour des domaines d'application spécifiques (Signal Processing Toolbox, System Identification Toolbox)

    • Simulink: C'est l'extension graphique de MATLAB permettant de travailler avec des diagrammes en blocs.

    4

  • Démarrage de MATLAB

    Trois étapes très simples :

    1. Ouvrir Matlab : cliquer sur l’icône (windows) ou taper la commande « matlab » (unix)

    2. Écrire un script ou une « suite complexe d’instructions » : éditeur de texte de Matlabtexte de Matlab

    3. Exécuter ce script : après le prompt « >> » dans l’espace de travail

    Pour accéder au logiciel, nous lançons "matlab.exe". Nous obtenons lafenêtre suivante :

    5

  • 6

  • � Dans l’espace de travail (Workspace ):les variables sont définies au fur et à mesure que l'on donne leurs

    noms et leurs valeurs numériques ou leurs expressionsmathématiques.

    � Les variables ainsi définies sont stockées dans l'espace de travail etpeuvent être utilisées dans les calculs subséquents.

    � Pour quitter le logiciel, on tape exit ou quit.

    7

  • Plan du cours

    1. Introduction

    2. Aspects élémentaires

    3. Vecteurs

    4. Matrices

    8

    5. Programmer en Matlab

    6. Lecture de données et graphisme

  • 2.1. Éléments de base

    �Les instructions sont séparées les unes des autres par « ; ».

    �Dans l’espace de travail, on revient à la commande précédente par la flèche du haut; on peut le faire plusieurs fois de suite.

    >> help nom_fonction : donne de l’aide sur une fonctionex >> help sin

    SIN(X) is the sinus of the elements of X

    >> help cos

    9>> whos : liste des variables ouvertes dans l’espace de travail

  • • Exemple:

    Dans la fenêtre de commande, tapez:>>a = 4*5;À cause du point-virgule à la fin de l'expression, la réponse n'a pas été

    affichée sur l'écran. Pour obtenir le résultat, utilisez:

    Fenêtre de Commande

    >>disp(a);

    Ceci affichera "20" dans la fenêtre.Pour complètement effacer le "workspace" et toutes les variables en

    mémoire, tapez dans la fenêtre de commande:

    >> clear

    10

  • Fenêtre pour figures ("Figure Window")

    � Cette fenêtre est utilisée pour afficher des graphiques en deux outrois dimensions, des images ou des "graphical user interface (GUI)".

    � Exemple:

    Créez un fichier Matlab comme décrit auparavant. Tapez:

    x=1:0.01:10;x=1:0.01:10;y=sin(x);plot(x, y);

    11

  • "Command window", où toutes les commandes sont entrées

    "Figure Windows", dans lesquelles des figures et des graphiques sont dessinés

    12

  • 2-2 Instruction de Base

    13

  • 14

  • 15

  • 16

  • . Fonctions mathématiques

    De nombreuses fonctions mathématiques existent déjà dans matlab sans que l’on ait besoin de les programmer

    ex sin, cos, tan, sinh, cosh, tanh…

    asin, acos, atan, asinh, acosh…

    exp, log, log10, sqrt…

    fix, floor, ceil, round, mod, rem, sign…

    factor, isprime…

    17

    factor, isprime…

    besselj, besselh, gamma, legendre…

    fprintf, fclose, fopen, fread…

    min, max, mean…

    >> cos(pi)

    ans = -1

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • • Une matrice est un ensemble de lignes ayant toutes le même nombre de colonnes

    - Matrice définie par énumération des éléments :

    • >> M1=[1 2 3 ; 4 5 6 ; 7 8 9] � les lignes sont séparées par des « ; »• M1 = • 1 2 3• 4 5 6• 7 8 9

    - On peut étendre aux matrices les autres manières de définir les vecteurs :

    • >> M2=[1:1:3 ; 11:1:13] � !! respecter le même nombre de colonnes par ligne !!

    24

    • >> M2=[1:1:3 ; 11:1:13] � !! respecter le même nombre de colonnes par ligne !!• M2 = • 1 2 3• 11 12 13

    - Transposition d’une matrice :

    • >> M3=M2’• M3 = • 1 11• 2 12• 3 13

  • 4.4. Caractéristiques des matrices Caractéristiques principales :

    >> size (M2)ans =

    2 3 � 2 lignes et 3 colonnes

    >> length (M2) � équivaut à max (size (M2)) : dimension maximaleans =

    3

    >> min (M2) � usage équivalent pour max (M2) et pour mean (M2)ans =

    25

    ans = 1 2 3

    >> M2 (2 , :) � toutes les colonnes de la deuxième ligneans =

    11 12 13

    >> mean (M2 (2 , :))ans =

    12

  • Matrices particulières Elles servent notamment à initialiser la dimension des matrices :

    >> M4 = ones (3)M4 =

    1 1 11 1 11 1 1

    >> M5 = zeros (3,5)M5 =

    0 0 0 0 00 0 0 0 0

    26

    0 0 0 0 00 0 0 0 0

    >> a = 2;>> b = 3;>> M6 = NaN * ones (a,b)M6 =

    NaN NaN NaNNaN NaN NaN

  • Récapitulatif des notations

    [ ] Énumération d’éléments

    : Descripteur d’éléments de vecteurs / matrices

    ( ) Ensemble d’arguments

    , Séparateur d’arguments

    ; Séparateur des lignes dans les matricesSuppression de l’affichage dans l’espace de travail du

    27

    Suppression de l’affichage dans l’espace de travail du résultat de l’évaluation d’une instruction

    ‘ Transposition d’une matrice / vecteur

    . Force l’opérateur à s’appliquer sur chaque élément d’une matrice / vecteur

    % Délimiteur de commentaires

    … Continuation de l’instruction sur la ligne suivante

  • 28

  • 29

  • 30

  • 31

  • 32

  • 33

  • 34

  • 35

  • 36

  • 37

  • 38

  • 39

  • 40

  • 41

  • 42

  • 43

  • 44

  • 45

  • 46

  • 47

  • 48

  • 49

  • 50

  • 51

  • 52

  • 53

  • 54

  • 55

  • 56

  • 57

  • 58

  • 59

  • 60

  • 61

  • 62

  • 63

  • 64

  • 65

  • 66

  • 67

  • 68

  • 69

  • 70

  • 71

  • 72

  • 73

  • 74

  • 75

  • 76

  • 77

  • 78

  • 79

  • 80

  • 81

  • 82

  • 83

  • 84

  • 85

  • 86

  • 87

  • 88

  • SIMULINKSIMULINK

    • SIMULINK est une plateforme de modélisation etde simulation de systèmes dynamiques. Il offre unenvironnement de développement graphique etune bibliothèque de blocs qui permettent desimuler divers systèmes de contrôle,simuler divers systèmes de contrôle,communication, traitement de signaux.

    • SIMULINK est entièrement intégré à MATLAB, cequi procure une grande souplesse d’utilisation.

    • Il permet de créer des modèles de « haut niveau »avec une décomposition hiérarchique en blocs.

    89

  • SIMULINK

    90

  • 91

  • 92

  • 93

  • 94

  • 95

  • 96

  • 97

  • 98

  • 99

  • 100

  • 101

  • 102

  • 103