Introduction à
Prof. Abdellah ADIB
FI-GPE
2011-2012
1
C’est un système système interacti interactiff de programmation programmation scientif scientifique ique,, pour le calcul numérique et la visualisation graphique. Il est basé sur la représentation matricielle des données. Le nom est dérivée de cette représentation MATLAB =
rix
oratory
Plan du cours Introduction et notions de base du MA MATLAB TLAB Les fichiers et la programmation avec MATLAB Instructions de contrôles sous MATLAB Graphisme sur MATLAB Fonctions d’entrée/sortie sous MATLAB Prof. Abdellah ADIB
FI-GPE
2011-2012
3
Comment programmer ? x=[2 3 7; 9 5 2; 2 1 2]; Y=sin(X);
Prof. Abdellah ADIB
X=inv(x);
X= -0.2424 -0.0303 0.8788 0.4242 0.3030 -1.7879 0.0303 -0.1212 0.5152 0.5152;;
Y=0.9093 0.1411 0.4121 -0.9589 0.9093 0.8415
FI-GPE
2011-2012
0.6570 0.9093 0.9093
4
Quelle version ? Copyrightt (c) 1984-2011 Copyrigh by
The MathWorks, Inc.
Prof. Abdellah ADIB
FI-GPE
2011-2012
5
Qu’est-ce que MATLAB© ? Sur
le plan de la programmation, le langage MATLAB© est basé sur une structure de donnée où l’élément de base est le tableau tableau avec avec un jeu un jeu d’opérations adapté à cette entité .
La
syntaxe pour le traitement de variables variables qui qui se représentent sous la forme de vecteurs ou matrices , dont la dimension n’a pas à être fixée, se trouve simplifiée.
En
plus une programmathèque permet des opérations variées et riches en fonctionnalités. MATLAB© est un outil puissant qui permet la résolution de nombreux problèmes en beaucoup moins de temps qu’il n’en faudrait pour les formuler for muler en C ou en Pascal.
Prof. Abdellah ADIB
FI-GPE
2011-2012
6
Qu’est-ce que MATLAB© ? Il
consiste en un langage interprété qui s’exécute dans une fenêtre dite d’exécution.
L’intérêt érêt L’int
de MATLAB© tient, d’une part, à sa simplicité d’utilisation :
1) Pas de compilation, 2) Déclaration implicite des variables utilisées et, d’autre part, 3) A sa richesse fonctionnelle : arithmétique matricielle et nombreuses fonctions de haut niveau dans divers domaines (analyse numérique, numérique, statistique, commande optimale, optimale, représentation r eprésentation graphique, ...). Prof. Abdellah ADIB
FI-GPE
2011-2012
7
Qu’est-ce que MATLAB© ? Logiciel interactif de calcul scientifique : Langage
de programmation de haut niveau Calcul numérique Calcul symbolique Calcul matriciel u suelles (sin, exp, log10, …) Fonctions mathématiques usuelles Racines d’un polynôme Intégration numérique Boites à Outils; e.g. Traitement Numérique du Signal Graphiques 1D, 2D & 3D Etc. Prof. Abdellah ADIB
FI-GPE
2011-2012
8
Domaines couverts par MATLAB©
Prof. Abdellah ADIB
FI-GPE
2011-2012
9
Autres atouts de MATLAB©
Ordinateur = super calculatrice Appr Apprentissage entissage facile, commandes commandes intuitives Moins de C, Pascal, Pascal, Fortran, Fortran, Basic, etc. Inclusion des graphiques dans les documents Interaction avec des programmes externes Boites à outils couvrants une multitude de disciplines Une aide en ligne Sauvegarde de l’environnement du travail Etc. … Prof. Abdellah ADIB
FI-GPE
2011-2012
10
Fenêtre de commandes MATLAB© Matlab
doit être installé, pour lancer l’exécution il faut eff effectuer ectuer un double clic sur l’icône de matlab.
Set path Fenêtre de Commandes
Rappel ligne de commande
Prof. Abdellah ADIB
FI-GPE
2011-2012
11
Aide
Il est à noter que toutes les commandes sont en anglais et l’aide en ligne également ! Prof. Abdellah ADIB
FI-GPE
2011-2012
12
Aide
Les commandes Matlab© doivent toujours être tapées en minuscules même si dans l'aide en ligne elles apparaissent en majuscules . Prof. Abdellah ADIB
FI-GPE
2011-2012
13
Types de données
Dans Matlab Matlab il y a un un seul type de données: données: le le type type de matrice matrice (matrix).
Tout est matrice 1.
Pas de déclaration de type.
L’utilis ’utilisation ation ne s’occupe s’occupe pas de l’allocation l’allocation mémoire. mémoire.
Les matrices et vecteurs peuvent être redimensionnées.
Prof. Abdellah ADIB
→
un nombre est une matrice carrée d’ordre
FI-GPE
2011-2012
14
Variable
Variables V ariables MATL MATLAB AB
: - Matrice - Vecte teuur - Scalaire
m x n, 1 x n, 1x1
m, n >1, n >1,
Nombres es Nombr
ou chaînes de caractères caractèr es : Nom_de_variable : aBz23k... - Nom_de_variable - 1e 1err cara caract ctère ère = let lettre tre - 19 premier premierss carac caractè tères res reconn reconnus us a - A a
Prof. Abdellah ADIB
FI-GPE
2011-2012
15
Variables V ariables MATL MATLAB AB
Les noms noms des des variab variables les et de fonctio fonctions ns sont compo composés sés de de lettres et chiffres.
Matlab Matl ab fai aitt la di dist stin inct ctio ionn en entr tree le less ma maju jusc scul ules es et minuscules, ainsi mavar, MAVAR et MAvar sont des variables var iables différentes.
Si la variable existe déjà, le contenu est écrasé par une nouvelle valeur affectée à cette variable.
Prof. Abdellah ADIB
FI-GPE
2011-2012
16
Caractères et variables réservés Caractères spéciaux = [ ] ( ) . ... , ; % : !
assignmen assign mentt sta statem tement ent useed to fo us form rm ve vect ctor orss an andd matr matric icees see [ arithm ari thmeti eticc exp expressi ression on prece preceden dence ce see ( deci de cima mall po poin int t cont co ntin inue ue sta state teme ment nt to the the nex nextt liline ne sepa se para rate te su subs bscr crip ipts ts an andd fu func ncti tion on argu argume ment nts s end rows rows,, suppress suppress pri printi nting ng comments subscr sub script ipting, ing, vec vector tor gen genera eratio tion n executee opera execut operating ting syst system em comman command d
Prof. Abdellah ADIB
FI-GPE
2011-2012
17
Fonctions d’usage général help demo who what size length clear computer quit exit
Prof. Abdellah ADIB
help fa help faci cilility ty demo listt va lis varia riabl bles es in mem memory ory lilist st MM-fifile less on dis disk k row an andd co colu lumn mn di dime mens nsio ions ns vect ve ctor or le leng ngth th clea cl earr wo work rksp spac ace e type of computer quit exit
FI-GPE
2011-2012
18
Caractères et variables réservés Valeurs spéciales
ans eps pi i,j Inf NaN clock date flops nargin nargout
answer answ er whe henn ex expre press ssio ionn is no nott as assi sign gned ed floating point precision -1 not-a-Number wal alll cl cloc ock k date floating point operation count numb nu mber er of fu func ncti tion on in inpu putt arg argum umen ents ts numb nu mber er of fu func ncti tion on ou outpu tputt arg argum umen ents ts
Prof. Abdellah ADIB
FI-GPE
2011-2012
19
Modes de Progr Programmation ammation Interactif Prof. Abdellah ADIB
FI-GPE
2011-2012
20
Mode inter interactif actif
Prof. Abdellah ADIB
FI-GPE
2011-2012
21
Prof. Abdellah ADIB
FI-GPE
2011-2012
22
Vecteurs V ecteurs ou tableaux à 1 dimension
Le moyen le plus simple de saisir un vecteur est d’entrer ses éléments élémen ts en les les séparan séparantt par des blancs blancs ou par par des virgules virgules » x=[ 6 4 7] x= 6 4
Autre
7
façon de saisir un vecteur ligne
» x=[6, 4, 7] x= 6 4 Prof. Abdellah ADIB
7 FI-GPE
2011-2012
23
Vecteurs V ecteurs ou tableaux à 1 dimension
Ce vecteur est considéré comme une matrice à une ligne et trois colonnes » size(x) ans = 1
Ou bien 3
» [m n]=size(x) m=1 n=3
La longueur d’un tableau, ou bien sa dimension » longeur=length(x) longeur= 3
Prof. Abdellah ADIB
FI-GPE
2011-2012
24
Opérateurs arithmétiques Opérateurs arithmétiques “Matrix” et “Arr “Array” ay” Opérateurs “Matrix”
Opérateurs “Array”
+ addition - subtraction .* multiplication righ ghtt div divis isio ion n ./ ri left le ft div divis isio ion n .\ .^ power transpose .‘
+ addition - subtraction * multiplication righ ghtt div divis isio ion n / ri left le ft di divi visi sion on \ ^ power conjug jugate ate transp transpose ose ‘ con
Arithmétique élément-par élément-par-élément -élément Prof. Abdellah ADIB
FI-GPE
2011-2012
25
Vecteurs V ecteurs ou tableaux à 1 dimension
Si on veut créer le vecteur v=[6 4 7 1 2 8], on peut utiliser le vecteur x précédent » v=[x 1 2 8] v= 6 4
%Concaténation 7
1
2
8
Dans Matlab, les indices d’un tableau commencent à 1. Pour récupérer une composante d’un vecteur, il faut spécifier son indice entre parenthèses: » v(2) ans= 4 Prof. Abdellah ADIB
FI-GPE
2011-2012
26
Vecteurs V ecteurs ou tableaux à 1 dimension
L’addition et la soustraction de vecteur de mêmes dimensions se font élément par élément » x=[4 3]; y=[5 7]; xx-yy ans= -1 -4 » x+y ans= 9 10 Transposé conjugué < ’> et transposé d’un vecteur < .’> » tx = x ’ tx= 4 3 Prof. Abdellah ADIB
FI-GPE
2011-2012
27
Vecteurs V ecteurs ou tableaux à 1 dimension
Combinaison linéaire de deux vecteurs de mêmes dimensions se font élément par élément » x=[ x=[44 3]; y=[ y=[55 7]; 2*x - 4*y ans= -12 -22 » 4*x + 3*y.^2 ans= 91 159 Division de deux vecteurs » x/y tx=
4 3
Prof. Abdellah ADIB
FI-GPE
2011-2012
28
Vecteurs V ecteurs ou tableaux à 1 dimension » q = 4 : 10 q=
4 5 6 7 8 9 » q(end) ans = 10 » q(end-4 : end) ans = 6 7 8 9 10 » q(endq(end-2 : end) ans = 8 9 10 Prof. Abdellah ADIB
10
FI-GPE
2011-2012
29
Fonctions opérant sur des vecteurs
sum : somme somme des des compos composant antss d’un vect vecteur eur
» sum(x) % x=[4 3]; ans=
7
prod : produit produit des compo composants sants d’un vecteu vecteurr » prod(y)= ans= 70
Prof. Abdellah ADIB
FI-GPE
2011-2012
30
Fonctions opérant sur des vecteurs
sqrt : racines racines carr carrées ées des des composants composants d’un vecteur vecteur » sqrt(x) ans= 2 .0 0 0 1.7321
mean : moyenne moyenne des compo composantes santes d’un vecteu vecteurr » mean(x) ans= 2.3333
Prof. Abdellah ADIB
FI-GPE
2011-2012
31
Fonctions opérant sur des vecteurs
find : recher recherche che les les indices indices et et les vale valeurs urs des des élément élémentss non nuls
» X = [1 0 4 -3 0 0 0 8 6]; indices = find(X) indices = 1 3
4
8
9
» find(X > 2) ans=
Prof. Abdellah ADIB
3
8
9 FI-GPE
2011-2012
32
Fonctions opérant sur des vecteurs sort : ordonne les éléments du vecteur x par ordre croissant % x=[3 5 1 9 2 -2 51 -8] » sort(x) ans= -8 -2 1 2 3 5 9 51 linspac pacee : génèr génèree un ve vecte cteur ur de de N poi points nts équ équies iespac pacés és lins entre deux points donnés » y = linspace(0,1,6) y= Columns 1 th through 6 0 0.2000 0.4000 0.6000 0.8000 1.0000
Prof. Abdellah ADIB
FI-GPE
2011-2012
33
Fonctions opérant sur des vecteurs
fliplr : fait fait tourner tourner le vecteu vecteurr de droite droite à gauche gauche
» fliplr(x) ans=
-8
% x=[3 5 1 9 2 -2 51 -8] 51
-2
2
9
1
5
3
flipud : fait fait tourner tourner le vecteu vecteurr du bas bas vers vers le haut
» y = flipud([1; 2; 9]) y=
Prof. Abdellah ADIB
9 2 1 FI-GPE
2011-2012
34
Prof. Abdellah ADIB
FI-GPE
2011-2012
35
Matrices ou tableaux à 2 dimensions
Pour saisir une matrice, les lignes sont séparées par un point virgule » x= [0 1 2; 3 4 5] x= 0 1 2 3 4 5
Ou bien en séparant les lignes par des retours à la ligne » x= [0 1 2; 345]
Prof. Abdellah ADIB
FI-GPE
2011-2012
36
Matrices ou tableaux à 2 dimensions Dimensions
d’une matrice x: » [ m n ]=size(x) m= 2 n= 3 Accès à un élément d’une matrice » x(2,1) ans= 3 Prof. Abdellah ADIB
FI-GPE
2011-2012
37
Matrices particulières Mat Matric ricee
identit ide ntitéé (matri (matrice ce carr carrée) ée) : » I=eye(3) I= 1 0 0 0 1 0 0 0 1 Matrice unité » U=ones(2,3) U= 1 1 1 1 1 1 Prof. Abdellah ADIB
FI-GPE
2011-2012
38
Matrice
Matrices particulières
nulle : » Z=zeros(3) Z= 0 0 0 0 0 0 0 0 0 aléatoire (les éléments sont Matrice aléatoirement entre 0 et 1) » A=rand(1,4) A= 0.6597 0.1458 0.2564 0.2131 Prof. Abdellah ADIB
FI-GPE
2011-2012
générés
39
Formes particulières d’initialisation » a= 1:5
a=
1 2 3 4 5
» x= 0: pi/4: pi x= 0 0.7854 » Em= 15: -3: 1 Em= 15 12 9 Prof. Abdellah ADIB
1.5708
6 FI-GPE
2.3562
3.1416
3 2011-2012
40
Formes particulières d’accès » G=[2 1 6 -5; 3 9 11 4; 6 8 1 36; -1 5 -7 9; 9 5 3 1 ]; » G(2:3,4)’
ans= 4 36
» G([1 3 5],[2 3 4]) ans= 1 6 8 1 5 3
Prof. Abdellah ADIB
-5 36 1 FI-GPE
2011-2012
41
Prof. Abdellah ADIB
FI-GPE
2011-2012
42
Exemple 1 Donner les valeurs de la fonction suivante y = (x+2)2(x3+1) pour des valeurs de x entre -1 et 3 avec un pas de 0.1 Solut utio ionn :
» x=[-1:0.1:3]; » y = ((x+2).^ 2) .* ((x.^ .^33)+1); Prof. Abdellah ADIB
FI-GPE
2011-2012
43
Exemple 2 Construire la fonction z = s2 /(s3 + 1) pour 200 valeurs de x entre -3 et 40. Solut utio ionn :
» s=linspace(-3,40,200); » y = s.^ .^22./ ./(s (s.^ .^33 + 1); Prof. Abdellah ADIB
FI-GPE
2011-2012
44
Exemple 3 Donner 50 valeurs du polynôme y = x4 + x2 - 3 Entre x = -2 et x = 2. Solut utio ionn :
» x=linspace(-2,2,50); » c = [1 0 1 0 -3]; » y = polyval(c,x); Prof. Abdellah ADIB
FI-GPE
2011-2012
45
Exemple 4 Soit la matrice F=[1 2 3; 4 5 6; 7 8 9], éliminer la deuxième colonne puis la première ligne Solu luttio ionn :
» F(1,:) = []
» F(:,2) = []
F=
F=
4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 Prof. Abdellah ADIB
FI-GPE
2011-2012
46
Nombres complexes » i^2 ans=
» j^2
-1
ans=
-1 » a=3+2i a= 3.0000 + 2.0000i » w=r+exp(2*j*teta); sqrt(6)]+0,3*i*ones(1,4);; » w=[1 2 8.3 sqrt(6)]+0,3*i*ones(1,4) Prof. Abdellah ADIB
FI-GPE
2011-2012
47
Fonctions d'arrondis round(x) : entier le plus proche de x,
» round(1.8356)
» round(3.4356)
ans=
ans=
2 floor(x) : arrondi par défaut,
3
» floor(3.9) ans= 3 Prof. Abdellah ADIB
FI-GPE
2011-2012
48
Fonctions d'arrondis ceil(x) : arrondi par excès, » ceil(1.8356) ans= 2
» ceil(3.4356) ans= 4
fix(x) : arrondi par défaut un réel positif et par excès un réel négatif. » fix(3.9) » fix(-2,1) ans= ans= 3 -2 Prof. Abdellah ADIB
FI-GPE
2011-2012
49
Format Fo rmat : La manière manière d’apparition des nombres » s = [1/2 1/3 pi]; » format short; s s=
0.5000 0.3333 3.1416 » format long; s s= 0.50000000000000 0.33333333333333 » format rat; s s= 1/2 1/3 355/113 » format bank; s s= 0.50 0.33 3.14 Prof. Abdellah ADIB
FI-GPE
2011-2012
3.14159265358979
50
Prof. Abdellah ADIB
FI-GPE
2011-2012
51
Exemple
Créer une matrice 4x2 tous zéros et la stocker dans une variable. Puis, remplacer la deuxième rangée dans la matrice par un vecteur se composant des 3 et des 6.
Trouver une manière efficace de reproduire la matrice suivante : mat = 7 8 9 10 12 10 8 6 Puis, donner les expressions qui, pour la matrice mat de, 1. se rapp appor orte terr à la de deux uxiè ième me ran angé géee ent entiè ière re 2. se rap appo port rter er au auxx de deux ux pr prem emiè ière ress col colon onne ness
Prof. Abdellah ADIB
FI-GPE
2011-2012
52
Exemple
Créer un vecteur Créer vecteur de variable variable vect vect ; il peut avoir avoir n'importe n'importe quelle quelle longueur. Puis, écrire les instructions qui permettent de stocker la première moitié du vecteur dans une variable et la deuxième moitié dans une autre variable. S'assurer que vos instructions d'affectation sont générales, générales, et opèrent correctement même si le vect vect a un nombre nombre pair ou impair d'élém d'éléments. ents. (Conse (Conseilil : Employer une fonction d'arrondis telle que la difficulté. difficulté.). ).
Prof. Abdellah ADIB
FI-GPE
2011-2012
53
Prof. Abdellah ADIB
FI-GPE
2011-2012
54
L'éditeur de scripts MATLAB
Prof. Abdellah ADIB
FI-GPE
2011-2012
55
Fonctions “usager” “usager” de type “script” Fonction
sans argument Variables ariables globales V %*****************************% %* pivot_x.m *% %*****************************% echo off x=[1 2 3 4] x=fliplr(x ) » pivot_x x= 1234 x= 4321 Prof. Abdellah ADIB
FI-GPE
2011-2012
56
Fonctions “usager” “usager” de type “function” Les
fonctions m-files sont des vrais sous programmes; puisque elles utilisent des arguments I et/ou O. Variables ariables V
autres que les I/O sont locales à la fonction Syntaxe générale : function
[arguments de sortie]
Prof. Abdellah ADIB
=
FI-GPE
Nom_fonction (arguments d’entrée)
2011-2012
57
Exemple de “function” Un seul argument de sortie, pas de [ ] 1er ligne, doit contenir la définition de la fonction Le corps de la fonction
Utilisation de la fonction
Nom de la fonction
Arguments d’entrée
function y = plptnb(n1,n2) % Retourne le plus petit de n 1 ou n 2 %Notes : Un exemple de fonction y = n2; if n1 < n2 y=n1; end; Return;
» a=-2; b=3; » plptnb(a,b) » ans =
1- Com Commen mentai taire, re, qui apparaîtra en utilisant help 2- Les info informati rmations ons dans Notes n’apparaîtrons jamais
» plptnb(-2, 3) » ans = -2
-2 Prof. Abdellah ADIB
FI-GPE
2011-2012
58
Organisation d'un progr programme amme Toute bonne programmation repose sur l'écriture d'un script principal qui fait appel appel à des fonctions autonomes. autonomes. Cela permet : •
d'améliorer la lisibilité
•
de tester indépendamment des parties de programmation
•
d'augmenter le degré de généralité (utilisation généralité (utilisation d'une même fonction à divers endroits du programme, pr ogramme, voire voire réutilisation des fonctions dans d'autres applications) Prof. Abdellah ADIB
FI-GPE
2011-2012
59
Structure d’un Bon progr programme amme
Comme dans l'exemple ci-dessus, ci-dessus, le nom du script attaché à une fonction doit oblig obligatoirement atoirement porter porter le nom de la fonction fonction avec l' extension.m extension.m . Prof. Abdellah ADIB
FI-GPE
2011-2012
60
Prof. Abdellah ADIB
FI-GPE
2011-2012
61
Exemples Écrire une fonction qui calculera le volume d'une sphère creuse, on adoptera la formule suivante : 4 3 où est le rayon intérieur et est le rayon extérieur. Écrire une fonction qui permet de construire la matrice suivante :
Prof. Abdellah ADIB
2 3 7 9 4
2 3 7 9 4
FI-GPE
2 3 7 9 4
2 3 7 9 4
2 3 7 9 4
2 3 7 9 4
2011-2012
2 3 7 9 4 62
Prof. Abdellah ADIB
FI-GPE
2011-2012
63
Opérateurs Opér ateurs logiques Les
opérateurs logiques combinent des expressions booléennes :
En
terme numérique, tout nombre non nul est considéré comme vrai
Prof. Abdellah ADIB
FI-GPE
2011-2012
64
Liste des opér opérateurs ateurs &
: ET logique élément par élément
|
: OU logique élément par élément
~
: NON (négation (négation logique de de l’opérande) l’opérande)
Prof. Abdellah ADIB
FI-GPE
2011-2012
65
ET logique Cas de deux expressions logiques x = 1; y = 3; w = -1; z = 10; (x>y) & (w>z) 0 (FAUX) (x>y) & (w
1 (VRAI)
u = [1 0 2 3 0 5]; v = [5 6 1 0 0 7]; u&v 1 0 1 0 0 1 (VRA (V RAII
FAUXX FAU
Prof. Abdellah ADIB
VRAII VRA
FAUXX FAU
FAUXX VR FAU VRAI AI)) FI-GPE
2011-2012
66
Opérateur OU Cas de deux expressions logiques x = 1; y = 3; w = -1; z = 10; (x>y) | (w>z) 0 (FAUX) (x>y (x >y)) | (w (w
1 (VRAI)
u = [1 0 2 3 0 5]; v = [5 6 1 0 0 7]; u|v 1 1 1 1 0 1 (VRAI
VRAI
Prof. Abdellah ADIB
VRAI
VRAI
FAUX VRAI) FI-GPE
2011-2012
67
Opérateur Opér ateur NON (négation) Négation d’une expression logique x = 1; y = 3; 1 (VRAI) ~(x>y) 0 (FAUX) ~(x
VRAII VRA
Prof. Abdellah ADIB
FAUXX FAU
1
0
FAU AUXX VR VRAI AI FAU AUX) X) FI-GPE
2011-2012
68
Prof. Abdellah ADIB
FI-GPE
2011-2012
69
Les instructions de contrôle
Les principale principaless instruction instructionss de contrôle contrôle sous sous Matlab Matlab sont :
Instructions
IF … ELSEIF … ELSE … Instructions sélectives Instructions SWITCH … CASE … OTHERWISE… Chois ventilés Instructions WHILE … FOR … (Boucles) Instructions répétitives Instructions CONTINUE … Passage à l’itération suivante dans une boucle Instructions BREAK … Arrêt de l’exécution d’une boucle
Prof. Abdellah ADIB
FI-GPE
2011-2012
70
Prof. Abdellah ADIB
FI-GPE
2011-2012
71
Instruction sélective IF
La sélection if
Syntaxe : Expression logique dont le résultat est soit 1 (vrai) ou 0 si (faux),
if condition if condition Mots clé Fin de la sélection
séquence d’instructions
Corps de la sélection
end
Prof. Abdellah ADIB
FI-GPE
2011-2012
72
Instruction sélective IF … ELSE
La sélection if … els elsee … en endd
Syntaxe : Expression logique dont le résultat est soit 1 (vrai) ou 0 si (faux),
if condition if condition Mots clé Fin de la sélection
séquence d’instructions 1
Action
else séquence d’instructions 2 end
Prof. Abdellah ADIB
FI-GPE
2011-2012
Alternative 73
Instruction sélective IF … ELSEIF … ELSE
La sélection if … elseif … else … end
Syntaxe : if condition if condition séquence d’instructions 1
Action
elseif séquence d’instructions 2 Else
Alternative 1
séquence d’instructions 3 end
Alternative 2
Prof. Abdellah ADIB
FI-GPE
2011-2012
74
Exemple Ecrire une fonction qui cherche la mention en fonction de la moyenne obtenue
function m = mention(moy) % Mention en fonction de la moyenne if moy>=16 m=’très bien’; else el seIf If mo moy> y>=1 =144 m=’bien’; else el seIf If mo moy> y>=1 =122 m=’assez bien’; else el seIf If mo moy> y>=1 =100 m=’passable’; else m=’Ajourné’; end Prof. Abdellah ADIB
FI-GPE
2011-2012
75
Prof. Abdellah ADIB
FI-GPE
2011-2012
76
Instruction répétitive FOR
La sélection for … end
Syntaxe : i variable appelée indice de la boucle
for i = ind ind_d _deb ebut ut : ind ind_f _fin in Mots clé Fin de la boucle
séquence d’instructions
Corps de la boucle
end
Prof. Abdellah ADIB
FI-GPE
2011-2012
77
Instruction répétitive SWITCH
La sélection switch … case c1 … case cn … ot othe herw rwis isee … en endd
Syntaxe : switch var case c1 séquence d’instructions 1 ... n choix ventilés case cn séquence d’instructions n otherwise séquence d’instructions par défaut end
var expression ou variable à évaluer, c1 … cn constantes représentant les possibilités d’évaluation de var. Prof. Abdellah ADIB
FI-GPE
2011-2012
78
Prof. Abdellah ADIB
FI-GPE
2011-2012
79
Graphiques » x=0:0.05:(2*pi); » y=exp(-x).*sin(x); » plot(x,y);
Prof. Abdellah ADIB
FI-GPE
2011-2012
80
Graphe Gr aphe plus lisible » axis([0 (2*pi) -0.1 0.4]); » tit title le ('E ('Exem xemple ple de grap graphiq hique' ue'); ); » xlabel(‘Abscisse'); » ylabel(‘Ordonnee'); » grid;
Exemple de graphique
e e n n o d r O
Abscisse Prof. Abdellah ADIB
FI-GPE
2011-2012
81
Graphe avec avec plusieurs courbes superposées » y 1=exp(-2*x).*sin(x); » y 2 =exp(-3*x).*sin(x); » y 3=exp(-4*x).*sin(x); plot(x,y,'-',x,y1,'-.',x,y2,'*',x,y3,'o‘ ,'-',x,y1,'-.',x,y2,'*',x,y3,'o‘ ); » plot(x,y
Prof. Abdellah ADIB
FI-GPE
2011-2012
82
Graphe avec avec plusieurs courbes séparées » subplot(2,2,1), plot(x,y), title('y'); » subplot(2,2,2), plot(x,y1), title('y1'); » subplot(2,2,3), plot(x,y2), title('y2'); » subplot(2,2,4), plot(x,y3), title('y3');
Prof. Abdellah ADIB
FI-GPE
2011-2012
83
Graphe 3-D Supposons, par exemple que l'on veuille représenter Supposons, r eprésenter la surface définie par la fonction z=sin(xy) sur le carré suivant [-p/2,p/2]x[-p/2,p/2] à l'aide d'une grille de points 31x31. On utilise la séquence de commandes : [xi,yi]=meshgrid(-pi/2:pi/30:pi/2); %(génération d'une grille régulière) zi=sin(xi.*yi); surf(xi,yi,zi,zi); %(affichage de la surface) Prof. Abdellah ADIB
FI-GPE
2011-2012
84
À retenir Variable MATLAB matrice >> Opérate Opérateurs urs “matrix” “matrix” et “array” “ar ray” >> Fichiers exécutables “.m” type “script” et “function”; >> Fichiers binaires “.mat” pour échange de données >> Extensions Extensions (toolboxes) (toolboxes) >>
Prof. Abdellah ADIB
FI-GPE
2011-2012
85
Prof. Abdellah ADIB
FI-GPE
2011-2012
86