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) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou.

Présentations similaires


Présentation au sujet: "Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou."— 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 ; 4 5 6 ; 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 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.

5 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.

6 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.

7 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).

8 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

9 Appel à fonctions 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; end inter=work; end fpextra=lagrange(fxp,xp,xpextra(i),n) 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 explicitées dans la fonction via des commentaires.

10 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.

11 Quelques exemples de tracés… Ouvrir les fichiers matlab_graphique1.m matlab_graphique2.m matlab_graphique3.m

12 Mise en pratique, un peu d’interpolation

13 Polynômes de Lagrange et théorème de l’unicité : Sur un support à n+1 points, il existe un seul polynôme de degré N passant par tous les points du support: le polynôme de Lagrange. Calcul:- résolution du système linéaire suivant: - formule de Lagrange: 13 Un support d’interpolation est un ensemble de valeurs f p d’une fonction f définies aux points particuliers x=x p. function [inter] =lagrange(fxp,xp,x,n)

14 L’écriture polynomiale d’un polynôme de degré N est unique à partir de la connaissance de ses valeurs en N+1 points distincts. Si la fonction à interpoler est un polynôme de degré N, l’erreur d’approximation est nulle mathématiquement, a priori très faible numériquement. Voyons ce qui se passe pour une fonction non polynômiale définie sur le support d’interpolation régulier de Calculer l’interpolation de f sur tous les points d’un maillage dix fois plus raffiné. Comparer les valeurs de l’interpolé à la valeur exacte de f, pour différentes valeurs de N (tracer l’erreur sur les points x’).

15 - Changer de fonction f, et essayer avec - Revenir à l’ancienne fonction f, mais changer le support d’interpolation,

16 … c’est supposé être stupéfiant. … le résultat est obtenu à précision spectrale Nous reviendrons sur ce comportement par la suite.


Télécharger ppt "Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou."

Présentations similaires


Annonces Google