tp : informatique 2 (programmation) n01 matlab 2éme...objectifs dans le présent cours, intitulé...

50
الجمهورية الجزائرية الديمقراطية الشعبية وزارةتعليم اللعالي ا والبحثعلمي الREPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université des Frères Mentouri Constantine 1 1 جامعـــــــــةخــــــــوة ا منتــــــــوري قسنطينةINSTITUT DES SCIENCES ET DES TECHNIQUES APPLIQUEES مـعــهــدعلـوم ال و التقني ات التطبيقيةTP : Informatique 2 (programmation) Dr. Fateh MAKHLOUFI Institut des Sciences et des Techniques Appliquées Université des Frères Mentouri Constantine 1 [email protected]

Upload: others

Post on 05-Jul-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

الشعبية الديمقراطية الجزائرية الجمهورية

العلمي والبحث العالي التعليم وزارة

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université des Frères Mentouri Constantine 1 1 قسنطينة منتــــــــوري الاخــــــــوة جامعـــــــــة

INSTITUT DES SCIENCES ET DES TECHNIQUES APPLIQUEES التطبيقية اتالتقني و العلـوم مـعــهــد

TP : Informatique 2 (programmation)

Dr. Fateh MAKHLOUFI

Institut des Sciences et des Techniques Appliquées

Université des Frères Mentouri Constantine 1

[email protected]

Page 2: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Contenu

Faciliter la prise en main du logiciel MATLAB.

Présenter les fonctionnalités utiles au travail scientifique.

Manipulation des matrices, vecteurs et des fonctions.

Présenter les fonctions graphiques en 2D et 3D.

Utilisation des scripts.

SIMULINK

Page 3: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Objectifs

Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de

2ème année licence professionnelle spécialité : Génie Industriel et Maintenance (GIM). Ce

module traite les notions de base du langage de programmation et de calcul scientifique

MATLA et SIMULINK qui sont des logiciels interactifs de très hautes performances,

extrêmement utiles pour les applications scientifiques et celles de l'ingénieur. Ils fournissent

dans un environnement convivial des outils d'analyse numérique, de calcul matriciel, de

traitement du signal, de visualisation de données ainsi que d'analyse et de synthèse des

systèmes de commande.

Page 4: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Environnement MATLAB

MATLAB est l'abréviation de MATrix LABoratory : laboratoire pour manipuler des matrices.

MATLAB est un langage de calcul scientifique basé sur le type de variable matricielle (c.-à-d. le type de

donnée basic au niveau de MATLAB c’est la matrice), pour le calcul numérique et la visualisation graphique

en 2D ou 3D. Il dispose d'une syntaxe spécifique avec ses fonctions spécialisées. Il contient des bibliothèques

spécialisées (toolbox) qui répondent à des besoins spécifiques : analyse numérique, traitement du signal,

traitement de l’image, automatise, etc…

La structure de logiciel MATLAB

Page 5: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Mode de fonctionnement

Il existe deux modes de fonctionnement :

1. mode interactif : MATLAB exécute les instructions au fur et à mesure qu'elles sont données par

l'utilisateur. C.-à-d. directement au clavier depuis la fenêtre de commande.

2. mode exécutif : MATLAB exécute ligne par ligne un "fichier M" (programme en langage MATLAB). C.-

à-d. sous forme de séquences d’expressions ou scripts enregistrées dans des fichiers-texte appelés m-files et

exécutées depuis la fenêtre de commande.

L’interface

L’interface-utilisateur de MATLAB varie légèrement en fonction de la version de MATLAB et du type de

machine utilisée. Elle est constitué de :

Fenêtre de commandes (Command Window)

Espace de travail (Workspace)

Historique des commandes (Command History)

Répertoire de travail (Current Folder)

Contenu du répertoire de travail

Zone de saisie des commandes Espace de travail

Historique des commandes

Page 6: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Fenêtre de commandes : la fenêtre principale exécute les commandes MATLAB. L'espace de travail de

MATLAB se présente alors sous la forme d'une fenêtre affichant un prompt ">>" à la suite duquel vous

