La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Matlab (Matrix Laboratory)

Présentations similaires


Présentation au sujet: "Matlab (Matrix Laboratory)"— Transcription de la présentation:

1 Matlab (Matrix Laboratory)
Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou la résolution de systèmes linéaires. Environnement pour la programmation et la recherche de « bugs », facilité d’observation des résultats. … Quelques commandes de bases, pour plus complexe, voir l’aide du logiciel.

2 manipulation de vecteurs et de matrices
A = [1 2 3 ; ; 7 8 9] correspond à: 1 2 3 4 5 6 7 8 9 Si une commande se termine par un ;  le résultat n'est pas affiché dans le fenêtre de commande. x=d:i:f : vecteur ligne x contenant les nombres allant de d à f par incrément de i. A(1:5,7:10) : sous-matrice 5x4 contenant les éléments des cinq premières lignes et de quatre colonnes de la matrice A(m≥ 5,n≥10). zeros(m,n), eye(m,n), rand(m,n): matrice zéro, matrice identité et matrice contenant des éléments aléatoires. size(A), length(A): dimension de la matrice A

3 Commandes de contrôle clear vidange de la mémoire
save sauvegarde les données en mémoire dans le fichier matlab.mat load recharge les données sauvegardées dans matlab.mat en mémoire

4 Pour apprendre ce que je n’évoquerai pas…
en naviguant dans les menus … aide helpwin -> fenêtre d’aide Dans la fenêtre : - guide de l’utilisateur - index des commandes - recherche de commandes - programmes de démonstration

5 Opérations de base sur des réels
+,-,*,/ cos, exp, log, log10, … test de l’interface : 2*2 donne la réponse 4 à l’écran a=2*2 assigne la réponse 4 à a… et l’écrit a=2*2; fait la même chose sans rien écrire en réponse.

6 who : liste les variables ayant été créées
whos : aussi en donnant plus de détails La liste des variables est accessible dans la fenêtre workspace Suppression des variables créées : clear

7 Création d’un vecteur colonne :
x=1:5 y=0:2:10 z=0:0,1:2*pi Création d’un vecteur ligne : x=linspace(0,1,10) … de 0 à 1 avec 10 points équirépartis

8 Tracé d’une fonction : x = 0:.1:2*pi; y = sin(x); plot(x,y) vecteur des abscisses vecteur des ordonnées Tracé de la fonction y=f(x)

9 Création de matrice : a = [1 2 3;4 5 6;7 8 9] matlab répond par a = 1 2 3 4 5 6 7 8 9 Contenu dans des crochets [ ] Le ; passe à la ligne

10 Concaténation de matrices :
>> b = [a 10*a;-a [1 0 0;0 1 0;0 0 1]] b =

11 zeros : matrice remplie de zéros
ones : matrice remplie de 1 rand : matrice aléatoire entre 0 et 1 randn : matrice aléatoire en distribution normale eye : matrice identité Ecriture : z= zeros (nlignes, ncolonnes) u = rand(1,5) n = randn(5,5) u(3) : troisième élément de u u([1 2 3]) , u(1:3) i=1:3, u(i) trois premiers éléments de u

12 Même opération pour les matrices :
1 2 3 4 5 6 7 8 9 >> a(3,2) ans = 8 >> a(2:3,3) 6 9 >> a(2,:) >> a(:,3) ans = 3 6 9 Tester a(4) : Matlab compte les indices par colonnes successives. Tester a(:):

13 Indice « end » >> q = 4:10 q = >> q(end) ans = 10 >> q(end-4:end) >> q(end-2:end) 8 9 10 This

14 >> q = [spiral(3) [10;20;30]]
>> q(end,end) ans = 30 >> q(2,end-1:end) 2 20 >> q(end-2:end,end-1:end) 9 10 3 30 >> q(end-1,:) indice « end » pour les matrices

15 Détruire une ligne ou une colonne de matrice :
1 2 3 4 5 6 7 8 9 >> a(:,2) = [] 1 3 4 6 7 9

16 Opérations matricielles
A': matrice transposée de A +,-,*: addition, soustraction et multiplication de matrices A^n: A à la puissance n /,\: « division de matrices »: X=A\B est une solution de A*X=B X=B/A est une solution de X*A=B inv(A): inverse la matrice A det(A): déterminant de la matrice A trace (A): trace de la matrice A.

17 Opérations élément par élément
.+, .-, ./, .\, .*, .^: addition, soustraction, divisions, multiplication, exponentiation élément par élément Les autres fonctions (racine, exponentielle,..) sont appelées par les commandes utilisées dans la plupart des languages informatiques.

18 analyse de données max(A), min(A) : plus grand et plus petit élément de chaque colonne de la matrice A. sum(A), prod(A), std(A): somme, produit et déviation standard des éléments de chaque colonne de la matrice A.

19 fonctions matricielles
[L,U]=lu(A): factorisation de la matrice A en matrices triangulaires L et U. [U,S,V]=svd(A): trois facteurs de la décomposition en valeurs singulières: A=U*S*V', où les éléments diagonaux de S sont les valeurs singulières. rank(A), cond(A): rang et condition de la matrice A eig(A): vecteur colonne contenant les valeurs propres de la matrice A (possibilité d’obtenir les vecteurs propres par la même commande).

20 structures de contrôle
if condition... instructions ... end branchement for index=début:incrément:fin... instructions ... end boucle fwhile condition... instructions ... end boucle conditionnelle

21 Appel à fonctions Appel par le programme principal :
… de la fonction « lagrange » dont voici le script (fichier lagrange.m). - inter est la sortie de la fonction (plusieurs sorties possibles) fxp,xp,x,n sont des variables d’entrée fpextra=lagrange(fxp,xp,xpextra(i),n) function [inter] =lagrange(fxp,xp,x,n) work=0; for i=1:n+1 prod=1; for j=1:n+1 if (~(j==i)) prod=prod*(x-xp(j))/(xp(i)-xp(j)); end work=work+fxp(i)*prod; inter=work;

22 Affichages graphiques
plot: graphe x,y mesh: surface en trois dimension contour: graphe sous forme de carte à lignes de niveaux surf: tracé 3D d’un champ …..y’en a plein, voir la rubrique d’aide figure(2), figure(3) : création de nouvelles figures. hold on : permet de continuer à tracer ou écrire sur une figure sans l’effacer. close(2), close(3) : fermeture des figures.

23 Quelques exemples de tracés…

24 Programme de tir balistique :

25 - Tracer la trajectoire de la particule (X,Y)
- Tracer la trajectoire de la particule (X,Y). Placer X en abscisse et Y en ordonnée, et écrire « Trajectoire » en titre de la figure. - Tracer la norme de la vitesse en fonction du temps. Placer « t » en abscisse et « ||v|| » en ordonnée. - Effectuer les opérations d’habillage de la figure directement grâce à l’interface graphique de matlab, puis en les programmant dans le code source.

26 Diffusion stationnaire 1D
x 1 - Choisir une source S arbitraire - Ecrire le système d’équations comme un système linéaire AT=b, avec T le vecteur colonne solution et b le vecteur colonne second membre. - Programmer sous matlab les matrices A et le vecteur b. En déduire T et le tracer en fonction de x. - Calculer le spectre de la matrice A et le tracer.

27 Ligne 1 C.L. en x=0 i Ligne n C.L. en x=1 Ligne i Schéma


Télécharger ppt "Matlab (Matrix Laboratory)"

Présentations similaires


Annonces Google