Date post: | 08-Feb-2018 |
Category: | Documents |
View: | 216 times |
Download: | 1 times |
Dr.ing. Ionu Mironic Conf.dr.ing. Bogdan Ionescu
TACAI - Tehnici de Analiz i Clasificare Automat a Informaiei
LAPI Laboratorul de
Analiza i Prelucrarea
Imaginilor
Universitatea
POLITEHNICA din
Bucureti
Facultatea de Electronic,
Telecomunicaii i
Tehnologia Informaiei
Note de laborator
03.05.2015 TACAI dr.ing. Ionu Mironic 2
Cuprins:
Introducere n Matlab
Clasificare de baze de date de imagini
Prezentare baze de date utilizate
Exerciii
Laborator 2
03.05.2015 TACAI dr.ing. Ionu Mironic 3
I. Introducere n Matlab
Cuprins
Laboratorul cuprinde o scurt introducere i nu un tutorial complet Matlab:
- detalii de baz;
- avantajele i dezavantajele utilizrii Matlab n funcie de alte limbaje.
03.05.2015 TACAI dr.ing. Ionu Mironic 4
I. Introducere n Matlab
Introducere Matlab
MATLAB (MATrix LABoratory);
Reprezint un limbaj cu mare productivitate pentru dezvoltarea de algoritmi inginereti;
Cuprinde algoritmi deja implementai, opiuni de vizualizare a datelor i unelte pentru o uoar dezvoltare i proiectare de algoritmi.
03.05.2015 TACAI dr.ing. Ionu Mironic 5
I. Introducere n Matlab
Dezavantaje Matlab
Lent pentru anumite tipuri de probleme i procese;
Poate fi cu greu implementat n aplicaii web;
Nu este gndit pentru dezvoltarea de sisteme de
dimensiuni foarte mari care s ruleze sisteme din
producie.
03.05.2015 TACAI dr.ing. Ionu Mironic 6
I. Introducere n Matlab
Structur Matlab
Command Window
Workspace / Current Directory
Command History
03.05.2015 TACAI dr.ing. Ionu Mironic 7
I. Introducere n Matlab
Structur Matlab Command Window
Generare de comenzi simple;
Current Directory
Vizualizare foldere i fiiere
n format *.m (format Matlab)
Workspace
vizualizare variabile
Se pot vizualiza valoarea variabilelor prin Double click (se deschide fereastra Array Editor)
Command History
Vizualizare istoric comenzi
Salvarea unei sesiuni prin utilizarea unui jurnal de comenzi (diary)
03.05.2015 TACAI dr.ing. Ionu Mironic 8
I. Introducere n Matlab
Variabile Matlab
n Matlab nu este nevoie s se iniializeze sau s se declare tipul variabilelor:
Toate variabilele sunt create ca i matrici n format double
Conform exemplului anterior aceste variabile vor fi matrici de dimensiuni 1x1.
int a; double b; float c;
Examplu: >>x=5; >>x1=2;
03.05.2015 TACAI dr.ing. Ionu Mironic 9
I. Introducere n Matlab
Structur Matlab
Pentru a se vizualiza coninutul variabilelor trebuie doar sa se scrie numele variabilei n Command Window:
>> a
a =
12
>>
>> a*2
a =
24
>>
03.05.2015 TACAI dr.ing. Ionu Mironic 10
I. Introducere n Matlab
Structur Matlab
Fereastra de Workspace reprezint memoria curent a Matlab-ului;
Poate manipula variabilele stocate n workspace.
>> b=10;
>> c=a+b
c =
22
>>
03.05.2015 TACAI dr.ing. Ionu Mironic 11
I. Introducere n Matlab
Workspace Matlab
Comenzi de manipulare a Workspace-ului
whos prezint variabilele i dimensiuna acestora
Name Size Bytes Class
a 1x1 8 double array
b 1x1 8 double array
c 1x1 8 double array
Grand total is 3 elements using 24 bytes
clear realizeaz tergerea de variabile din workspace
>> clear a b; % delete a i b din workspace
>>
>> clear all; % terge toate variabilele din workspace
>>
03.05.2015 TACAI dr.ing. Ionu Mironic 12
I. Introducere n Matlab
Operaii matrici
Nu este nevoie s se actualizeze / declare dimensiunile matricei:
>>A = [3 2 1; 5 1 0; 2 1 7]
A =
3 2 1
5 1 0
2 1 7
>>
Paranteze ptrate pentru a defini matricea
Punct i virgul pentru a marca trecerea la o alt linie
03.05.2015 TACAI dr.ing. Ionu Mironic 13
I. Introducere n Matlab
Accesarea valorilor unor matrici
Accesarea elementelor unei matrici:
>> A(1,2)
ans=
2
A =
3 2 1
5 1 0
2 1 7 Indicii elementelor unei matrici
03.05.2015 TACAI dr.ing. Ionu Mironic 14
I. Introducere n Matlab
Alocare valori matrici n Matlab
un vector x = [1 2 5 1]
x =
1 2 5 1
o matrice x = [1 2 3; 5 1 4; 3 2 -1]
x =
1 2 3
5 1 4
3 2 -1
03.05.2015 TACAI dr.ing. Ionu Mironic 15
I. Introducere n Matlab
Operatorul :
Foarte utilizat n Matlab;
n traducere ar nsemna de la X la Y
t =1:10 t =
1 2 3 4 5 6 7 8 9 10
k =2:-0.5:-1 k =
2 1.5 1 0.5 0 -0.5 -1
B = [1:4; 5:8] x =
1 2 3 4
5 6 7 8
03.05.2015 TACAI dr.ing. Ionu Mironic 16
I. Introducere n Matlab
Funcii definire funcii n Matlab
zeros(M,N) - genereaz o matrice de valori de 0 de dimensiune MxN.
ones(M,N) - genereaz o matrice de valori de 1 de dimensiune MxN.
rand(M,N) - genereaz o matrice de valori random distribuite uniform n intervalul (0,1) de dimensiune MxN.
x = zeros(1,3)
x =
0 0 0
x = ones(1,3)
x =
1 1 1
x = rand(1,3)
x =
0.9501 0.2311 0.6068
03.05.2015 TACAI dr.ing. Ionu Mironic 17
I. Introducere n Matlab
Indecii matricilor Indecii matricei ncep de la 1 (nu de la 0 (ca n C)) Indecii matricei trebuie s fie numere ntregi pozitive
Given:
A(-2), A(0) Error: ??? Subscript indices must either be real positive integers or logicals. A(4,2) Error: ??? Index exceeds matrix dimensions.
03.05.2015 TACAI dr.ing. Ionu Mironic 18
I. Introducere n Matlab
Concatenare matrici
x = [1 2], y = [4 5], z=[ 0 0]
A = [ x y]
1 2 4 5
B = [x ; y]
1 2
4 5
C = [x y ;z] Error: ??? Error using ==> vertcat CAT arguments dimensions are not consistent.
03.05.2015 TACAI dr.ing. Ionu Mironic 19
I. Introducere n Matlab
Operaii matrici
+ sum
- diferen
* multiplicare
/ mprire
^ putere
transpus
03.05.2015 TACAI dr.ing. Ionu Mironic 20
I. Introducere n Matlab
Operaii matrici
Fie A i B:
Sum Diferen Produs Transpus
03.05.2015 TACAI dr.ing. Ionu Mironic 21
I. Introducere n Matlab
.* multiplicare element cu element
./ mprire element cu element
.^ ridicare la putere element cu element
Operatorul . (element cu element)
03.05.2015 TACAI dr.ing. Ionu Mironic 22
I. Introducere n Matlab
K= x^2 Erorr: ??? Error using ==> mpower Matrix must be square. B=x*y Erorr: ??? Error using ==> mtimes Inner matrix dimensions must agree.
A = [1 2 3; 5 1 4; 3 2 1] A = 1 2 3 5 1 4 3 2 -1
y = A(3 ,:) y= 3 4 -1
b = x .* y b= 3 8 -3
c = x . / y c= 0.33 0.5 -3
d = x .^2 d= 1 4 9
x = A(1,:) x= 1 2 3
Operatorul . (element cu element)
03.05.2015 TACAI dr.ing. Ionu Mironic 23
I. Introducere n Matlab
Comenzi de informaii
help
>> help whos % afieaz documentaie pentru funcia whos
>> lookfor convert % caut funciile care conin termenul convert n prima linie a rspunsului comenzii help
Deschidere documentaie Matlab
>> helpdesk
03.05.2015 TACAI dr.ing. Ionu Mironic 24
I. Introducere n Matlab
Realizare scripturi
Mai multe comenzi matlab pot fi grupate n scripturi
Matlab Desktop
Realizare de script nou
03.05.2015 TACAI dr.ing. Ionu Mironic 25
I. Introducere n Matlab
Realizare scripturi
Scripturile vor manipula i stoca variabile n Matlab Workspace (memorie).
Acestea pot fi chemate din linia de comand Matlab prin scrierea fiierului scriptului.
>> myscript
03.05.2015 TACAI dr.ing. Ionu Mironic 26
I. Introducere n Matlab
Funcii n Matlab
Programarea n Matlab.
Userii pot scrie funcii care pot fi chemate din linia de comand.
Funciile pot accepta variabile de intrare i pot avea ca ieire un set de variabile de ieire.
Funciile nu manipuleaz variabilele din cadrul Matlab Workspace.
Numele fiierului care conine funcia trebuie s fie acelai cu cel al funciei
Atenie la cazurile n care mai multe funcii au acelai nume.
Funciile deschise pentru editare prin utilizare comenzii open.
03.05.2015 TACAI dr.ing. Ionu Mironic 27
I. Introducere n Matlab
Funcii n Matlab
>> I=i