pouvez taper une commande qui sera exécutée après avoir tapée sur la touche « Enter ».

Il faut utiliser la fenêtre de commande pour entre des variables ou lancer des fonctions ou des M-fichiers.

Historique de commandes : Les lignes tapées dans la fenêtre de commande sont automatiquement

sauvegardées dans la fenêtre ”Command History”. Les lignes précédemment tapées il est possible de les copier

ou d’en sélectionner un groupe afin de l’exécuter.

Le bouton Start : Le bouton Start fournit un accès simplifié aux outils, démonstration et à la documentation.

Il suffit juste de cliquer dessus pour voir les options.

Page 7: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Le navigateur d’aide : On utilise le navigateur d’aide pour chercher et voir la documentation et les

démonstrations pour tous les produits MATLAB. Le navigateur d’aide est un navigateur internet intègre au

bureau MATLAB qui affiche des documents HTML.

Pour ouvrir le navigateur d’aide, il suffit de cliquer sur le bouton d’aide dans la barre d’outils, ou de taper

helpbrowser ou encore helpdesk dans la fenêtre de commande.

Pour plus d’aide : Il est possible d’obtenir directement de l’aide sur les fonctions en utilisant la commande

doc. Par exemple, la commande doc format va afficher la documentation pour la fonction format dans le

Page 8: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

navigateur d’aide. Si l’on désire une information réduite, on peut utiliser la fonction help. Dans ce cas, l’aide

apparaît dans la fenêtre de commande.

Il existe aussi la commande lookfor nom : recherche l’aide pour le mot-clé nom.

Le répertoire courant : Les opérations sur les fichiers utilisent le répertoire courant et les chemins d’accès

(”search path”) comme points de références. Tout fichier que l’on veut exécuter doit impérativement se trouver

dans le répertoire courant ou bien dans le ”search path”. Une manière rapide de voir ou de changer le répertoire

courant est d’utiliser le champ ”Current Directory” dans la barre d’outils du bureau comme ci-dessous.

Pour voir, ouvrir et faire des changements dans les répertoires ou sur des fichiers, utiliser le navigateur

”Current Directory”. On peut autrement utiliser les fonctions pwd, dir et cd.

Le navigateur Workspace : Ce navigateur consiste l’ensemble des variables (nommés arrays) utilisées durant une

session MATLAB et stockées dans la mémoire. On ajoute des variables dans le workspace (espace de travail) en utilisant

des fonctions, en exécutant des M-fichiers, et en chargeant des workspaces préalablement sauvés.

Page 9: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Information sur l’espace de travail :

Pour voir le workspace et des informations sur chaque variable, utiliser le navigateur workspace, ou utiliser

les instructions suivantes :

who: Affichage des variables dans l'espace de travail.

whos: Affichage détaillé des variables dans l'espace de travail.

Quelques commandes sur l’espace de travail :

Pour effacer des variables de l’espace de travail, sélectionner la variable et choisir Delete dans le menu

d’édition. On peut aussi utiliser la commande clear.

Le workspace est efface à la fin d’une session Matlab. Pour sauver son état courant et ainsi pouvoir repartir

directement en l’état après un redémarrage de Matlab, il faut utiliser soit ”Save Workspace” du menu ”File”,

soit la commande save. Ceci sauve toutes les variables dans un fichier binaire appelé un fichier MAT, qui a

une extension .mat. Pour relire ce type de fichier, utiliser soit ”Import Data” du menu ”File”, soit la fonction

load.

Exemple :

S1 = sin(pi/4);

C1 = cos(pi/4);

C2 = cos(pi/2);

Str = ’Bonjours ISTA’;

save % sauve toutes les variables dans un fichier binaire nommé matlab.mat

save data % sauve toutes les variables dans un fichier binaire nommé data.mat

Page 10: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

save nomdata S1 C1 % sauve les variables S1 et C1 dans nomdata.mat

save Strdata Str % sauve la variable Str dans strdata.mat

load % charge toutes les variables du fichier matlab.mat

load data S1 C1 % charge seulement les variables S1 et C1 de data.mat

