Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Intervenants:
Laurent David Sarah Delcourte Florence Denis Xavier Escriva Patrice Linel Sverine Millet Fabienne Oudin-Dardun Jean-Pierre Puaux
Prise en main de lenvironnement Apprentissage du langage Matlab Mise en uvre rapide de mthodes numriques dans un
environnement informatique possdant un grand nombre doutils intgrs (graphique par exemple)
non exhaustif sur le langage Matlab approche pragmatique
Fiche synoptique n1
Gnralits
MATLAB: contraction de MATRIX LABORATORY Premire version cre en 1970 par Cleve Moler 500 000 utilisateurs rpartis dans l'industrie, les
administrations et les tablissements scolaires (utilis dans plus de 3500 universits) MATLAB est utilis dans de nombreux domaines dapplication:
traitement du signal, traitement d' images, conception de systmes de contrle, sciences de la terre et de la vie, Instrumentation, finances, l'conomie
Quelques fonctionnalits
Du calcul numrique pour des rsultats rapides Des graphiques pour visualiser et analyser les donnes
Un
(incluant diteur de texte, dbogueur/optimiseur, gestionnaire de mmoire, explorateur de fichier, documentation) Des outils pour concevoir des interfaces utilisateur graphiques (GUI) personnalises Des interfaces avec des langages de programmation externes comme C, C++, Fortran et Java La prise en charge de l'importation de donnes partir de fichiers et de priphriques externes et l'utilisation d'E/S fichiers de bas niveau (plus l'accs d'autres bases de donnes et d'autres matriels grce des produits complmentaires) La conversion d'applications MATLAB en C et C++ avec la suite Compiler Suite
5
Applications
Calcul Scientifique
MATLAB et les boites outils (toolboxes) de calcul numrique (FEMLAB) , mathmatiques appliques, analyse, visualisation, et dveloppement d'algorithmes
Simulink, MATLAB et des outils de modlisation pour la conception de systme de contrle, des produits couvrant l'analyse d'algorithme, la modlisation, la simulation et la gnration de code pour les systmes embarqus. Simulink, MATLAB et des outils de conception systme pour le traitement du signal (DSP) et les communications qui couvrent le dveloppement d'algorithmes, la simulation, le prototypage rapide et le test
Automatique
Signal et Communications
Tests et Mesure
outils MATLAB pour communiquer et changer des donnes avec du matriel externe.
outils MATLAB pour le traitement d'image, de l'import des donnes l'analyse, la restauration d'image et au dveloppement d'application.
Traitement dimage
Biologie
Finance
Lenvironnement MATLAB
Menu Barre doutils Workspace
Help
Command Window
Lenvironnement MATLAB
Menu Barre doutils Launch pad Workspace
Current directory
Command Window
Le rsultat est affich et stock dans une variable ans qui apparat dans la fentre workspace
4/7 ans = 0.5714 format long ans ans = 0.57142857142857 format short ans*3 ans = 1.7143
9
ans
10
lments de langage
Donnes
4 types de base
Rels
Reprsents par des nombres flottants ; Pas de diffrence entre entier, entiers longs , rels, rels longs Notation dcimale (+1234.5678, -1234.5678) ou scientifique ( 1234e 5678)
Exemple : >> 4/7 La fentre workspace indique : >> format short e >> ans ans = 5.7143e-001 >> format long e >> ans ans = 5.714285714285714e-001
11
lments de langage
Complexes (complex)
Constante dsignant limaginaire i (i2 =-1) : i ou j (Attention aux noms des indices de boucles) ; Ecriture : 3+2i , 3+i*2 , 4*exp(5i) , 4*exp(j*5)
Exemple
>> 3+i
Caractres (char)
>> 'a'
Logiques (logical)
0 pour FAUX / 1 pour VRAI ; >> 1>2
12
lments de langage
Attention !
le nom des constantes nest pas rserv
Exemple
>> format long e >> realmax ans = 1.797693134862316e+308
13
lments de langage
complexes
15
lments de langage
Fonctions mathmatiques
log, log10, exp, sqrt, abs, sign, cos, cosd, sin, sind, acos, cosh, acosh,
Fonctions d arrondi
round : arrondi lentier le plus proche floor : arrondi par dfaut ceil : arrondi par excs fix : arrondi par dfaut (resp. excs) pour un rel positif (resp. ngatif)
16
Quelques outils
17
Quelques outils
18
Nom :
chaine de 63 caractres au maximum pouvant contenir des lettres non accentues, des chiffres et des caractres de soulignement ( les caractres spciaux : + - * / , & | ~ $ % . ; , espace, etc. sont interdits) dbute par une lettre diffrence entre Majuscules et minuscules : b et B ne dsignent pas la mme variable
Pas de noms de variables rservs prudence ! PAS de dclaration de type ou de taille des variables utilises : le type (rel, complexes, caractre, logique) est tabli automatiquement partir des valeurs affectes la variable
19
lments de langage
Affectation :
Variable = valeur
Exemple >> clear; >> a=5.1;b=1+i;car= 'y';
Remarque
Les constantes Matlab sont modifiables (pas de noms rservs) prudence !
>> pi ans = 3.1416 >> pi=12 pi = 12 >> pi pi = 12
20
lments de langage
Espace mmoire
Workspace
Nouvelle variable
Sauver
Ouvri r
Imprimer
>> whos
lments de langage
>> clear a >> clear >> >> Ou >> Ou >> a=5.1;b=1+i;car= 'y'; save mes_variables fichier mes_variables.mat save (mes_variables) save ('mes_variables','a','b')
22
Elments de langage
Vecteurs et matrices
En ralit, Matlab manipule des matrices : un scalaire est une matrice de dimension 1x1 Exemple :
>> a=5 >> whos Name a
Size 1x1
ou
23
lments de langage
Vecteur
Matrice ne contenant quune ligne ou quune colonne
1.5000
2.0000
2.5000
3.0000
2.0000
2.5000
3.0000
24
Elments de langage
Extraction de sous-matrices :
A(i,j) : lment de la ime ligne et de la jme colonne de A Le premier lment de la matrice est A(1,1), le dernier A(end,end) Entre parenthses : indices ou vecteurs dindices de ligne et de colonne A(:,j) : jime colonne de A
Extraction de sous-vecteurs
v(k) : kme lment du vecteur v
25
lments de langage
Oprateurs
Oprations matricielles : + , - , * , / , ^, ', \ ( division gauche (x=a\b est la solution de ax=b)
28 16
16 4
Oprateurs relationnels : == , ~= , < , > , <= , >= Oprateurs logiques : & , | , ~ , xor
26
lments de langage
Fonctions oprant sur des matrices (help matfun )
inv : inverse de la matrice det : dterminant de la matrice rank : rang de la matrice norm : norme euclidienne de la matrice eig : valeurs propres et vecteurs propres de la matrice size : taille de la matrice A poly : polynme caractristique d une matrice trace : trace expm : exponentielle de matrice any : 1 si au moins un des lments de la matrice est non nul, et 0 sinon all : 1 si tous les lments de la matice sont non nuls, et 0 sinon
27
lments de langage
Fonctions oprant sur des vecteurs
length : taille du vecteur cross : produit vectoriel dot : produit scalaire sum , prod , max , min , mean : somme, produit, maximum, minimum et moyenne des lments sort : tri par ordre croissant find : recherche dlments any : 1 si au moins un des lments du vecteur est non nul, et 0 sinon all : 1 si tous les lments du vecteur sont non nuls, et 0 sinon
28
lments de langage
Cration de matrices particulires
eye(n) : matrice identit de taille n Voir aussi eye(n,m) ones(n,m) : matrice de taille (n,m), de composantes 1 zeros(n,m) : matrice de taille (n,m), de composantes 0 rand(n,m) : matrice de taille (n,m), de composantes alatoires (entre 0 et 1) diag(v) : matrice diagonale, de diagonale gale au vecteur v Voir aussi diag(v,n)
29
Exercices
a. Crer les vecteurs suivants :
V1=[2.0 -1.0 4.0], V2=[1.0 2.0 3.0 4.0], V3=[1.0 2.0 3.0 4.0]T . le vecteur V4 de dimension 10 qui contient aux indices p pairs, le carr du p-ime entier ; aux indices p impairs, le cube du p-ime entier.
b. Crer la matrice :
2 3
1 4
0 3
En extraire la 1re ligne, puis la seconde colonne. En extraire le bloc carr (Aij)ij, pour i, j=1,2. c. Crer la matrice identit de dimension 4 ; Crer la matrice nulle de dimension 5x2.
30
M3
M4
2 1 0 0
1 2 1 0
0 1 2 1
0 0 ; 1 2
Calculer son dterminant, sa trace et son inverse Calculer son polynme caractristique, et ses valeurs propres (de 2 manires diffrentes)
31
f.
0 2 3
1 0 ; 4
1 2 3 4 ; 6 7
1 0 0 0 0 1 0 0 ; 0 0 1 0
Construire une matrice random alatoire 10 lignes et 10 colonnes ; Extraire la matrice c forme des lments situs dans les lignes 3 8 aux colonnes 7, 1 et 3 de random ; Mettre zro les lignes impaires de random ; mettre 0.8 les lments suprieurs 0.7 restants.
33
Les polynmes
Un polynme de degr n, p(x) = anxn+ an-1xn-1++ a1x + a0 est dfini par le vecteur : p = [an,an-1,,a1,a0 ]
Fonctions utiles
polyval : valuation du polynme p en des points donns poly : calcul des coefficients du polynme partir de ses racines roots : racines dun polynme Voir aussi conv, deconv, polyint, polyder,
Interpolation polynomiale :
polyfit : calcule le polynme optimal au sens des moindres carrs pour approcher une srie de points
34
Exemples
f=[1 -6 10 0 -11 6] polyval(f,0) x=linspace(-1,3,100) y=polyval(f,x) % ici x est un vecteur plot(x,y) r=roots(f) hold on,plot(r,0,'or') ----------------------------------------x=[1:5]; y=[3.5 4 5 4 4]; a1=polyfit(x,y,4) a2=polyfit(x,y,3) figure x_int=1:0.02:5; plot(x,y,*,... x_int,polyval(a1,x_int),r,... x_int,polyval(a2,x_int),g)
35
Chanes de caractres
36
Exercices :
Crer les chanes de caractre correspondant aux mots Jean, - et Paul Crer une variable prenom , utilisant les variables prcdentes, et gale Jean-Paul ; Quelle est la taille de cette variable ? Extraire la coordonne 9, puis 3 de cette variable. Afficher tous les caractres de codes 32 126. Que signifie la suite de nombres renvoye par la commande abs('zorro') ? Compter le nombre d'occurences d'une lettre donne dans une chane ? Tester sur les chanes 'caracteres' et 'invitation'.
37