Matlab (Matrix Laboratory)

Slides:



Advertisements
Présentations similaires
Eléments d'algèbre linéaire
Advertisements

Les matrices.
III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES
Algorithmique Résume.
C1 Bio-statistiques F. KOHLER
ALGORITHMIQUE STAGE LA REUNION Isabelle ABOU.
Calcul numérique (avec Maple)
Calcul numérique (avec Maple)
Programmation sous Matlab
MATLAB Initiation à Matlab.
Initiation à la programmation et algorithmique cours 3
Section VI Structures répétitives (suite)
PROGRAMMATION SCIENTIFIQUE EN C
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
INTRODUCTION A MATLAB ENVIRONNEMENT MATLAB.
Les bases de l’Algorithmique
Calcul et programmation au lycée avec Scilab
4. Energie dinteraction, application à la reconnaissance de forme (texte, parole, radar …) Energie dun signal, analogie avec lélectrocinétique Par analogie.
Rappel... Sous-espaces de Rn: Définition;
Suites de matrices Quelques usages récurrents
Mise en situation... m g l = 1 m l2 = 1 Positions: Vitesses:
ASI 3 Méthodes numériques pour l’ingénieur
Bibliothèque standard du C++
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Concepts avancés en mathématiques et informatique appliquées
SSII : séance finale , lundi 9/01/2012 Page 1 Voici quelques questions pour assimiler la seconde partie du cours S.S.I.I., spectre, filtrage, banc.
Outils de Programmation
O UTILS DE P ROGRAMMATION Mr. BENDIB. I MAA, LAMIS Laboratory, Université de Tébessa.
Systèmes d’équations linéaires
Examen partiel #2 Mercredi le 15 novembre de 13h30 à 15h20
Outils de Programmation
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
Transformée de Fourier discrète et transformée de Fourier rapide
Les structure d’un programme :
FICHIERS : Définition : Algorithme général:
Rappel... Formes échelon et échelon réduit Pivots Span
Algèbre linéaire (GCI –100)
6.1 LE LANGAGE MATRICIEL Cours 16. Aujourdhui, nous allons voir La définition dune matrice Plusieurs définitions de matrice particulière La somme de matrices.
SUJETS SPÉCIAUX EN INFORMATIQUE I
Initiation à la programmation en Python
Messages Pas de dépannage mardi le 26 à 11h30. Achat de groupe de Matlab version étudiante?
Rappel... Matrices bloc. Décomposition des matrices:
La décomposition en valeurs singulières: un outil fort utile
MatLab: Notions de Programmation Applications en Finance
PHP & My SQL.
ELECTRICITE Hervé BOEGLEN IUT de Colmar Département R&T 2007.
ASI 3 Méthodes numériques pour l’ingénieur
- énergie bornée (tend vers 0 lorsque
Approche naïve de la résolution.
Energie d’un signal, énergie d’interaction, analogie avec l’électrocinétique
Digitaliser des images
Un survol du language C.
 Syntaxe du langage PHP
Résolution d’un problème de diffusion 3D
Les types composés Les enregistrements.
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Enchaînement d’opérations
Initiation à l’Algorithmique
Afin d’exécuter le programme EXCEL faire 2 clics gauche sur l’icône
Scripts et fonctions Instructions de contrôle
Initialisation au logiciel (Statistical Analysis System)
Enchaînement d’opérations
Pierre Joli Cours de Mathématique Pierre Joli
A.Aarabi ´. ´ Objectifs Faciliter la prise en main du logiciel MATLAB Présenter les fonctionnalités utiles au travail scientifique.
Algorithmes sur Open Office. 1. Ouvrir Visual Basic de Open Office.
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou.
O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Formation des enseignants Formation MATLAB. Formation des enseignants MATLAB® (pour MATrix LABoratory) est un logiciel scientifique de calcul numérique.
Transcription de la présentation:

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.

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

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

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

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.

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

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

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)

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

Concaténation de matrices : >> b = [a 10*a;-a [1 0 0;0 1 0;0 0 1]] b = 1 2 3 10 20 30 4 5 6 40 50 60 7 8 9 70 80 90 -1 -2 -3 1 0 0 -4 -5 -6 0 1 0 -7 -8 -9 0 0 1

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

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(:):

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

>> q = [spiral(3) [10;20;30]] 7 8 9 10 6 1 2 20 5 4 3 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

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

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.

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.

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.

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

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

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;

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.

Quelques exemples de tracés…

Programme de tir balistique :

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

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.

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