load nomdata % charge toutes les données de nomdata.mat

Array Editor : Double-cliquer une variable dans le navigateur workspace pour la voir dans l’éditeur de

variables ”Array Editor”. Il est alors possible de l’éditer sous une représentation visuelle d’un tableau uni ou

bidimensionnel, d’une chaîne ou d’un tableau de cellules de chaîne.

Types de formats connus par MATLAB :

Format réel :

Format complexe :

Page 11: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Format code ASCII ou chaîne de caractères :

Format logique :

Contrôles de l’affichage

La fonction format :

La fonction format contrôle le format numérique des valeurs affichées. Cette fonction modifie seulement la

manière dont ces valeurs sont affichées, mais pas leur valeur intrinsèque.

Matlab dispose de plusieurs formats d’affichage des réels. Par défaut le format est le format court à 5

chiffres.

Exemple :

format short 0.1234

format long 0.12345678901234

format short e 1.2341E+002

format long e 0.123456789012345E+002

format hex ABCDEF0123456789

Remarque : Pour voir le format actuelle on a la commande : get(0,'format')

Page 12: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Opérateurs arithmétiques et logiques

Quelques commandes et constantes souvent utilisées

% : une ligne de commentaires commence avec le symbole %

Ans : variable temporaire contenant la réponse la plus récente

NaN : indique un résultat numérique non défini.

Inf : l’infini.

Pi : le nombre π.

Quit ou exit : arrête Matlab.

clc : pour effacer la page du prompt.

Manipulations des Matrices

Saisie de matrices

La meilleure manière de débuter avec Matlab est d’apprendre comment manipuler les matrices. Il est

possible de saisir des matrices de différentes manières.

Entrer une liste explicite d’arguments.

Charger une matrice depuis un fichier externe.

Générer des matrices avec des fonctions Matlab.

Créer une matrice avec des M-fichiers.

Nous commençons par saisir la matrice comme une liste de ses éléments. Il faut suivre les règles suivantes :

– Encadrer toute la liste des éléments par des crochets [ ].

– Utiliser le point-virgule pour indiquer la fin d’une ligne (ou click Entré)

– Séparer les éléments d’une même ligne par des espaces ou des virgules.

En suivant les principes précédents, la saisie de la matrice se fait par :

A = [16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1]

Page 13: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Matlab affiche alors la matrice :

Autre manière :

On à la matrice m défini comme suite :

M = [5, 2, 8, 1 ; 10, 20, 30, 40 ; 22, 24, 26, 28]

Ce qui nous donne dans l’environnement MATLAB :

Ou encore, ayant défini préalablement les vecteurs-lignes v1, v2, v3 :

Une autre possibilité d’écriture. Par exemple on a la matrice A donnée par :

A = [1 2 3 ; 4 5 6]

Il est possible de déclarer une matrice élément par élément :

A(1,1)=1 ;

A(1,2)=2 ;

A(1,3)=3 ;

A(2,1)=4 ;

A(2,2)=5 ;

A(2,3)=6 ;

L’accès à un élément de la matrice s’effectue par : m(2,4) ; et l’on obtient : 40.

Le remplacement de 2 par : (deux points) permet d’obtenir toute la colonne 4 : Le m (:,4)

Et l’on obtient le vecteur-colonne :

Page 14: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

De même, l’affichage d’une sous-matrice s’obtient par : m (2:3,2:4), et l’on obtient :

L’accès aux colonnes 2 et 4 de la matrice m se réalise comme suit : m (: , [2,4]) ; ce qui produit :

Caractéristiques des matrices :

size(m) % dimensions

length(m) % équivalent à max (size (m3)) : dimension maximum

Matrices particulières

Matrice nulle : est une matrice de (n) lignes et de (m) colonnes contient des zéros.

nulle = zeros(4,5)

Matrice unité : est une matrice de (n) lignes et de (m) colonnes contient des uns.

un = ones(3,2)

Page 15: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Matrice identité : est une matrice carrée de diagonal = 1.

identité = eye(2)

Matrice aléatoire :

rand(4,5)

randn(4,5)

Le carré magique :

