Sunteți pe pagina 1din 11

03/05/2013

Initiation Matlab

Dr. Boudy Ould Bilal/CIFRES/ESP-Dakar


1

Plan
I. Introduction
II. Type de donnes utilises en Matlab
III. Notion de bases
IV. lments des programmations
V. Les scripts et les fonctions
VI. Travaux pratiques
2

03/05/2013

I. Introduction
1. Importance de lutilisation de Matlab
Systme interactif de calcul numrique destin aux ingnieurs et
aux scientifiques
La possibilit de ralis rapidement des calculs sophistiqus et de
prsenter les rsultats sous forme numrique ou graphique

2. Lutilisation de Matlab dans le monde universitaire


Il est possible dcrire de scripts, des fonction comme dans dautre
langage.
Il est largement utilis dans le monde universitaire pour les
enseignements de lalgbre linaire, de traitement du signal, de
lautomatisme, ainsi dans la recherche scientifique avance
3

I. Introduction
Environnement de Mtalab
Ouverture dun
nouveau ficher .m

Ouverture de
linterface simulink

Rpertoire courant

Invit Matlab

03/05/2013

II. Type de donnes utilises en Matlab


Type des donnes utilises en Matlab : Matrices

Trois types de base de Matrice :


scalaire : 1,2, 3, .
vecteur : [2, 3, 4]
matrice dordre (n,m) : [1,2,3 ; 3,2,4 ; 5,6,3]

III. Notion de bases


1. Constantes et Variables spciaux
pi=3,14
Inf (infinit) : nombre infini
NaN (Not a number) : nest pas un nombre / Indtermination
Ans : variable contenant la dernire rponse
Exp: 1/0 : ans = inf, 0/0 : ans = NaN

2. Vecteurs
Saisir un vecteur exemple : [1,2,3 ] ou bien [3 3 5]
Saisir une Matrice dordre (n,m) exp : [1 2 3; 4 6 4; 3 5 70]
Pour viter laffichage de rsultats dune expression excut
on terminera celle-ci par un point virgule (;)
6

03/05/2013

III. Notion de bases


3. Oprateurs relationnels, logiques et arythmiques
Oprateurs relationnels ( de
comparaison)
Infrieure (<)
Infrieure ou gal (<=)
Suprieure ( >)
Suprieur ou gal ( >=)

Oprateurs arithmtiques
Laddition (+)
La soustraction (-)
La multiplication (*)
La division (/)
Elvation au une puissance (^)

Egal (==) ,
Diffrent (~=)
Oprateurs logiques
Et logique (&)
Ou logique (|)
Non logique (~)

III. Notion de bases


4. Commande oprants sur des vecteurs
help : fourni de laide sur lutilisation de la commande
who : renseigne sur les variables existante
whos : renseigne sur le nom, taille, nombre des bites et le type de
variable
size : donne le dimension dune matrice
length : donne la longueur dun vecteur
Soit A la matrice dordre nxm colonne
A(:,n1) : extraction de la colonne numro n1
A(n1,:) : extraction de la ligne numro n1
A(n1:n2,:) : extraction des lignes, de n1 n2
A(:,n1:n2) : extraction de la colonne allant ,de n1 n2
find : extraction des indices selon un critre
Exemple : soit A=[2;3;5;10;2]
In=find (A>2) ;
Si on appelle la variable In nous auront , In=[2 3 4] qui correspondent aux indice des
8
nombres 3, 5 et 10. Ces valeurs sont strictement suprieures 2.

03/05/2013

III. Notion de bases


5. Commande oprants sur des vecteurs
mean : moyenne des composantes dun vecteur
min
: composante minimale dun vecteur
max
: composante maximale dun vecteur
sum
: somme des composantes dun vecteur
prod
: produit des composantes dun vecteurs
std
: lcart type des composantes dun vecteur
Input ( valeur de la variable)
: permet dintroduire les valeurs
dune variable
clc
: permet deffacer lditeur de commande
clear : effacer toutes les donns en mmoire

III. Notion de bases


6. Tracer des courbes
plot(x,y) : permet de tracer y en fonction de x
subplot: (nbre de ligne, nbre de colonne, n de la position de la
figure) , permet de tracer plusieurs figure sur la mme fentre
hold on : permet de tracer deux courbes sur la mme figure
figure: permet douvrir une nouvelle fentre
Lgender une figure
title( titre) : permet dinsrer un titre
xlabel(legend) : permet de lgender laxe des abscisses
ylabel(legend)) : permet de lgender laxe des ordonnes
gtext(text) : permet dinsrer un texte
grid : permet dajouter un quadrillage
axis([ xmin xmax ymin ymax]) : permet la mise lchelle des axes

10

03/05/2013

III. Notion de bases


8. Fermeture dune fentre figure
close : permet de fermer une figures
close all : permet de Fermer toutes les fentres figures
Tracer plusieurs figure sur la mme fentre:

11

III. Notion de bases


9. Fonction oprants sur des vecteurs
Dtermination de la rose de vent
[a, b] = rose (D, n); : renvoie au vecteur dangle et de nombre dchantillons
D: vecteur direction en radiant (rd),
n: nombre de secteur souhait (12 secteur par exemple)
polar (a, f) : donne la rose (frquence en fonction des secteurs de directions)
f (%) est la frquence dfini par :
f = b./sum(b)*100; (%)
view (orientation, lvation) : nous permet de trouver une bonne orientation de la
rose de vent (Sens anti-trigonomtrique)
Pour avoir une bonne position du rose de vent :
Orientation = 90
Elvation = -90
12

