Qu’est
ce que c’est Matlab ?
MATLAB (« matrix laboratory »)
est un environnement de développement (Couramment appelé EDI) et langage de
programmation simplifié. Il est utilisé dans le calcul numérique. Développé par
la société The MathWorks, MATLAB permet la manipulation de matrice,
afficher des courbes et des données, mettre en œuvre des algorithmes, créer des
interfaces utilisateurs, et peut s’adapter avec d’autres langages comme le C,
C++, Java, et Fortran. ça c'est la définition de Wikipédia. Le plus important c'est ce qui suit.
MATLAB est
utilisé sous Windows, et dans d’autres Systèmes d’exploitations tel que Linux ou Mac Os on peut le remplacer par
SCILAB ou Octave qui sont gratuits et Open Source (de code source connu).
résentation de L’interface MATLAB :
1 : Barres de d’outils et de menus, ils
contiennent les Options d’affichage, paramétrage et configurations d’aide.
Ainsi que des Prises en main et de l’aide.
2 :
Work space Espace
de variables : Il affiche touts les variables utilisées qui sont en
mémoire quelque soit leurs type. Toute
variable figurante dans cette espace peut etre utilisé dans le calcule.
3 : Fenêtre de Commandes : Espace
qui permet d’utiliser matlab en mode commandes et c’est une partie principale
qui nous permet d’exploiter des fonctions prédéfinis ou d’autres fonctions
rédigées en M-File.
4 : Historique de commandes : Un endroit qui affiche
l’historique de touts les événements qui se déroulent dans le logiciel tel que
les commandes, calcules, et opérations systèmes.
- Réellement MATLAB
Contient trop d’espaces et fenêtres qui aident l’utilisateur ou le programmeur
dans son travaille dont on site :
Explorateur
de dossier : Espace qui affiche par défaut l’emplacement de fichiers
MATLAB d’extension (.M) en mode un explorateur Windows, il permet aussi de se
déplacer dans les dossiers.
Fenêtre de
Graphisme : Elle affiche touts les résultats graphiques demandés par la
fenêtre de commandes telle que les graphes, les simulations …etc.
- Il faut
noter qu’on peut intégrer toutes les fenêtres qu’on désire dans la fenêtre
principale de l’environnement MATLAB ou on peut dissocier n’importe quel espace
de l’environnement. Mais une ergonomie bien aérée donne plus l’envie de
travailler et facilite notre tâche lors de la programmation.
- L’espace de
rédaction de scriptes est très important car il nous fait gagner énormément de
temps car on peut programmer des fonctions personnalisées et les utiliser d’une
façon générale de la fenêtre de commandes on appelant la fonction par
l’intitulé du fichier enregistré.
Fonctions
usuelles et méthodes de calcules :
Avant de
commencer, On peut distinguer 4 ou 5 types de commandes selon leurs rôles et
domaine d’utilisation :
1) Commandes
système :
C’est les
commandes utilisées pour la gestion de fichiers, dossiers, manipulations
d’objets, exploitation d’interfaces externes on site :
ls : commandes d’origine Linux
mais peut être utilisée pour l’affichage de contenue de dossiers ainsi que les
attribues et les propriétés de fichiers elle est semblable à la commande dir
qui peut être aussi utilisée sous matlab.
cd, mkdir,
rm :
Changement, Création, suppression de dossiers (respectivement citées) elle sont
des commandes systèmes propres à MS-DOS et Bash Linux/Unix.
cp : copiage de dossiers et fichiers.
mv : Déplacement de fichiers mais elle
peut être utilisée pour renommer.
clc , Home : vider la fenêtre de commandes
clear : vider le contenue du
Workspace (toutes les variables).
help :
l’aide.
Syntaxe : help commande exemple help clc affiche l’aide sur
la commande clc.
who : affiche les variables
courantes.
what : listing de noms des M_files (scriptes MATLAB) présents.
save,load : Sauvegarde et restauration du
workspace dans/depuis notre disque dur elle peut etre utile pour ceux qui
évitent les scriptes.
2) Commandes,
méthodes et syntaxes de calcules :
Avant de
commencer on se permet de faire un petit passage sur la syntaxe de base. C’est simple toute variable sous MATLAB
est une matrice. Il suffit juste de mettre variable = valeur
exemple : a=3 ou x=1.25601 et on peut remarquer les nouvelles
variables dans le workspace. Une variable peut prendre le résultat d’une
opération arithmétique exemple : x=3/2 . x prend 1.5
Les
opérations peuvent être exécuter sans affectation de résultat à des
variables,par exemple 1/2 affiche 0.5 ou 3*11 affiche 33.à cette occasion on
cite quelques types d’opérations :
+ : addition. - :
soustraction. * : multiplication. ^ : Puissance.
/ : Division à droite (exemple 3/2
= 1.5). \ : division à gauche (ex : 2\5 = 2.5)
Remarque :
pour les matrices les opérations sont exécutées élément par élément en
utilisant el point avant l’opération exemple :
a=[2 3 5
-1 0] … si on fait a.*2
on aura [4 6 10 -2 0]. Même chose pour / et \
Opérations
logique : syntaxes permettant de vérifier une opération
logique tel que la supériorité, l’égalité. Ou d’afficher des résultats d’opérations
logiques :
<,>,<=,>=,== :!= :inférieur, supérieur,
inférieur ou égal, supérieur ou égal, égale, différent.
&,|,xor,
~ :et , ou , ou
exclusive, non de négation (successivement).
Valeurs
& Variables prédéfinis : pi :π , i
et j :Opérateur complexe (Racine de -1)
inf : l’infinie. . ans :
affiche la dernière variable utilisée.
gcd :PGCD. lcm : PPCM. round :
l’arrondie . sqrt : racine carrée .
real :partie réelle. imag :partie
imaginaire d’un nombre complexe.
rem : reste de la division. exp :
l’exponentiel .inv : inversion.
Les fonctions
triangulaires prennent leurs noms réels et pas besoin de les expliquer :
sin, asin,
sinh, asinh, cos, acos, cosh, acosh, tan, atan, tanh, atanh, cot, acot, coth,
acoth : Ceux
qui sont suivis par un h sont les fonction hyperbolique.
sec, asec,
sech, asech :
1./cos(z), acos(1./z), 1./cosh(z), acosh(1./z)
csc, acsc,
csch, acsch :
1./sin(z), asin(1./z), 1./sinh(z), asinh(1./z)
fft :
Transformée deFourrier rapide.
Remarquez
qu’on à utiliser la division élément par élément avec l’opérateur ./
3) Opérations
sur les matrices :
Il y’a
plusieurs manières pour définir une matrice. La plus simple c’est de remplir
élément par élément. Par exemple : m=[1 3 0 ; -1 3 4 ; -1 -1 9]
donne la matrice suivante :
1
3 0
m= -1 3 4
-1
-1 9
On peut
affecter aussi des variables pour remplir une matrice (ou un vecteur).
Exemple : v=[a b a a c] ce
vecteur vaut les variables a b a a c
successivement.
On peut
remplir les lignes ou les colonnes d’une façon automatique par une seule
affectation par exemple u=-1:1:0.1 donne le vecteur u contenant les
valeurs -1 -0.9
-0.7 -0.6 -0.5
-0.4 -0.3 -0.2
-0.1 0 0.1
Si on veut
changer une valeur dans une matrice ou vecteur il fait spécifier ces
coordonnées (ligne et colonne). Exemple avec la matrice m : m(2,3)=1 remplace l’intersection de la 2ème
ligne avec la 3ème colonne (qui est 4) par 1.
La matrice m
devient :
1
3 0
m= -1 3 1
-1
-1 9
Si on
n’affecte pas la valeur un on obtiendra un affichage de l’élément 4.
Si on veut
affecter une valeur à une ligne on utilise la syntaxe suivante :
m(ligne, :)=valeur par exemple m(2, :)=7 remplace touts les éléments de la 2ème
ligne par des 7 . Dans ce cas m devient :
1
3 0
m= 7 7 7
-1
-1 9
La même chose
pour les colonnes on utilise la syntaxe m( : ,colonne)=valeur
-
On peut remplir une matrice d’une manière itérative
grâce aux boucles. Dans les lignes qui suivent on va fournir plus de détaille.
Maintenant il
est temps pour qu’on cite les fonctions les plus utilisées sur le calcule
matriciel.
! La
multiplication et la division se fait sur des matrices de même dimensions.
sum : somme des éléments d’une matrice. prod :Le
produits des éléments.
diag : des 0 partout sauf en diagonale et
sa se fait uniquement sur les matrices carrées. linspace : Vecteur
linéairement espacé. logspace : vecteur logarithmiquement espacé.
rot90 : rotation matricielle de 90°.
min,
max : Le
minimum/maximum d’une matrice ou vecteur.
rand : Matrice d’éléments tirés au hasard. det :
déterminant d’une matrice.
median :
Valeur médiane. mean :
Valeur Moyenne. std :écart type.
sort : tri des éléments en ordre croissant.
length,size : Taille de la matrice.
u’ : affiche la transposée de la matrice
u ou vecteur u.
4) Traitement
itératif et conditionnel :
Une partie
qui est importante pour les programmeurs et utilisateurs MATLAB c’est le
traitement itératif (boucles).
Boucle for :
Sans
introduction on site la boucle for connu par sa syntaxe qui nécessite des
bornes bien définis :
for i =
debut :fin
% Corp de la boucle pouvant utiliser la
variable i
end
exemple :
for i=1 :1500
disp (i)
v(i)=2*i ;
end
Cette boucle affiche
les entiers de 1 à 1500 et remplie un vecteur de 1499 élément contenant les multiples
de 2 en commençant par 2 jusqu'à 3000.
Veuillez
noter que si on met le ; on masque l’affichage et l’opération s’effectue
qu’on mémoire. Vous pouvez vérifier le déroulement dans le workspace.
Boucle while :
while condition
%
corp de boucle qui s’exécute tant que la condition est vérifiée
end
Exemple :
x=0 ;
while x<=15^99
x=x+1 ;
end
disp(x)
Ce petit scripte
calcule la somme des éléments de 0 à 1599 . WoooW C’est énorme on mais
possible. Surtout dans le calcule scientifique.
Les boucles peuvent
être utilisée en mode commande ou dans un scripte.
Conditions : syntaxte : if condition1
elseif condition2 else hors_conditions
5) Traitement
Graphique :
plot : traçage de graphes. Exemple plot
(f) trace une fonction f qui a été traitée au cours du programme. hold on :
permet de garder un graphe (le verrouiller)
Exemple :
plot (f,’r’) ; hold on ; plot (g,’b’) ;
On affiche f
en rouge et g en bleu dans le même repère.
subplot : affiche une matrice de graphes dans
la même fenêtre.
bar :
Histogramme en
bâtons. hist : Histogramme . title : Titre d’un graphe.
Xlabel,ylabel : légende des axes d’abscisses &
ordonnées.
grid :
Grille. mesh :
Surface maillée . plot3 : graphe en 3D. sphere : Génération
de sphère. cylinder : génération de cylindre. meshgrid :
Maillage 3D.
Dans tout ce
travail il faut utiliser les commandes en minuscule.
- Esperons que cet article rédigé par FENEC vous aidera dans vos études ou votre vie professionnel.
Si vous avez des question n'hésitez pas de la poser dans notre page facebook:
www.facebook.com/fenec.page ou envoyez nous un e-mail signé au fenecteam@gmail.com
0 commentaires:
Enregistrer un commentaire