Documente Academic
Documente Profesional
Documente Cultură
2. Bazele MATLAB
2.1 Variabile i serii
Unitatea fundamental de lucru n orice program MATLAB este seria. O serie este un grup de
valori organizate pe rnduri i coloane, avnd o singur denumire. Valorile individuale dintr-o
serie pot fi accesate prin introducerea denumirii seriei, urmat, n paranteze, de indicatorii
randului i a coloanei pe care se afl respectiva valoare (ex: a(3,2)). Chiar i scalarii sunt
considerai serii n MATLAB. Acetia sunt serii cu un singur rnd i o singur coloan.
Seriile sunt considerate fie vectori, fie matrice.
Mrimea unei serii este determinat de numrul de rnduri i coloane ale acesteia, cu
meniunea c numrul de rnduri este specificat prima dat.
Serie Mrime
1 2
= [3 4] Matrice 3 x 2 i conine 6 elemente
5 6
= [1 2 3 4] Serie 1 x 4, conine 4 elemente i se numete vector rnd
1
= [2] Serie 3 x 1, conine 3 elemente i se numete vector coloan
3
Elementele individuale dintr-o serie sunt accesate prin utilizarea denumirii seriei urmate de
poziia elementului respectiv. Dac o serie este un vector coloan, este necesar doar un indice.
Drept exemplu, n seriile precedente a(2, 1) este 3 i n cazul c(2) este 2.
O variabil MATLAB este o poriune de memorie ce conine o serie i este recunoscut doar
dup o denumire inregistrat de utilizator. Coninutul unei serii poate fi utilizat sau modificat
n orice moment prin includerea denumirii sale ntr-o comanda MATLAB corespunztoare.
Capcane n programare
Asigurai-v c variabilele sunt denumite n mod unic pentru primele 63 de caractere, altfel, MATLAB nu va putea face diferena ntre ele.
Recomandri n programare
ntotdeauna atribuii variabilelor, denumiri descriptive i uor de reinut. Drept exemplu, ntr-o problem de rezistena materialelor,
valoarea tensiunilor la care materialul se rupere se numete limita_de_rupere. Astfel, programele vor deveni mult mai clare i
mai uor de neles.
Recomandri n programare
Este important realizarea unei informri la nceputul oricrui program. Astfel, va fi mult mai uor de neles mai trziu.
Recomandri n programare
O variabil se scrie la fel de fiecare dat cnd este utilizat. Este o practic bun utilizarea doar a literelor mici n denumirile variabilelor.
Variabilele cel mai des ntlnite sunt de tip double i char. Variabilele de tip double sunt
scalari sau serii de numere utiliznd formatul pe 64 bii. Aceste variabile pot conine valori
reale, imaginare sau complexe.
EX: Urmtoarea expresie atribuie valoarea real de 13.75 unei variabile de tip double
denumite variabila:
>> variabila = 13.75
variabila
13.75
1
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme
O variabile de tip char este format din scalari sau serii cu valori de 16 bii, fiecare
reprezentnd un singur caracter. Seriile de acest tip sunt utilizate pentru a reine irurile de
caractere.
EX: Urmtoarea expresie creaz o variabil de tip char, a crei nume este comentariu i
reine un ir specificat. Dup executarea expresiei, comentariu devine o serie de caractere
de 1 x 33:
>> comentariu = 'Aceasta este o serie de caractere';
Valorile individuale de pe un rnd sunt separate de un spaiu liber sau de ,. Rndurile sunt
separate de ; sau linii noi. Pentru a iniializa o variabil se poate utiliza una dintre
urmtoarele variante:
Aceast expresie genereaz o serie 1 x 1 (mrime scalar), coninnd valoarea
[3.4]
3.4, iar parantezele nu sunt necesate n acest caz.
[1.0 2.0 3.0] Aceast expresie genereaz o serie 1 x 3, coninnd un vector rnd [1 2 3].
1
1.0; 2.0; 3.0] Aceast expresie genereaz o serie 3 x 1, coninnd un vector coloan [2]
3
1 2 3]
1, 2, 3; 4, 5, 6] Aceast expresie genereaz o serie 2 x 3, coninnd o matrice [
4 5 6
1 2 3],
[1, 2, 3 Aceast expresie genereaz o serie 2 x 3, coninnd o matrice [ iar
4, 5, 6] 4 5 6
sfritul primei liniei determin terminarea primului rnd.
2
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme
Aceast expresie genereaz o serie vid, care nu conine niciun rnd i nicio
[ ] coloan. A se reine faptul c nu este acelai lucru cu o serie care conine
zerouri.
Capcane n programare
Numrul de elemente din fiecare rnd al unei serii trebuie s fie identic, la fel ca i numrul de elemente din fiecare coloan. ncercarea de
a defini o serie cu un numr diferit de elemente pe rnduri sau pe coloane va conduce la emiterea unui mesaj de eroare la executarea
expresiei.
>> a = [0 1+7]
>> b = [a(2) 7 a]
>> d(4) = 4;
Recomandri n programare
Utilizarea simbolului ; la sfritul expresiilor MATLAB duce la impiedicarea afirii valorilor rezultate n fereastra Command n urma
executrii. Acest lucru mrete considerabil viteza de executare a programelor.
Recomandri n programare
Dac se impune verificarea unei expresii n timpul corectrii unui script, se poate nltura simbolul ; doar pentru a putea fi afiate n
fereastra Command.
>> g = 1:4;
>> h = [g g]
3
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme
Dac funcia input include caracterul s ca un al doilea argument, informaia este afiat ca
un ir de caractere. Astfel actiune_1 va reine valoarea 7.89, n timp ce expresia
actiune_2 va reine irul de caractere '1.23' n variabila actiune_2.
Recomandri n programare
Utilizai de fiecare dat numrul necesar de indici pentru a accesa o serie multidimensional.
2.4 Subserii
EX: se presupune c seria arr_1 i arr_2 sunt definite dup cum urmeaz:
>> arr_1 = [1.1 -2.2 3.3 -4.4 5.5];
>> arr_1(3)
>> arr_1([1 4])
>> arr_1(1:2:5)
4
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme
Funcia end
EX: Pentru seria denumit arr_3, care este raspunsul pentru cele doua expresii :
>> arr_3 = [1 2 3 4 5 6 7 8 9];
>> arr_3(5:end)
>> arr_3(end)
Capcane n programare
Pentru expresii de atribuire care implic subserii este obligatoriu ca cele dou pari ale semnului = s fie identice. n caz contrar, MATLAB
va afia o eroare.
EX: seria denumit arr_6 are un numr de 3 x 4 elemente i este definit astfel:
>> arr_6 = [2 4 6 8;1 3 5 7; 10 12 14 16]
>> arr_6 = [55 56;57 58]
Recomandri n programare
Trebuie s se fac bine diferena ntre atribuirea de valori unei serii i atribuirea de valori unei subserii. MATLAB se comport total diferit
n aceste dou cazuri.
5
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme
Este o variabil special utilizat pentru reinerea rezultatului unei expresii dac acel
ans rezultat nu a fost explicitat anterior sau atribuit altor variabile.
Capcane n programare
Niciodat nu trebuie schimbat o variabil predefinit n MATLAB. Astfel se vor introduce abateri subtile greu de gsit.
Exerciii propuse
1. Care este diferena dintre o serie, o matrice i un vector?
2. Rspundei la ntrebrile urmtoare avnd la dispoziie seria:
1.1 3.2 3.4 0.6
= [0.6 1.1 0.6 3.1]
1.3 0.6 5.5 0
a. Care este mrimea lui c?
b. Care este valoarea lui c(2,3)?
c. Ce indici de poziie prezinta scalarul 0.6 sin seria de mai sus?
3. Ce mrime au urmtoarele serii:
a. u=[10 20*i 10+20];
b. v=[-1;20;3];
c. w=[1 0 -9; 2 -2 0;1 2 3];
d. x=[u v];
e. y(3,3)=-7;
f. z=[zeros(4,1) ones(4,1) zeros(1,4)];
g. v=[10 20*i 10+20];
4. Care este valoarea lui w(2,1) din seria cu acelai nume de mai sus?
5. Care aste valoarea lui x(2,2) din seria cu acelai nume de mai sus?
6. Care este valoarea lui y(1,2) din seria cu acelai nume de mai sus?
7. Care este valoarea lui v(3) dup executarea expresiei (g)?
8. Presupunnd seria de la punctul 2, determinai coninutul urmtoarelor subserii:
a. c(2,:)
b. c(:,end)
c. c(1:2,2:end)
d. c(6)
e. c(4:end)
f. c(1:2,2:4)
g. c([1 3],2)
h. c([2 2],[3 3])
9. Determinai coninutul seriei a, dup executarea urmtoarelor expresii:
1 2 3
= [4 5 6]
7 8 9
6
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme
7
suport de laborator