Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lucrarea 1
Introducere în MATLAB
1. Considerente generale
1
PNS Lucrarea 1 Introducere în Matlab
Selecţia unei comenzi din bara de comenzi sau meniul principal se poate face cu
mouse-ul sau cu ajutorul săgeţilor, prin deplasarea zonelor active sau prin tastarea literei
marcate în fiecare subcomandă.
Meniul principal:
Pentru a deschide un fişier în Editorul/Debugger-ul MATLAB-ului din meniul de
comandă se procedează în felul următor:
• pentru un fişier nou, se selectează File, apoi New, apoi New M-file.
• pentru un fişier existent se selectează File, apoi Open M-file si apoi se selectează
fişierul dorit.
a) b)
Figura 3. Selectarea din meniul principal a unui fişier nou (a) sau a unuia existent (b)
Tot din meniul principal se pot seta anumite proprietăţi, legate de formatul dorit a fi
afişat, fonturi si opţiuni de copiere.
• se selectează File, apoi Preferences ca în figura 4
2
PNS Lucrarea 1 Introducere în Matlab
Selectarea comenzii File (din aceasta fereastră) urmată de New, Figure sau New
Figure determină trecerea într-o fereastră grafică nouă.
1.5. Fişiere M
• apare fereastra
• se tastează butonul Browse; apare fereastra:
• se caută directorul respectiv şi se tastează OK, apoi Add to path din fereastra anterioară.
path returnează căile cu care lucrează MATLAB-ul (în care sunt căutate fişierele
apelate)
4
PNS Lucrarea 1 Introducere în Matlab
Exemplul 1
» path
MATLABPATH
C:\MATLABR11\toolbox\matlab\general
C:\MATLABR11\toolbox\matlab\ops
C:\MATLABR11\toolbox\matlab\lang
......
Exemplul 2
Comanda addpath c:\nume are ca efect adăugarea noii căi, adică se vor putea
apela fişierele cu extensia .m din directorul ce are calea c:\nume.
Fişierele M pot utiliza variabile definite de utilizator, variabile definite cu comanda
input. De exemplu, să presupunem că vrem să rulăm un fişier M pentru diferite valori ale
unei variabile N. Atunci, în fişierul M se utilizează următoarea comandă:
N=input(‘N=’).
+ adunare
- scădere
* multiplicare
/ împărţire
^ ridicare la putere
‘ transpus
j=sqrt(-1)
pi=3,1416...
etc.
Exemplul 3
y=2*(1+4*j)
conduce la
y=
2.0000+8.0000i
Pentru definirea variabilelor există un număr de funcţii predefinite, dintre care, cele
mai uzuale pentru prelucrarea semnalelor, sunt prezentate în Tabelul 1.
Tabelul 1.
abs valoarea absolută
angle faza ataşată unui număr complex, în radiani
cos funcţia cos, cu argumentul în radiani
sin funcţia sin, cu argumentul în radiani
exp funcţia exponenţială cu baza e
Exemplul 4
Matricele sunt definite introducând elementele linie cu linie:
A=[1 2 3; 3 6 8]
Această comandă creează matricea
⎡1 2 3⎤
A=⎢ ⎥
⎣3 6 8⎦
Comanda A(2,1) afişează rezultatul:
ans =
3
Se remarcă faptul că dacă se atribuie o valoare unui element care ocupă o poziţie în
afara dimensiunii maxime a unei matrice sau unui vector, dimensiunea acesteia/acestuia este
mărită automat până la valoarea indicelui noului element, iar elementele nedefinite sunt setate
la valoarea zero.
Exemplul 5
Comanda: A(2,5)=4
creează matricea:
⎡1 2 3 0 0⎤
A=⎢ ⎥
⎣3 6 8 0 4 ⎦
Exemplul 6
Comanda:
v=[1 2 3 4 5 ]
creează un vector cu o linie şi 5 coloane. Comanda:
v(6)=6
conduce la vectorul:
v=[1 2 3 4 5 6]
7
PNS Lucrarea 1 Introducere în Matlab
⎡1 ⎤
Fie vectorul c = ⎢⎢2⎥⎥
⎢⎣3 ⎥⎦
Aşadar c(2 ) = 2 .
• Al doilea mod este utilizat pentru a crea vectori cu elemente egal spaţiate prin
comanda:
k=amin:pas:amax
unde amin este valoarea primului element din vector, pas este valoarea incrementului,
amax limita până la care pot lua valori componentele vectorului. Dacă incrementul lipseşte,
atunci implicit valoarea sa este 1.
Exemplul 7
k=0:0.5:5.1
creează un vector cu elementele 0, 0.5, 1, 1.5,....5 .
Comanda length(v) returnează lungimea vectorului v.
i) transpunerea
Z=X’
Acest lucru face ca pentru o matrice cu dimensiunea n × m să se obţină o matrice Z cu
dimensiunea m × n.
8
PNS Lucrarea 1 Introducere în Matlab
function z=xplusy(x,y);
z=x+y;
Fişierul astfel scris se salvează sub denumirea xplusy.m . Funcţia definită anterior poate fi
apelată din linia de comenzi Matlab, dintr-un script sau dintr-o altă funcţie. De exemplu:
>>a=1;b=2; c=xplusy(a,b);
9
PNS Lucrarea 1 Introducere în Matlab
Graficele se pot trasa utilizând linii şi markere de diferite culori. Acest lucru este
prezentat în Tabelul 2.
Tabelul 2
Linii tip şi markere MATLAB Culori –cod MATLAB
continuă - + Galben y
întreruptă -- * Mov m
două puncte : ° albastru-deschis c
linie-punct -. x Roşu r
. Verde g
Albastru b
Alb w
Negru k
Reprezentarea discretă a datelor se face cu funcţia stem sub forma unor linii
terminate cu cerculeţ. Se apelează cu una din sintaxele:
• stem(y) trasează un grafic y=y[i], i=1,2,3 ....L din linii terminate cu cerculeţ
• stem(x,y) trasează un grafic cu linii terminate cu cerculeţ, cu locaţiile
specificate de vectorul x. Valorile lui x trebuie să fie egal spaţiate.
• stem(x,y‚’linie-tip’) este similară funcţiei plot(x,y,’linie
tip’), cu deosebirea că se trasează graficul cu linii terminale cu cerculeţ.
Observaţie: atât la funcţia plot cât şi la funcţia stem lungimile vectorilor de pe
abscisă şi ordonată trebuie sa fie egale.
Pentru plasarea în câmpul graficelor a unor texte, etichete ale axelor, precum şi a
titlului se utilizează următoarele funcţii:
• title(‘text’) comandă prin care titlul graficului se plasează deasupra
acestuia; ‘text’ fiind un şir de caractere care reprezintă titlul graficului;
• xlabel(‘text’) precizează eticheta axei x; ‘text’ fiind un şir de caractere
care reprezintă numele axei, unitatea de măsură etc.;
• ylabel(‘text’) precizează eticheta axei y; ‘text’ fiind un şir de caractere
care reprezintă numele axei, unitatea de măsură etc.;
• grid on trasează o reţea de linii orizontale şi verticale pe grafic
• grid off elimină reţeaua de linii orizontale şi verticale trasate pe grafic de
grid on
Exemplul 8
10
PNS Lucrarea 1 Introducere în Matlab
t=0:.001:0.02
f=sin(2*pi*50*t)
g=-f
plot(t,f,'-.k',t,g,'*g'),grid on
title('Graficele functiilor f(t) si g(t)')
xlabel('t'), ylabel('f(t) si g(t)')
Graficele functiilor f(t) si g(t)
1
0.5
f(t) si g(t)
-0.5
-1
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02
t
Figura 6. Graficul funcţiilor f(t) şi g(t)
2. Aplicaţii propuse
a) Se dau matricele:
A = [2 3 4; 5 2 9; 16 0 0]
B = [1 2 3; 1 1 1; 2 3 2]
şi scalarul p=2. Să se calculeze în MATLAB:
1. C1 = A + B
2. C2 = A − B
3. C3 = A + p
4. C4 = A* B
5. C5 = A * p
6. D = A'
7. E = B'
8. Z = A/ B
9. W = A\ B
10. Y = A^ p
11
PNS Lucrarea 1 Introducere în Matlab
A = [1 2 3; 4 5 6; 7 8 9]
B = [0 1 0; 0 1 0; 0 1 0]
2. Reprezentarea grafică
Să se creeze o funcţie, denumită yprodx.m, prin care se face produsul scalar a doi vectori
linie x şi y, de aceeaşi lungime.
12