Documente Academic
Documente Profesional
Documente Cultură
Retele Neuronbale r1
Retele Neuronbale r1
Introducere în MATLAB
1. Generalităţi
conţine cuvântul “function”, fişierul respectiv este declarat ca fişier funcţie. O funcţie
diferă de un script prin faptul că poate lucra cu argumente.
Editorul oferă şi facilităţi de depanare (“debugging”) a programului prin
setarea unor puncte de oprire (“breakpoints”) şi rularea pas cu pas a programului.
Exemplul 1.1 Scrieţi o funcţie denumită “suma” care să preia drept argument două
variabile şi să returneze suma acestora.
Se apelează editorul prin comanda “edit” (fig.1.1).
Fig.1.3 Apelul funcţiei sumă, cu parametrii (6,4). Logic, rezultatul returnat va fi 6+4 = 10.
A=
1 2 3
4 5 6
7 8 9
!" Referirea unui elemet al unei matrici. Exemplu: » A(2,1)
ans =
4
!" Adunare +
!" Scădere –
!" Inmulţire *
!" Inmulţirea elementelor elementelor corespondente .*
!" Ridicarea la putere ^
!" Ridicarea la putere a elementelor corespondente .^
!" Impărţirea la stânga \ sau la dreapta /
!" Impărţirea la stânga .\ sau la dreapta ./ a elementelor corespondente
!" Transpusa unei matrici '
!" Schimbarea dimensiunilor matricii – funcţia reshape (X, M, N). Întoarce o
matrice de M linii şi N coloane cu elemente obţinute din matricea originală X .
!" Matrice nulă – funcţia zeros (M, N). Generează o matrice MxN cu toate
elementele egale cu 0.
!" Matrice unitate – funcţia ones (M, N). Generează o matrice MxN cu toate
elementele egale cu 1.
!" Matrice identică – funcţia eye (N, M). Generează o matrice MxN în care
diagonala matricii are elementele egale cu 1, restul elementelor matricii fiind
0.
- 12 - Aplicaţia nr. 1
!" Generarea vectorilor cu pas liniar. Dacă se cunosc limitele intervalului şi pasul
dintre două elemente, vectorul va fi generat cu instrucţiunea:
x = xmin : pas : xmax
Dacă se cunosc limitele intervalului şi numărul de elemenete N se foloseste
comanda următoare:
x = linspace (xmin, xmax, N).
!" Generarea vectorilor cu pas logaritmic. Un vector x care va conţine N
elemente distribuite logaritmic între decadele [10xmin, 10xmax] se generează
astfel:
x = logspace (xmin, xmax, N)
!" Dimensiunea unei matrici – funcţia size (A). Returnează un vector coloană
[M N] în care M reprezintă numărul de linii iar N reprezintă numărul de
coloane pentru matricea A.
!" Lungimea unui vector – funcţia length (x). Întoarce numărul de elemente ale
vectorului x.
declaraţii_1
ELSEIF expresie_2
declaraţii_2
ELSE
declaraţii_3
END
Dacă expresie_1 este adevărată se vor executa numai declaraţii_1. Altfel, dacă
expresie_2 este adevărată, se vor executa numai declaraţii_2. În caz contrar, când
nici expresie_1 şi nici expresie_2 nu e adevărată, se execută declaraţii_3.
!" Repetarea unui grup de instrucţiuni de un număr nedefinit de ori – instrucţiunea
WHILE. Forma generală este:
WHILE expresie
grup de instrucţiuni
END
şi se execută “grup de instrucţiuni” până când “expresie” are toate elementele
nenule.
!" Grafice 3D elementare. Există numeroase funcţii care permit diverse reprezentări
3D. Dintre acestea cele mai des folosite sunt funcţia plot3 (x, y, z) care reprezintă
o linie în spaţiul 3D care trece prin punctele ale căror coordonate sunt tripleţi
(x, y, z).
Pentru reprezentarea 3D a suprafeţelor se poate folosi funcţia mesh (X, Y, Z). În
aceste condiţii o suprafaţă este parametrizată prin două variabile independente care
variază continuu în interiorul uni dreptunghi; fiecare punct este specificat prin trei
funcţii: X(i, j), Y(i, j) şi Z(i, j).
Există posibilitatea controlul culorii (mesh (X, Y, Z, C)), al luminozităţii (lighting),
al punctului de observaţie (view (az, el)) sau se pot modifica diverse alte proprietăţi ale
unei suprafeţe.
3. Experimente
Rezolvare:
%Operatii cu matrici
%Catalin-Daniel Caleanu, 2000
clear all
close all
clc
pause
disp('referirea unui element al unei matrici: A(2,1)')
A(2,1)
pause
Rezolvare:
%Generarea vectorilor si matricilor
%Catalin-Daniel Caleanu, 2000
clear all
close all
clc
Rezolvare:
%Instructiuni de control
%Catalin-Daniel Caleanu, 2000
Introducere în MATLAB - 17 -
clear all
close all
clc
disp(' ')
disp('executarea conditionata a instructiunilor: IF, ELSEIF,
ELSE')
disp(' ')
nr = input('introduceti un numar: ')
if nr > 10
disp('nr > 10')
elseif nr < 10
disp('nr < 10')
else
disp ('nr = 10')
end
pause
disp(' ')
disp('Repetarea unui grup de instructiuni de un numar nedefinit
de ori: WHILE')
disp(' ')
i=4
while i>0
i=i-1
end
Rezolvare:
%Grafice 2D si 3D
%Catalin-Daniel Caleanu, 2000
clear all
close all
clc
sigma=3;
disp('grafic 2D')
x=-1:.005:1;
y=(1/2*pi*sigma^2)*exp(-(x.^2/2*sigma^2));
plot(x,y)
title('Gaussian 2D')
xlabel('Axa Ox')
ylabel('Axa Oy')
pause
disp('grafic 3D')
x=-1:.01:1;
y=-1:.01:1;
[X,Y] = meshgrid(x,y);
Z=(1/2*pi*sigma^2)*exp(-(X.^2+Y.^2)/2*sigma^2);
figure
mesh(Z)
title('Gaussian 3D')
xlabel('Axa Ox')
ylabel('Axa Oy')
zlabel('Axa Oz')