Sunteți pe pagina 1din 9

Informatic Aplicat 2

Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

2.13 Matematic vectorial n MATLAB


Un vector este o cantitate matematic care prezint att o mrime ct i o direcie, spre
deosebire de un scalar, care este o cantitate ce prezint doar mrime.

= ()2 + ()2 (2.13)

axa Y axa Y
P2

v
y
y
P
P1 x
v

i x axa X axa X

a. b.

Fig.2.21 a) Poziia oricrui punct P ntr-un sistem Cartezian de coordonate bidimensionale. b) Un vector v poate
fi caracterizat de x pe axa x i y pe axa y.

= ()2 + ()2 + ()2 (2.16)

axa Y

z
y
v P2
P1
x

axa X

axa Z

Fig.2.22 Un vector v poate fi caracterizat de x pe axa x, y pe axa y i z pe axa z

Adunarea i scderea vectorilor


Pentru a aduna doi vectori, se adun componentele acelor vectori, n mod separat. Pentru a
scdea doi vectori, se face scderea dintre componentele vectorilor respectivi.

1
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

EX:
v1 = 3i + 4j + 5k
v2 = -4i + 2j + 6k
>> a = v1 + v2
>> s = v1 v2

nmulirea vectorilor
Produsul dot este indicat prin simbolul . situat ntre doi vectori. Produsul dot a doi vectori
este o valoare scalar care se calculeaz prin nmulirea componentelor corespunztoare lui
x, y i z, dup care se face adunarea acestora.
EX:
>> a = [1 3 -5];
>> b = [-2 1 -3];
>> dot(a,b)

Produsul cross este indicat prin simbolul situat ntre doi vectori. Produsul cross a doi
vectori este o valoarea vectorial calculat prin intermediul expresiei 2.18. Dac exist doi
vectori de forma v1 = x1i + y1j + z1k i v2 = x2i + y2j + z2k, atunci produsul cross al acestora
este:
1 2 = (1 2 1 2 ) + (1 2 1 2 ) + (1 2 1 2 ) (2.18)

EX:
>> a = [1 4 -7];
>> b = [-2 1 -1];
>> cross(a,b)

Exerciiu rezolvat: Fora i acceleraia unui corp


Potrivit legii lui Newton, fora unui corp este egal cu produsul dintre masa i acceleraia
acestuia.

F = ma (2.19)

Se presupune ca o bil de 4kg este lsat sa cad liber n aer. De asemenea, se aplic o for
Fap = 10 i + 20 j + 5 k (N), la care se adug i fora gravitaional Fg (fig.2.23).
a) Care este fora total aplicat pe bil?
b) Care este mrimea forei totale aplicate pe bil?
c) Care este acceleraia instantanee a bilei n discuie?

Fap

Fg

Fig.2.23 Forele aplicate pe bil

2
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

Soluie:
Fora total va fi suma vectorilor forelor (2.20) aplicate pe bil, adic fora gravitaional Fg
i fora aplicat suplimentar Fap. Fora gravitaional este orientat normal descendent, iar
mrimea acceleraiei gravitaionale este 9.81m/s2, deci:

F = Fap + Fg (2.20)
Fg = -mg k = (-4.0kg)(9.81m/s) k = -29.24 k (N) (2.21)
Acceleraai final se calculeaz prin intermediul legii lui Newton pentru acceleraie:

a=F/m (2.22)

Script-ul MATLAB care calculeaz fora bilei, mrimea acestei fore i acceleraia bilei este
dup cum urmeaz:

% Calculul fortei si acceleratiei unui corp in cadere


% Constante:
g=[0 0 -9.81]; % acceleratia gravitationala (m/s^2)
m=input('Masa corpului (in kg) este : ');
% Calcularea fortelor aplicate corpului
fap=[10 20 5];
fg=m.*g;
% Calculul fortei totale aplicate
f=fap+fg;
% Afisarea rezultatului
disp(['Forta totala (N) aplicata corpului este ' num2str(f)]);
% Calcularea marimii fortei
mag_f=sqrt(f(1)^2+f(2)^2+f(3)^2);
disp(['Marimea fortei (N) aplicate este ' num2str(mag_f)]);
% Calcularea acceleratiei
acc=f./m;
disp(['Acceleratia corpului (m/s^2) este ' num2str(acc)]);

Dup executarea script-ului, MATLAB afieaz:

>> calc_f_ac
Masa corpului (kg) este : 4
Forta totala (N) aplicata corpului este 10 20 -34.24
Magnitudinea fortei (N) aplicate este 40.8947
Acceleratia corpului (m/s^2) este 2.5 5 -8.56

Exerciiu rezolvat: Lucrul mecanic efectuat pentru deplasarea unui obiect


Lucrul mecanic efectuat pentru deplasarea unui obiect pe o distan dat este calculat prin
intermediul exuaiei:

Lm= Fd (2.23)

unde F este vectorul forei aplicate obiectului i d este vectorul deplasrii respectivului
obiect. Dac fora este exprimat n (N) i deplaserea n (m), atunci lucrul mecanic rezultat
este exprimat n (J). S se calculeze lucrul mecanic pentru obiectul din fig.2.23 cnd fora F
= 10i 4j (N) este aplicat pe distana d = 5i (m).

