03/05/2013

Initiation à Matlab

Dr. Boudy Ould Bilal/CIFRES/ESP-Dakar
1

Plan
I. Introduction
II. Type de données utilisées en Matlab
III. Notion de bases
IV. Éléments des programmations
V. Les scripts et les fonctions
VI. Travaux pratiques
2

1

des fonction comme dans d’autre langage. Il est largement utilisé dans le monde universitaire pour les enseignements de l’algèbre linaire. L’utilisation de Matlab dans le monde universitaire Il est possible d’écrire de scripts.03/05/2013 I. de traitement du signal. Introduction Environnement de Mtalab Ouverture d’un nouveau ficher . de l’automatisme. ainsi dans la recherche scientifique avancée 3 I. Importance de l’utilisation de Matlab Système interactif de calcul numérique destiné aux ingénieurs et aux scientifiques La possibilité de réalisé rapidement des calculs sophistiqués et de présenter les résultats sous forme numérique ou graphique 2. Introduction 1.m Ouverture de l’interface simulink Répertoire courant Invité Matlab 4 2 .

2.6.2. 3 5 70] Pour éviter l’affichage de résultats d’une expression exécuté on terminera celle-ci par un point virgule (.3 ] ou bien [3 3 5] Saisir une Matrice d’ordre (n. Notion de bases 1. 3.14 Inf (infinité) : nombre infini NaN (Not a number) : n’est pas un nombre / Indétermination Ans : variable contenant la dernière réponse Exp: 1/0 : ans = inf. Vecteurs Saisir un vecteur exemple : [1.03/05/2013 II.) 6 3 . 0/0 : ans = NaN 2. Type de données utilisées en Matlab Type des données utilisées en Matlab : Matrices Trois types de base de Matrice : scalaire : 1.2.m) exp : [1 2 3.4 . 4 6 4.3 . …. Constantes et Variables spéciaux pi=3.m) : [1.2. 3. 5. 3. vecteur : [2. 4] matrice d’ordre (n.3] 5 III.

Si on appelle la variable In nous auront .03/05/2013 III. 4 . nombre des bites et le type de variable size : donne le dimension d’une matrice length : donne la longueur d’un vecteur Soit A la matrice d’ordre nxm colonne A(:. de n1 à n2 A(:. Différent (~=) Opérateurs logiques Et logique (&) Ou logique (|) Non logique (~) 7 III. taille. In=[2 3 4] qui correspondent aux indice des 8 nombres 3. Notion de bases 3. logiques et arythmiques Opérateurs relationnels ( de comparaison) Inférieure (<) Inférieure ou égal (<=) Supérieure ( >) Supérieur ou égal ( >=) Opérateurs arithmétiques L’addition (+) La soustraction (-) La multiplication (*) La division (/) Elévation au à une puissance (^) Egal (==) .:) : extraction des lignes.:) : extraction de la ligne numéro n1 A(n1:n2.2] In=find (A>2) .5.3.10. Notion de bases 4.de n1 à n2 find : extraction des indices selon un critère Exemple : soit A=[2. 5 et 10. Opérateurs relationnels. Commande opérants sur des vecteurs help : fourni de l’aide sur l’utilisation de la commande who : renseigne sur les variables existante whos : renseigne sur le nom.n1) : extraction de la colonne numéro n1 A(n1.n1:n2) : extraction de la colonne allant . Ces valeurs sont strictement supérieures à 2.

n° de la position de la figure) . permet de tracer plusieurs figure sur la même fenêtre hold on : permet de tracer deux courbes sur la même figure figure: permet d’ouvrir une nouvelle fenêtre Légender une figure title(‘ titre’) : permet d’insérer un titre xlabel(‘legend’) : permet de légender l’axe des abscisses ylabel(‘legend’)) : permet de légender l’axe des ordonnées gtext(‘text’) : permet d’insérer un texte grid : permet d’ajouter un quadrillage axis([ xmin xmax ymin ymax]) : permet la mise à l’échelle des axes 10 5 . Notion de bases 5. nbre de colonne.y) : permet de tracer y en fonction de x subplot: (nbre de ligne. Commande opérants sur des vecteurs mean : moyenne des composantes d’un vecteur min : composante minimale d’un vecteur max : composante maximale d’un vecteur sum : somme des composantes d’un vecteur prod : produit des composantes d’un vecteurs std : l’écart type des composantes d’un vecteur Input (‘ valeur de la variable’) : permet d’introduire les valeurs d’une variable clc : permet d’effacer l’éditeur de commande clear : effacer toutes les donnés en mémoire 9 III.03/05/2013 III. Tracer des courbes plot(x. Notion de bases 6.

Fonction opérants sur des vecteurs Détermination de la rose de vent [a. Notion de bases 8. n: nombre de secteur souhaité (12 secteur par exemple) polar (a. élévation) : nous permet de trouver une bonne orientation de la rose de vent (Sens anti-trigonométrique) Pour avoir une bonne position du rose de vent : Orientation = 90 Elévation = -90 12 6 . n). : renvoie au vecteur d’angle et de nombre d’échantillons D: vecteur direction en radiant (rd). (%) view (orientation. Notion de bases 9. f) : donne la rose (fréquence en fonction des secteurs de directions) f (%) est la fréquence défini par : f = b./sum(b)*100. b] = rose (D.03/05/2013 III. Fermeture d’une fenêtre figure close : permet de fermer une figures close all : permet de Fermer toutes les fenêtres figures Tracer plusieurs figure sur la même fenêtre: 11 III.

(%) Ont trace la courbe de distribution de Weibull sur la même figure que la distribution réelle du vent en appliquant dans un premier temps hold on qui permet de tracer les deux courbes sur la même figure. la courbe sera donnée en couleur rouge 14 7 . en (%) La figure des histogrammes de fréquence d’occurrence de la vitesse du vent est obtenu en appliquant l’instruction suivante: bar (x. f1) La figure obtenue représente la distribution réelle du vent qu’on peut comparer à la distribution théorique de Weibull 13 Distribution des Weibull Param = wblfit (V) : renvoie au vecteur contenant les paramètres de Weibull (c et k) y = wblpdf (x.25:0. puis on utilise plot comme suivant: plot (x. : renvoie au nombre d’échantillon de V correspondant aux intervalles de x La fréquence correspondant à l’intervalle de x est: f1=a./sum(y)*100.f2. k) : calcule la densité de probabilité de Weibull correspondante à chacune des valeurs de x On calcul ensuite la fréquence correspondant à la valeur de la densité de probabilité de Weibull par: f2= y./sum(a)*100 .’r’).5:15 Et V la vitesse du vent.03/05/2013 Détermination de la distribution réelle et théorique de Weibull Soit x un vecteur de vitesse de vent défini par x:0.x). a=hist (V. c.

if (condition) Exemple : instruction1 Écrire un programme avec l’utilisation de if qui permet de faire le calcul suivant . on fixe n=10 end 4. on fixe n=10 . switch variable de sélection Case valeur 1 Instruction Écrire un programme avec l’utilisation de switch qui permet de faire le calcul suivant Case {valeur1. Éléments de programmations (Instruction de contrôle) 1. valeur3} F=2*x+5. si n=3 else F=0 pour les autres valeurs Instruction n Introduire une valeur pour la variable x end 2. si n=1 elseif (autre condition) F=3*x-8. valeur2. Instrction n end 15 VI. si n=2 Autre instruction F=4x+10. Instruction n F=2*x+5. si n=3 instruction otherwise Instruction par défaut end Exemple si n=2 F=0 pour les autres valeurs Introduire une valeur pour la variable x 16 8 . while (condition vrai) Instruction 1 Instruction 2 . Instruction n Exemple : Écrire un programme avec l’utilisation de la boucle while permettant de calculer La somme suivante S=1+1/2+1/3+…+1/n. for k=debut:pas:fin Exemple : Instruction 1 Instruction 2 Écrire un programme avec l’utilisation de for permettant de calculer La somme suivante S=1+1/2+1/3+…+1/n. Éléments de programmations 3. si n=1 Autre instruction F=3*x-8.03/05/2013 VI. Case valeur n F=4x+10.

E2.. dans le prompt Matlab (invité Matlab).E3. La déclaration des fonctions en Matlab suit les règles suivantes Une fonction est contenue dans un fichier “. Exemple : créer un script files pour tracer la courbe des fonctions suivantes: a= x². Le fichier qui définit une fonction doit commencer par Function [R1. Pour exécuter un script file taper son nom. b = 1/x où x=1:0. sans l’extension. une fonction Une fonction Matlab est une suite de commandes qui nécessite un/des arguments d’entrée pour être exécutée Elle renvoie à une/des sortie(s).m”. Les noms des script files doivent avoir l’extension “.1:100 17 2.m” qui a le même nom que la fonction.] = nomfonc (E1.… ) Mot clé Arguments de sortie nom de la fonction arguments d’entré 18 9 . Les scripts et les fonctions Script files Un script file est une suite des commandes Matlab.R2..03/05/2013 V.

txt -ascii NB: S’assurez que vous êtes dans le répertoire approprié.txt aura comme variable nom_du _ficher_origine load : permet de télécharger le ficher des données syntaxe : load nom_du_nouveau_ficher .03/05/2013 Fonction : save et laod save : permet d’enregistre le ficher obtenu à partir des calculs effectués syntaxe : Save nom_du_nouveau_ficher . écrier un script qui permet de calculer la somme T=1+2/(1+1/2)+3/(1+1/2+1/3)+…+n/(1+1/2+1/3+..txt nom_du_ficher_origine -ascii NB : le ficher nouveau _du_ficher. Si ce n’est pas le 19 cas.. on fixe n à 10 Exemple 3 : En utilisant l’exemple 2 écrire une fonction qui calcule la somme T=1+2/(1+1/2)+3/(1+1/2+1/3)+…+n/(1+1/2+1/3+. EXEMPLES Exemple 1 : En utilisant la boucle while ou for.+1/n) on fixe n à 10 20 10 . donner le chemin qui mène au ficher que vous cherchez.+1/n.+1/n) on fixe n à 10 Exemple 2 : écrire une fonction qui calcule la somme s=1+1/2+1/3+1/4+….

La vitesse moyenne mensuelle Tracer les fréquences des vitesses et la distribution de Weibull sur la même figure Tracer la rose de vent Tracer le profil de vitesse (hauteur en fonction des vitesse du vent) 21 11 . 15° et 20° pour le 1er janvier sur Dakar 4.03/05/2013 VII. Écrire un programme permettant de Calcules les heures du lever et du coucher du Soleil (site de Dakar) 2. En utilisant les données du vent mesuré sur le site de Potou (mois d’Avril 2003). Écrire un programme permettant de calculer et de tracer la courbe du rayonnement solaire le rayonnement solaire global sur un plan horizontal pour le 1er janvier 3. écrire un script permettant de calculer La vitesse moyenne horaire Les moyennes journalière de la vitesse moyenne du vent. Écrire un programme permettant de Calculer et de tracer le rayonnement solaire globale pour les inclinaison 10°. Travaux pratiques 1.