03/05/2013

Dtermination de la distribution relle et thorique de Weibull


Soit x un vecteur de vitesse de vent dfini par x:0.25:0.5:15
Et V la vitesse du vent.
a=hist (V,x); : renvoie au nombre dchantillon de V
correspondant aux intervalles de x
La frquence correspondant lintervalle de x est:
f1=a./sum(a)*100 ; en (%)
La figure des histogrammes de frquence doccurrence de la
vitesse du vent est obtenu en appliquant linstruction suivante:
bar (x, f1)
La figure obtenue reprsente la distribution relle du vent quon
peut comparer la distribution thorique de Weibull
13

Distribution des Weibull


Param = wblfit (V) : renvoie au vecteur contenant les
paramtres de Weibull (c et k)
y = wblpdf (x, c, k) : calcule la densit de probabilit de
Weibull correspondante chacune des valeurs de x
On calcul ensuite la frquence correspondant la valeur de la
densit de probabilit de Weibull par:
f2= y./sum(y)*100; (%)
Ont trace la courbe de distribution de Weibull sur la mme
figure que la distribution relle du vent en appliquant dans un
premier temps hold on qui permet de tracer les deux courbes
sur la mme figure, puis on utilise plot comme suivant:
plot (x,f2,r), la courbe sera donne en couleur rouge
14

03/05/2013

VI. lments de programmations (Instruction de contrle)


1. if (condition)
Exemple :

instruction1

crire un programme avec lutilisation de if qui permet de


faire le calcul suivant

.
Instruction n

F=2*x+5, si n=1

elseif (autre condition)

F=3*x-8, si n=2

Autre instruction

F=4x+10, si n=3

else

F=0 pour les autres valeurs

Instruction n

Introduire une valeur pour la variable x

end
2. for k=debut:pas:fin
Exemple :

Instruction 1
Instruction 2

crire un programme avec lutilisation de for


permettant de calculer
La somme suivante
S=1+1/2+1/3++1/n, on fixe n=10

.
Instrction n
end

15

VI. lments de programmations


3. while (condition vrai)
Instruction 1
Instruction 2
.
Instruction n

Exemple :
crire un programme avec lutilisation de la boucle
while permettant de calculer
La somme suivante
S=1+1/2+1/3++1/n, on fixe n=10

end
4. switch variable de slection
Case valeur 1
Instruction

crire un programme avec lutilisation de switch qui


permet de faire le calcul suivant

Case {valeur1, valeur2, valeur3}

F=2*x+5, si n=1

Autre instruction

F=3*x-8,

Case valeur n

F=4x+10, si n=3

instruction
otherwise
Instruction par dfaut

end

Exemple

si n=2

F=0 pour les autres valeurs


Introduire une valeur pour la variable x
16

03/05/2013

V. Les scripts et les fonctions


Script files
Un script file est une suite des commandes Matlab.
Les noms des script files doivent avoir lextension
.m.
Pour excuter un script file taper son nom, sans
lextension, dans le prompt Matlab (invit Matlab).
Exemple : crer un script files pour tracer la courbe
des fonctions suivantes:
a= x, b = 1/x o x=1:0.1:100
17

2. une fonction
Une fonction Matlab est une suite de commandes
qui ncessite un/des arguments dentre pour tre
excute
Elle renvoie une/des sortie(s). La dclaration des
fonctions en Matlab suit les rgles suivantes
Une fonction est contenue dans un fichier .m qui a le mme nom
que la fonction.
Le fichier qui dfinit une fonction doit commencer par
Function

[R1,R2,..]

nomfonc (E1,E2,E3, )

Mot cl Arguments de sortie nom de la fonction arguments dentr


18

03/05/2013

Fonction : save et laod


save : permet denregistre le ficher obtenu partir
des calculs effectus
syntaxe :
Save

nom_du_nouveau_ficher .txt nom_du_ficher_origine -ascii

NB :
le ficher nouveau _du_ficher.txt aura comme variable nom_du _ficher_origine

load : permet de tlcharger le ficher des donnes


syntaxe :
load

nom_du_nouveau_ficher .txt -ascii

NB:
Sassurez que vous tes dans le rpertoire appropri. Si ce nest pas le
19
cas, donner le chemin qui mne au ficher que vous cherchez.

EXEMPLES
Exemple 1 : En utilisant la boucle while ou for, 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+..+1/n) on
fixe n 10
Exemple 2 : crire une fonction qui calcule la somme
s=1+1/2+1/3+1/4+.+1/n, on fixe n 10
Exemple 3 : En utilisant lexemple 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+..+1/n) on
fixe n 10

20

10

03/05/2013

VII. Travaux pratiques


1. crire un programme permettant de Calcules les heures du lever et du coucher
du Soleil (site de Dakar)
2. 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 programme permettant de Calculer et de tracer le rayonnement solaire
globale pour les inclinaison 10, 15 et 20 pour le 1er janvier sur Dakar
4. En utilisant les donnes du vent mesur sur le site de Potou (mois dAvril 2003),
crire un script permettant de calculer
La vitesse moyenne horaire
Les moyennes journalire de la vitesse moyenne du vent,
La vitesse moyenne mensuelle
Tracer les frquences des vitesses et la distribution de Weibull sur la mme figure
Tracer la rose de vent
Tracer le profil de vitesse (hauteur en fonction des vitesse du vent)
21

11

S-ar putea să vă placă și