magic(4)

L’inverse, transposée et le déterminent

Parmi les opérations matricielles qui ont une certaine importance pratique, signalons l’opérateur d’inversion

(inv), déterminant (det) et le transposition (‘) :

Exemple :

Soit la matrice A= [1 2 5 ; 4 7 8 ; 5 2 8]

Calculer l’inverse, transposée et le déterminent de la matrice A

Page 16: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Les fonctions « sum », « prod » et « mean »

Les fonctions « sum », « prod » et « mean » sont appliqués sur les colonnes de la matrice.

sum : Somme des éléments.

prod : Produit des éléments.

mean : Valeur moyenne.

Exemple :

Page 17: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Rotation des matrices

Retournement du gauche vers la droite : fliplr

Retournement du haut vers le bas : flipud

Rotation à 90° : rot90

Consultation, modification et suppression de quelques éléments d’une matrice

Consultation :

Page 18: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Modification :

Suppression :

Dimensions et diagonale d’une matrice

Dimensions :

Diagonale :

Page 19: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Opérations élémentaires :

La multiplication, divisions, addition et soustraction

Soit les matrices A et B

Multiplications et multiplication élément par élément

Multiplications :

Multiplication élément par élément :

Divisions et divisions élément par élément :

Divisions :

Page 20: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Divisions élément par élément :

Addition et soustraction :

Addition :

Soustraction :

Manipulation des vecteurs :

Le vecteur est une matrice de dimension nxm. Il pourrai être un vecteur ligne de dimension 1xm ou bien un

vecteur colonne de dimension nx1.

Par défaut, le vecteur est une ligne à plusieurs colonnes.

Page 21: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Création de vecteurs :

La méthode la plus simples pour définir un vecteur est de donner sa description explicite à l’aide de la

commande [ ] par exemple :

On peut également définir un vecteur colonne en utilisant le :

Autre façon :

On peut chaîner deux vecteurs :

Génération des vecteurs :

Génération uniforme :

Syntaxe :

V = valeur_de_départ : le pas : valeur_final

Page 22: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Génération aléatoire :

Syntaxe :

Rand (nombre des lignes, nombre des colonnes).

Consultation, modification et suppression de quelques éléments d’un vecteur :

Consultation :

Page 23: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Modification :

Suppression :

Les opérations classiques sur les vecteurs :

L’addition :

La soustraction :

Longueur d’un vecteur :

Page 24: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

La multiplication et la division élément par élément :

La multiplication :

La division :

Entai division :

Opération avec un scalaire :

Puissance N d’un vecteur :

Opération avec un scalaire :

Racine carrée d’un vecteur par la commande « sqrt »

Page 25: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

La comparaison entre les vecteurs :

La supériorité :

L’infériorité :

L’égalité :

L’inégalité :

Opérations usuelles sur les vecteurs :

La somme des éléments d’un vecteur :

Page 26: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

La somme cumulée des éléments d’un vecteur :

Opérations usuelles sur les vecteurs :

Produit des éléments d’un vecteur :

Produit cumulé des éléments d’un vecteur :

La valeur moyenne d’un vecteur :

Approximation de la dérivée : diff

Algorithme :

Soit « x » est un vecteur de N éléments, sa différence élémentaire est la suivante :

y(n) = x(n+1) – x(n) avec n=1..N-1.

Page 27: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Les chaînes de caractères :

Les chaînes de caractères sont définies entre des 'quotes' simples : c = 'Ceci est un texte' définira la variable c

comme une chaîne de caractères qui pourra être utilisée pour afficher le message entre les quotes. disp(c)

affichera la chaîne c à l'écran.

La saisie d’une chaîne :

La longueur d’une chaîne :

Les démentions d’une chaîne :

La comparaison entre 2 chaînes :

Page 28: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

La comparaison entre 2 chaînes sur un nombre de caractères défini :

La majuscule d’une chaîne

La minuscule d’une chaîne

Le code ASCII d’une chaîne

Conversion d’un code ASCII en caractères

Page 29: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

La concaténation des chaînes

La concaténation horizontale

