MATLAB est un logiciel permettant de faire du " calcul scientifique ". Il est disponible sur station de travail, PC et Macintosh. A l'UMLV vous serez amenés à l'utiliser sur station de travail.
Connectez vous sur une station et lancez votre gestionnaire de fenêtre préféré. Créez dans votre 'home directory' un répertoire matlab (mkdir matlab). C'est dans ce répertoire que vous sauvegarderez vos fichiers matlab. Placez vous dans ce répertoire (cd matlab) et lancez matlab en tapant matlab. Je vous conseille de taper help et de faire un "petit" tour à l'intérieur de toutes les rubriques d'aide.
Dans matlab aucune déclaration préalable n'est nécessaire
à l'utilisation d'une variable. Matlab travaille principalement sur des vecteurs (au
sens large, un scalaire est un vecteur de dimension 0, une matrice est un vecteur
multidimensionnel).
Ainsi x=[0,1,2] crée un vecteur ligne x de dimension 3 contenant 0, 1 et 2.
Tout ordre matlab tapé produit un " écho " du résultat. Si l'on ne veut pas de cet écho, il suffit de rajouter un ; à la fin de l'ordre.
a=[1,0,0;0,1,0;0,0,1] crée une matrice 3x3 identité.
a=0:5 crée le vecteur [0,1,2,3,4,5].
a=0:0.2:1 crée le vecteur [0, 0.2, 0.4, 0.6, 0.8, 1]
Les opérations "+", "-", "* ", " / " et " ^ " (puissance) sont disponibles sur les vecteurs sous réserve de compatibilité des dimensions.
Les opérations " abs ", " .* ", " ./ " et " .^ " sont des opérations coordonnée par coordonnée (attention, .* n'est pas un produit scalaire). ' désigne la transposée.
y=sum(a) donne la somme des coordonnées du vecteur a. Si a est une matrice, sum(a) est un vecteur dont chaque coordonnée est la somme des colonnes de a. idem produit pour y=prod(a).
x=a\b est la solution du système linéaire ax=b.
n=length(a) donne la longueur du vecteur a.
a=ones(n,m) crée une matrice nxm contenant des 1 partout.
a=zeros(n,m) crée une matrice nxm contenant des 0 partout.
a=diag(v) crée une matrice length(v) x length(v) ayant le vecteur v sur sa diagonale (et zéro ailleurs).
a=diag(v,k) crée une matrice (length(v)+k) x (length(v)+k) ayant le vecteur v sur
sa k-ième diagonale au dessus (si k est positif, au dessous si k est négatif)
de la diagonale principale (et zéro ailleurs).
Par exemple créer la matrice tridiagonale de dimension n ayant 2 sur la diagonale,
1 sur les sur et sous diagonales il suffit de taper : a=2*diag(ones(n,1)) + diag(ones(n-1,1),1) +
diag(ones(n-1,1),-1).
On peut faire des boucles. Syntaxe :
for i=1:n
-----------
end
On peut naturellement imbriquer des boucles (autant de end que de for).
On peut faire des tests logiques. Les opérateurs logiques sont >, <, <=, >=, ==, ~=
(différent), ~ (non), & (et), | (ou). Syntaxe :
if condition
-------------
elseif condition
-------------
else
-------------
end
Matlab peut aussi faire des courbes. Si x et y sont 2 vecteurs de même taille, plot(x,y)
affiche la courbe " continue " ensemble des points de coordonnées (x,y) reliés
par des
segments de droites.
hold on conserve l'affichage, les ordres plot suivants se superposeront. hold off annule.
subplot(221) découpe la zone d'affichage en 4 et les courbes apparaissent
successivement dans les 4 cadrans. plot(111) retourne à l'affichage standard.
On peut fabriquer des fonctions. Une fonction doit être stockée dans un fichier
d'extension " .m " dans le répertoire matlab. Le nom de la fonction doit être le
même que le nom du fichier. Par exemple la fonction toto doit être stockée
dans le
fichier toto.m. La première ligne du fichier toto.m doit toujours être
:
function y=toto(x,z,t)
où x, z et t sont les arguments de toto, y est le
résultat renvoyé. On met dans le fichier toto.m tous les ordres
matlab que l'on veut (des appels à d'autres fonctions aussi). Pour utiliser cette
fonction toto dans matlab, il suffit de taper y=toto(x,z) (en n'oubliant pas d'initialiser x et
z). Si la fonction toto a plusieurs paramètres de sortie, la première ligne du
fichier doit être " function [y,q,w]=toto(s,f) ".
ATTENTION de ne pas donner à une fonction un nom déjà
utiliser dans matlab. Pour savoir si XYZ existe déjà dans MATLAB,
faîtes " help XYZ " et vous saurez
si le nom existe (idem
pour les noms de variables, eps est par exemple utilisé dans matlab et est donc
" interdit ").
A partir de ce petit mode d'emploi très élémentaire, il vous est conseillé de tester "grandeur nature" devant une machine tous les petits exemples et de "naviguer" dans le "help" de MATLAB.
BON COURAGE A TOUS