Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
programarii
MATLAB
Introducere n MATLAB
n prezent utilizarea limbajelor de programare este fcut
prin intermediul unor medii de programare, care ofer
programatorului pe lng limbaj i posibiliti facile de lucru:
- scrierea rapid a programului (un editor de texte);
- utilizarea unor funcii speciale (biblioteci de programe);
- verificarea sintaxei (prin compilare);
- executarea programului (prin compilare i lansare n
execuie);
- testarea funcionrii corecte a programului (execuie sub
control pas cu pas);
Aceste avantaje fac din programare o activitate plcut i
abordabil i de specialitii altor domenii de activitate dect cel
al informaticii.
Variabile MATLAB
Size
1 by 1
Elements
1
Bytes
8
Density Complex
Full
No
Size
2 by 2
Elements
4
Bytes
32
Density Complex
Full
No
Introducerea datelor
Exemplu:
d=input('introduceti matricea d ')
introduceti matricea d [1 2 3; 4 5 6]
d=
1 2 3
4 5 6
Sintax
disp(x)
disp(sir caractere)
Exemple:
disp('un exemplu de matrice 2 x 3 este: ')
un exemplu de matrice 2 x 3 este:
d=[ 1 2 3
4 5 6];
disp(d)
1 2 3
4 5 6
disp(2+3*5)
17
Programarea in
MATLAB
Matlab-ul
ne
ofer
varianta
memorrii pe disc
a succesiunii de
comenzi, ntr-un
fiier text, avnd
extensia
.m
(numit i fiier M),
care poate fi apoi
lansat n execuie
din fereastra de
comenzi.
Structuri de control
while expresie
grup de instruciuni
end
grup de instruciuni este executat atta timp ct
expresie este adevrat.
Exemplu:
Calculul sumei elementelor vectorului
variabila suma:
v=[2 1 5 3 6];
n=length(v);
suma=0;
i=1;
while i<=n
suma=suma+v(i);
i=i+1;
end
disp('suma elementelor vectorului este ');
disp(suma);
Produce efectul:
suma elementelor vectorului este
17
Exemplu:
Acelai calcul, al sumei elementelor vectorului v
n variabila suma:
v=[2 1 5 3 6];
n=length(v);
suma=0;
for i=1:n
suma=suma+v(i);
end
disp('suma elementelor vectorului este ');
disp(suma);
Produce efectul:
suma elementelor vectorului este
17
if expresie
grup de instruciuni
end
Varianta 2
if expresie
grup de instruciuni 1
else
grup de instruciuni 2
end
Varianta 3
if expresie1
grup de instruciuni 1
elseif expresie2
grup de instruciuni 2
elseif expresie3
grup de instruciuni 3
else
grup de instruciuni 4
end
executat
dac
expresie1
este
Exemplu:
%gasirea valorii v intr-un sir de numere
v=input('indicati valoarea ce trebuie cautata ');
sir=input('indicati sirul de nr. sub forma unui vector ');
n=length(sir);
g=0; % nr de gasiri
for i=1:1:n
if v==sir(i)
disp('a fost gasit v in sir la pozitia ');
i
g=g+1;
end
end
if g==0
disp('v nu a fost gasit in sir')
else
disp('numarul de gasiri a fost ')
g
end
Produce efectul:
cautare
indicati valoarea ce trebuie cautata 2
indicati sirul de nr. sub forma unui vector [1 2 3 2 4 2 4 2]
a fost gasit v in sir la pozitia
i=
2
a fost gasit v in sir la pozitia
i=
4
a fost gasit v in sir la pozitia
i=
6
a fost gasit v in sir la pozitia
i=
8
numarul de gasiri a fost
g=
4
mai mic
<
mai mic sau egal <=
mai mare
>
==
~=
Operator logic
Simbol
Prioritate
NU
~
1
I
&
2
SAU
|
3
Grafica MATLAB
Grafice 2 D
Matlab-ul ne ofer o instruciune apropriat de
definiiile de la matematic, n care ne este cerut un
domeniu de definiie i o relaie prin care s se ajung
la valorile funciei.
Sintax
fplot(list funcii, limite, marcaj)
list funcii descrie funcia de argument x sau funciile
(tot de argument x, separate prin virgul) ce dorim s
fie reprezentate. Exemple de descriere: sin(x), cos(x),
2*x+1, (x.^2)
limite este un vector cu 2 sau 4 elemente, ce fixeaz
prin primele 2 elemente, domeniul de definiie i prin
valorile 3 i 4 domeniul de valori ale funciei. Exemple:
[-1 1], [-1 1 2 6]
marcaj este un parametru opional, cu care impunem
forma curbei (putem pune suplimentar liniei continui i
nite semne speciale pe curba funciei). Valorile
Exemple:
>>fplot ( 'x* sin(x)', [ 0 10*pi ] ) % pi este 3,1415
q=[3 5 6 9 10];
w=[1 2 3 7 4];
plot(q,w)
e=[3 4 5 2; 1 0 3 4; 2 1 5 6];
plot(e)
culoare
galben
magenta
cyan
rou
verde
albastru
alb
negru
simbol
.
o
x
+
*
:
-.
--
Efect trasare
punct
cerc
marcare cu x
marcare cu plus
linie continu
stelue
puncte
linie punct
linie ntrerupt
Exemplu:
title('Text titlu')
xlabel('text axa x')
ylabel('texy axa y')
fplot('(x^3)', [0,1])
subplot(3,3,2)
subplot(3,3,3)
subplot(3,3,9)
Exemplu de grafic 2 D
t = linspace(0,8, 401);
y = t.*exp(-t).*cos(2*pi*4*t);
subplot(2,1,1)
plot(t,y);
xlabel(Timp (s));
ylabel(Amplitudine)
subplot(2,1,2)
stem(t,y);
axis([0 1 min(x) max(x)])
xlabel(Timp (s) detaliu);
ylabel(Amplitudine)