La concaténation verticale

La recherche d’une sous chaîne dans autre chaîne

Page 30: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

La vérification de type d’une variable

Les fonctions de conversions

Chaîne vers un nombre :

Numéro vers une chaîne :

Page 31: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Matrice vers une chaîne :

Décimal vers hexadécimal

Hexadécimal vers le décimal

Décimal vers binaire

Page 32: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Binaire vers le décimal

Instructions de contrôles

Comme tous les langages de programmation classiques, MATLAB dispose des commandes du type FOR,

WHILE, IF …

Quelques commandes

input : affichera le texte et attendra qu’une valeur entrée au clavier.

sign: affichera le signe d’une valeur.

y = sign(x)

0 : si l'élément correspondant est égal à zéro.

1 : si l'élément correspondant est supérieur à zéro.

-1 : si l'élément correspondant est inférieur à zéro.

Page 33: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

disp : Afficher un texte à l'écran.

sprintf : Ecriture d’une donnée en format string.

rem : le reste de la division.

floor : C’est la valeur exacte de la division

N = floor(15/3)

N = 5

mod : C’est le reste de la division

D = mod(16,3)

D = 1

Des instructions pour l’affichage :

Exemple :

A = 23;

disp ('la valeur de A est : ');

disp(A)

Ou bien : disp (['la valeur de A est : ' num2str(A)]) ;

sprintf (‘La valeur de A est : %d’ ,A)

Page 34: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Instructions de contrôles

IF . . . ELSE . . . END

SWITCH . . . CASE . . . END.

La structure SWITCH doit permettre le choix des actions à effectuer selon la valeur d’une expression

donnée.

Syntaxe:

switch (expression)

case exp1

Bloc 1

case exp2

Bloc 2

case {exp3, exp4, exp5}

Bloc 3

otherwise

Bloc 4

end

Page 35: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple :

La boucle FOR . . . END.

Elle répète l’exécution d’un bloc d’instructions tant que l’indice de la boucle n’arrive pas à la valeur finale.

Syntaxe :

Exemple :

La boucle WHILE . . . END

Elle répète un bloc tant que la condition d’arrêt n’est pas vérifiée.

Syntaxe :

Page 36: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple :

Calcul de produit de N premier élément de l’ensemble naturel

La commande BREAK

Cette commande termine d’exécution des boucles FOR et WHILE.

Exemple :

La recherche de premier élément qui accepte la division par 9 dans l’ensemble [2, 6] :

Le graphisme

Dans cette partie, on va étudie les deux fonctions principales de traçage sous MATLAB.

La fonction ou la commande « PLOT » :

Syntaxe :

plot (x, y) % tracé « y » en fonction de « x ».

plot (x, y, s) % tracé « y » en fonction de « x » par la couleur et le marker « s ».

plot(x, y, s, ‘propriétés’, ‘valeurs’).

Page 37: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple :

Pour ajouter un quadrillage on utilise la commande « grid on »

Pour désactivé l’option de quadrillage on utilise la commande « grid off »

Table des couleurs usuelles :

Exemple :

Table des markers :

Exemple :

Page 38: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple :

Liste des propriétés :

LineWidth: spécifie la largeur (aux points) de la ligne.

MarkerEdgeColor: spécifie la couleur du repère ou la couleur d'arête pour les repères remplis (cercle,

carré, triangles …).

MarkerFaceColor: spécifie la couleur de la face des repères remplis.

MarkerSize: spécifie la taille du repère dans les unités des points.

Exemple :

La fonction ou la commande « HOLD »

On peut tracer plusieurs courbes dans le même axe par les deux Méthodes suivantes :

Page 39: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Méthode 1 :

Méthode 2 :

La gestion des axes :

Légende :

Exemple :

La fonction ou la commande « STEM » et «BAR» :

STEM :

On utilise cette fonction pour tracer les courbes échantillonnées :

Syntaxe:

stem (x, y)

stem (x, y, ‘fill’)

stem (x, y, ‘fill’, s)

Page 40: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple :

BAR :

