PCLP Curs02
PCLP Curs02
PCLP Curs02
Fișierele script
>> x=linspace(0,2*pi,200);
>> y=cos(x);
>> plot(x,y)
>> xlabel('axa-X')
>> ylabel('axa-Y')
>> title('Graficul lui y=cos(x)')
29
Fișierul va fi executat și graficul din fig. 1.2 va apare ȋntr-o fereastrǎ
separatǎ:
>> whos
Name Size Bytes Class
x 1x200 1600 double
y 1x200 1600 double
30
Fișierele function (funcție)
function [param_ieșire]=nume(param_intrare)
% linii de comentarii
linii de comenzi
end
31
function r = radical(a,b)
% aceasta functie calculeaza radicalul
% numerelor intregi cuprinse intre a si b
for i=a:b
r(i)=sqrt(i);
end
end
>> whos
Name Size Bytes Class
a 1x1 8 double
ans 1x10 80 double
b 1x1 8 double
>> r=radical(a,b)
r=
Columns 1 through 7
1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 2.6458
Columns 8 through 10
2.8284 3.0000 3.1623
32
>> whos
Name Size Bytes Class
a 1x1 8 double
b 1x1 8 double
r 1x10 80 double
33
2. ELEMENTE DE ALGEBRĂ MATRICIALĂ
Definirea tuturor variabilelor ȋn MATLAB se face sub formǎ
matricialǎ. Acest lucru ȋnseamnǎ cǎ și scalarii sunt de fapt memorați
ca o matrice de dimensiuni 1x1 (1 linie x 1 coloanǎ), iar vectorii sunt
matricile care au o singurǎ linie sau o singurǎ coloanǎ.
>> v=[1,2,3,4,5]
v=
1 2 3 4 5
34
Se remarcǎ afișarea elementelor vectorului, deoarece dupǎ
introducerea elementelor nu s-a folosit simbolul ”;”, care ar conduce
numai la memorarea vectorului v și elementele lui nu mai sunt afișate.
Lungimea unui vector se determinǎ folosind comanda “length”:
>> length(v)
ans =
5
>> v(3)
ans =
3
>> v([1,2,4])
ans =
1 2 4
>> v(5)=1500
v=
1 2 3 4 1500
35
Dacǎ se dorește ca mai multe elemente sǎ ia aceeași valoare, se poate
scrie sub formǎ compactǎ:
v1
v 2
Un vector coloanǎ are forma v , unde valorile v1,
...
vn
v2,…, vn sunt scalari (numere reale sau complexe).
Un astfel de vector se introduce element-cu-element, valorile fiind
separate prin punct-și-virgulǎ:
>> w=[1;2;3]
w=
1
2
3
Lungimea unui vector coloanǎ se determinǎ ca și ȋn cazul unui vector
linie:
>> length(w)
ans =
3
Exemplu:
>> w(3)
ans =
3
36
>> w(2)=10
w=
1
10
3
T
v1
v 2
v1 v 2 ... vn
...
vn
>> u=[2;4;6;8]
u=
2
4
6
8
>> u.'
ans =
2 4 6 8
37
Operatorul transpunere conjugatǎ acționeazǎ ca și operatorul
transpunere normalǎ (schimbǎ un vector linie ȋn unul coloanǎ și
invers) dar transformǎ și elementele complexe ȋn valorile lor
complex-conjugate (valoarea a+bi devine a-bi):
>> c=[1+2i,i,3,-1-2i]
c=
Columns 1 through 3
1.0000 + 2.0000i 0 + 1.0000i 3.0000
Column 4
-1.0000 - 2.0000i
>> c'
ans =
1.0000 - 2.0000i
0 - 1.0000i
3.0000
-1.0000 + 2.0000i
>> x=0:0.5:10
x=
Columns 1 through 7
0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000
Columns 8 through 14
3.5000 4.0000 4.5000 5.0000 5.5000 6.0000 6.5000
Columns 15 through 21
7.0000 7.5000 8.0000 8.5000 9.0000 9.5000 10.0000
38
În exemplul de mai sus am creat un vector ce conține elemente cu
valori cuprinse ȋntre 0 și 10 și incrementul dintre douǎ valori
succesive este 0.5.
Un vector ce conține toate elementele ȋntregi de la 0 la 10 inclusiv
este:
>> y=1:10
y=
1 2 3 4 5 6 7 8 9 10
>> z=(0:0.2:1)'
z=
0
0.2000
0.4000
0.6000
0.8000
1.0000
>> u=100:-10:0
u=
100 90 80 70 60 50 40 30 20 10 0
>> u=[100:-10:0]
u=
100 90 80 70 60 50 40 30 20 10 0
39
Identificarea unor elemente ale unui vector definit cu operatorul
coloanǎ:
a). al cincilea element al lui u:
>> u(5)
ans =
60
>> u(5:end)
ans =
60 50 40 30 20 10 0
>> u(1)=300
u=
300 90 80 70 60 50 40 30 20 10 0
>> a=1:5
a=
40
1 2 3 4 5
>> b=2*a
b=
2 4 6 8 10
Similar și pentru vectorii coloanǎ:
>> c=(1:4)'
c=
1
2
3
4
>> d=2*c
d=
2
4
6
8
>> u=1:5
u=
1 2 3 4 5
>> v=6:10
v=
6 7 8 9 10
>> u+v
41
ans =
7 9 11 13 15
>> u+v
ans =
5
7
9
>> u=1:3, v=1:4
u=
1 2 3
v=
1 2 3 4
>> u+v
??? Error using ==> plus
Matrix dimensions must agree.
42
2.8 Adunarea unui vector cu un scalar
43
>> a=[3 -1 2]; b=[4 -1 -2]; %se introduc datele fara a fi afisate
>> c=sum(a.*b) % produsul scalar
c=
9
44
i j k
p m n mx my mz p x i p y j p z k
nx ny nz
45