3
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

Fig.2.23 Aplicarea forei F unui obiect pe o distan d.


Soluie:
Lucrul mecanic consumat este exprimat prin expresia:

Lm= Fd = (10i 4j)(5i) = 50 (J) (2.24)

n MATLAB, aceast expresie se calculeaz simplu prin urmtoarele linii de cod:


>> f = [10 -4];
>> d = [5 0];
>> lm = dot(f,d)
lm =
50.00

Exerciiu rezolvat: Cuplul axului motor


Cuplul este momentul de rsucire care imprim micarea de rotaie n jurul unei axe. Cuplul
aplicat pe un urub sau unui ax este exprimat n funcie de fora aplicat, braul forei
(distana de la axa de rotaie la punctul de aplicare a forei) i sinusul unghiului dintre aceste
doua elemente (fig.2.24). Cu ct este mai mare fora, cu att crete i cuplul rezultat. Cu ct
este mai mare braul forei, cu att crete i cuplul rezultat.

Relaia de calcul pentru aflarea mrimii cuplului, este urmtoarea:

= r F sin (2.25)

unde r este raza sau braul forei, F este mrimea forei i este unghiul format ntre r i F.
n termeni vectoriali, relaia se poate scrie mai simplu, astfel:

=rF (2.26)

unde r este raza sau braul forei, F este vectorul forei. Direcia vectorului cuplului rezultat
este dat de regula minii drepte: dac degetul mare al minii drepte este orientat ctre primul
termen (braul forei), iar degetul arttor este oriectat ctre al doilea termen (mrimea
forei), atunci al treilea deget va arta direcia rezultantei produsului vectorial (fig.2.25).

4
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

r sin
r X

Fig.2.24 Cuplul este produsul dintre fora aplicat i Fig.2.25 Prezentare grafic a regulii minii drepte
distana normal dintre punctul de aplicare a
acesteia i linia forei

S se calculeze cuplul aplicat unui arbore, dac momentul braului este r = 0.866i 0.5j
(m), iar fora F = 50j (N).

Soluie:
Cuplul aplicat unui obiect este dat de excuaia 2.26, aadar, MATLAB poate calcula aceast
expresie astfel:

>> r = [0.866 -0.5 0];


>> f = [0 50 0];
>> cuplu = cross(r,f)
cuplu =
0 0 43.30

Cupul rezultat este 43.30 (Nm) i este orientat n direcia z al spaiului Cartezian considerat.

2.14 Operaii cu matrice i sisteme de ecuaii


EX:
21 + 52 = 11 2 5 1 11
adic [ ] [ ] = [ ], deci se poate scrie = , unde
31 22 = 12 3 2 2 12

2 5] 1 11
=[ ; = [ ] ; =[ ]
3 2 2 12

>> a = [2 5;3 -2];


>> b = [11;-12];
>> x = a\b

Exerciiu rezolvat: Sistem de ecuaii


S se rezolve sistemul de ecuaii de mai jos:

5
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

51 + 2 23 = 11
1 + 22 33 = 12
31 2 +3 = 11
Soluie:
Din ecuaiile de mai sus, se formeaz urmtorii termeni:

5 1 2 1 8
= [1 2 3] ; = [ 2 ] ; = [0 ]
3 1 1 3 3

Script-UL MATLAB care soluioneaz acest sistem de acuaii este:

% Calculul unui sistem de trei ecuatii


% Termenii ecuatiilor sunt:
a=[5 1 -2;1 2 -3;3 -1 1];
b=[8;0;3];
% Calculul necunoscutei x
x=a\b

Dup rularea script-ului, MATLAB afieaz urmtoarele rezultate:

>> sist3ec
x =
5.00
41.00
29.00

2.15 Corectarea programelor MATLAB


Dac se scrie un program (script) de o lungime oarecare, probabil c nu va merge corect de
prima dat.
Primul tip de eroare este denumit syntax error. Aceste erori apar n expresiile introduse
direct pe linia de cod din MATLAB, cum ar fi greseala de ortografie sau punctuaie.
>> test
??? x = y + 3) / 2)
Missing operator, comma or semi-colon.
Error in ==> D:\U V A B\DIDACTIC\Info.Ap\aplicatii\test.m
On line 2 ==>

Al doilea tip de eroare este denumit run-time error. Aceste erori apar la executarea
unor programe care conin expresii matematice necorespunztoare, cum ar fi mprirea
la zero.
Al treilea tip de eroare este denumit logical error. Erorile logice apar cnd programul
execut toate liniile de cod, n mod corespunztor, ns rezultatul este unul incorect.
La corestarea script-urilor se au n vedere urmtoarele aspecte:
Dac o expresie este prea lung, aceasta trebuie fragmentat n doua, trei expresii mai
scurte. Expresiile mai scurte sunt, ntotdeauna, mai uor de verificat;
Se verific poziia parantezelor din expresiile de atribuire. Se ntmpl foarte des ca
operaiile dintr-o expresie de atribuire s fie evaluat n ordinea greit. Dac exist