On utilise « bar » et « barh » pour tracer les histogrammes d’un tableau ou une matrice verticalement ou

horizontalement.

Syntax:

Bar(x)

Bar(x, y)

Bar(y, style) % style = ‘group’ ou ‘stack’

Exemple :

La commande « subplot »

Exemple :

Page 41: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple 1 :

x = linspace(0,10) ;

y1 = sin(x) ;

y2 = sin(5*x) ;

subplot(2,1,1) ;

plot(x,y1)

subplot(2,1,2);

plot(x,y2)

Exemple 2 :

x = linspace(0,10) ;

y1 = sin(x) ;

y2 = sin(2*x) ;

y3 = sin(4*x) ;

y4 = sin(8*x) ;

subplot(2,2,1) ;

plot(x,y1) ;

title('Subplot 1: sin(x)')

subplot(2,2,2) ;

plot(x,y2) ;

title('Subplot 2: sin(2x)')

subplot(2,2,3)

plot(x,y3) ;

title('Subplot 3: sin(4x)')

subplot(2,2,4)

plot(x,y4) ;

title('Subplot 4: sin(8x)')

Page 42: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Les fonctions

Il existe de nombreuses fonctions prédéfinies en Matlab, mais il arrivera forcément un moment où vous

voudrez utiliser une fonction qui n’est pas définie. Heureusement, il est possible de définir ses propres

fonctions et de s’en servir exactement comme les fonctions préexistantes.

function [paramètres de sorties] = nom_ fonction (paramètres d’entrées)

Page 43: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple 3 :

La fonction qui calcule la moyenne des trois éléments :

function [ m ] = moy( a, b, c )

m = (a+b+c)/3 ;

end

Dans la fenêtre de command vous tapez : m = moy( 12,15,14 )

Exemple 01 :

Fonction qui calcul la surface d’un rectangle.

function [ S ] = ssurface( L,B )

S = L*B;

End

Dans la fenêtre de command vous tapez : S = ssurface(4,5) ou m = ssurface(8,2)

Page 44: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Exemple 02 :

Fonction qui calcul le minimum et la maximum d’un vecteur.

function [ Mx,Mn ] = maxmin( v )

Mx=max(v);

Mn=min(v);

End

Dans la fenêtre de command vous tapez : [ Mx,Mn ] = maxmin( v )

Exemple 03 :

Fonction qui trouver la surface et la circonférence du cercle.

function [s,c] = surf_cir (r)

s = pi*r^2;

c=2*pi*r;

end

Dans la fenêtre de command vous tapez : [ s,c ] = surf_cir (6 )

Simulink

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

SIMULINK est un outil pour la modélisation, l'analyse et la simulation d’une large variété de systèmes

physiques et mathématiques, y compris ceux avec des éléments non-linéaires et ceux qui se servent du temps

continu et discret.

Comme une extension de MATLAB, SIMULINK ajoute beaucoup de fonctions spécifiques aux systèmes

dynamiques en conservant les fonctionnalités de Matlab.

Après le démarrage de MATLAB, il y a trois façons de démarrer Simulink. Vous pouvez cliquer sur l'icône

Simulink dans la barre d'outils MATLAB ou spécifier un fichier Simulink existant.

Page 45: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Les fonctions SIMULINK sont regroupées par types. La fenêtre suivante contenant les librairies de

simulink, apparaît ainsi qu'une fenêtre de travail.

Construction d'un modèle dans la fenêtre de travail :

Méthode de placement d'un

composant on sélectionne une

librairie de simulink : double

clic pour l'ouvrir (exemple

librairie : Linear) on

sélectionne un composant

(exemple Sum): on maintient

l'appui sur le bouton gauche de

la souris on fait glisser

l'élément dans la fenêtre de

travail on relâche le bouton.

Exercice : construire l'environnement décrit dans la figure suivante, on indique au-dessus de chaque

élément, la librairie d'origine.

Page 46: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Réalisation des connexions

Méthode :

On sélectionne avec la souris, le symbole >

situé sur un composant

On maintient l'appui sur le bouton et on tire le

lien vers un symbole >

On peut relâcher le bouton pour changer de