6
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

dubii cu privire la ordinea operaiilor dintr-o expresie de atribuire, se pot aduga perechi
suplimentare de paranteze;
Trebuie ca toate variabilele s fie iniializate corespunztor;
Toate funciile trebuie utilizate conform unitilor de msur corecte. Drept exemplu,
funciile trigonometrice sunt trebuie utilizate n radiani i nu n grade.
Recomandri n programare
Pentru a reduce efortul de corectare a programelor, trebuie ca n timpul scrierii programelor s se in seama de dou aspecte importante:
Toate variabilele trebuie iniializate la nceputul programului;
Pentru introducerea clar a expresiilor de atribuire se utilizeaz perechi de paranteze.

Exerciii propuse
1. Avnd n vedere seria de mai jos, rspundei la urmtoarele ntrebri:
0 0.5 2.1 3.5 6
0 1.1 6.6 2.8 3.4]
_1 = [
2.1 0.1 0.3 0.4 1.3
1.1 5.1 0 1.1 2
a) Care este mrimea caracteristic serie_1?
b) Ce valoarea are serie_1(1,4)?
c) Care este mrimea seriei serie_1(:,1:2:5)?
d) Care este mrimea i valoarea pentru serie_1([1 3], end)?
2. Care dintre urmtoarele denumiri de variabile sunt valabile i care nu? De ce?
a) val1
b) 1val
c) Stii_drumul_spre_casa
d) _help
e) Vreo problem?
3. Care este mrimea i coninutul seriilor urmtoare:
a) a = 2:3:8;
b) b = [a a a];
c) c = b(1:2:3,1:2:3);
d) d = a + b(2,:);
e) w = [zeros(1,3) ones(3,1) 3:5];
f) b([1 3],2) = b([3 1],2);
g) e = 1:-1:5;
4. Evaluai fiecare dintre expresiile de mai jos:
a) 11/5+6
b) (11/5)+6
c) 11/(5+6)
d) 3^2^3
e) 3^(2^3)
f) (3^2)^3

7
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

g) round(-11/5)+6
h) ceil(-11/5)+6
i) floor(-11/5)+6

5. S se calculeze urmtoarele expresi cunoscnd faptul c t = 2s, i = 1 i = 120 rad/s.


a) e-2tcos(t)
b) e-2t [cos(t)+i sin (t)]
c) e[-2t+it]
6. Poziia i viteza unui corp sferic. Dac, din poziia de repaos, un corp sferic este eliberat
de la o nlime ho, avnd o vitez pe vertical vo , poziia i viteza corpului sunt obinute n
funcie de timp prin ecuaiile:
1 2
( ) = + 0 + 0
2
() = + 0
unde g este acceleratia gravitatonal (-9,81 m/s2), h este nlimea de la care corpul ncepe
micarea i v este componenta vertical a vitezei.
Scriei un program MATLAB care cere utilizatorului nlimea iniial exprimat n (m) i
viteza corpului n (m/s). De asemenea, programul trebuie s afieze un grafic n care viteza si
nlimea s variez n funcie de timp. Asiguraiv c graficul are toate componentele necesare.
7. Un vector bidimensional poate fi caracterizat ntr-un plan Cartezian fie prin coordonate
liniare (x,y), fie prin coordonate polare (r,). Corespondena dintre cele dou tipuri de
coordonate este dat prin ecuaiile:
= cos
= sin

= 2 + 2

= 1

Utilizai MATLAB pentru a gsi funcia atan2, apoi soluionai urmtoarele cerine:
a) scriei un program care accept vectori bidimensionali n coordonate liniare i
calculeaz un vector n coordonate polare cu unghiul exprimat n grade.
b) Scriei un program care accept vectori bidimensionali n coordonate polare i
calculeaz un vector n coordonate liniare.
8. Calcularea unghiului dintre doi vectori. Produsul dot dintre doi vectori este egal cu
produsul dintre marimea fiecrui vector i unghiul dintre ei, adic:
= ||||
Ecuaia de mai sus este valabil att pentru vectori bidimensionali, ct i vectori
tridimensionali. Utiliznd ecuaia de mai sus, scriei un program care calculeaz unghiul dintre
doi vectori bidimensionali specificai de utilizator.

8
suport de laborator
Informatic Aplicat 2
Programare n MATLAB pentru ingineri exerciii, aplicaii i teme

9. Utilizai ecuaia de la ex.8 pentru a scrie un program care calculeaz unghiul dintre doi
vectori tridimensionali specificai de utilizator.
10. Trasai graficul funciilor f1(x) = sin x i f2(x) = cos 2x pentru intervalul -2 x 2, pe
aceiai ax, utiliznd o linie continu de culoare albastr pentru f1(x) i o linie ntrerupt de
culoare roie pentru f2(x). Apoi, s se traseze graficul funciei f3(x) = f1(x)-f2(x) pe aceiai ax
utiliznd o linie punctat neagr. Adugai un titlu, etichete pentru axe, o legend i reeaua de
coordonate.

9
suport de laborator

S-ar putea să vă placă și