direction.

On vérifie que la connexion est correcte par le

fait que la flèche est accentuée

Paramétrage des composants :

Méthode :

On effectue un double clic sur le

composant exemple Mux, la fenêtre

de paramétrage s'ouvre,

On tape les valeurs désirées : ici la

valeur 2 pour indiquer 2 entrées,

On ferme cette fenêtre par Close,

les nouvelles valeurs sont prises en

compte.

Page 47: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Désignation des composants

Chaque composant possède un nom par défaut exemple

Gain, on peut modifier ce nom.

Méthode :

Clic sur le nom

On tape un nouveau nom

Renvoi d'un signal et récupération :

Afin de ne pas surcharger le dessin, on peut utiliser 2

composants situés dans la librairie connections qui

permettent d'effectuer une transition sans fil. Ces 2

composants s'appellent GOTO et FROM

Personnalisation de la fenêtre de travail :

Il est possible de redimensionner chaque

composant on le sélectionne, on saisit une poignée,

on étire ou on diminue.

Dans le menu Format de la fenêtre on dispose

d'autres commandes (il faut d'abord sélectionner

un composant).

Page 48: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Font : permet de choisir le type de

caractères.

Flip name : de placer le nom au-dessus

/en dessous

Hide name de cacher le nom

Flip block de retourner le bloc

Rotate block de le tourner de 90°

Foreground color de sélectionner une

couleur pour le texte

Background color : de sélectionner une

couleur pour le bloc

On peut de même personnaliser les liens ou connexions :

Wide Vector Lines permet de dimensionner

l'épaisseur des liens en fonction du nombre de signaux,

Line Width permet d'obtenir l'indication du nombre de

signaux sur les liens

Ctrl D permet de mettre à jour tout ceci en cas de

modification.

Modifications :

Modification des composants

On peut :

Ajouter un composant à tout moment,

Supprimer un composant en le sélectionnant et touche Suppr,

Modifier la position d'un composant en le sélectionnant on laisse la touche gauche de la souris

appuyée et on le déplace.

Dupliquer un composant : on le sélectionne, on appuie sur la touche Ctrl on faisant glisser le

composant.

On peut revenir en arrière de toute opération en utilisant l'icône Undo

Page 49: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

Modification des liens :

En utilisant les poignées situées sur le lien (une fois sélectionné celles-ci apparaissent), en appuyant sur le

bouton droit de la souris on ajoute un nouveau départ, shift et bouton gauche permet d'ajouter de nouvelles

poignées de changement de direction.

La simulation utilise un certain nombre de paramètres : menu simulation → parameters

Page 50: TP : Informatique 2 (programmation) N01 MATLAB 2éme...Objectifs Dans le présent cours, intitulé Informatique 2 (programmation) qui s'adresse aux étudiants de 2ème année licence

instant de départ ( 0 par défaut) instant d'arrêt (mettre 20s)

On étudiera ultérieurement les autres paramètres.

Faire close ce qui valide les modifications.

Lancement de la simulation

Menu simulation → start

Ou ctrl T

Ou icône >

Une sonnerie indique la fin de la simulation.

Exercice lancer la simulation après avoir ouvert le scope

On peut effectuer des zooms avant/arrière

Avec les 3 premiers icônes

Ajuster les axes avec le 4°

Sauver les données avec le 5°

Régler le scope avec le 6°

Imprimer avec le dernier

Lien entre simulink et MATLAB :

Pour diverses opérations, il est intéressant de disposer des signaux dans l'environnement de MATLAB ou de

récupérer des signaux définis dans MATLAB.

Envoi de signaux vers l'environnement de MATLAB

Les blocs ToWorkspace de la librairie Sinks permettent de diriger les signaux vers l'environnement de

matlab dans l'exemple traité jusqu'à présent ceci est réalisé avec le bloc nommé "signaux" sur lequel arrive

le tag "de».

Récupération de signaux issus de MATLAB :

Le bloc FromWorkspace de la librairie Source permet de définir des signaux dans l'environnement Matlab

et de les utiliser dans l'environnement de Simulink.