Documente Academic
Documente Profesional
Documente Cultură
Matlab - A
Pentru matrice cu numere complexe:
Y
dot(A,B) =
1:
2: Intrari:
localizarea pe fiecare dintre cele 3 axe x, y, z a componentelor sistemului
masa fiecarei componente
Iesiri: pozitia centrului de masa
Suportul teoretic al problemei (exemplu pentru 3 puncte)
Un caz particular
Vector Matlab
Solutia Matlab
%Calculul modului fiecarui vector
mag_A = sqrt(sum(A.^2));
mag_B = sqrt(sum(B.^2));
%Cosinusul unghiului
cos_theta = dot(A,B)/(mag_A*mag_B);
%\unghiul
theta = acos(cos_theta);
%Afisarea rezultatului
fprintf(Unghiul dintre cei 2 vectori este de %4.3f radiani
\n',theta)
fprintf(sau %6.2f grade \n',theta*180/pi)
Inmultirea matricelor
A*B
dot(A(i,:),B(:,j)) cu i=1:n, j=1:m
For i=1:n
For j=1:m
For k=1:p
c(i,j) = c(i,j) + a(i,k)*b(k,j)
End
End
End
Coord_centru=coord*mass/sum(mass)
Alte operatii
Ridicarea la putere a matricelor:
n=m
A^k diferit de A.^k
Inversarea
A^-1
inv(A)
Gasirea determinantului
det(A)
Solutia Matlab
clear
V_1= 2;
R_1= 330;
R_2= 70;
R_3= 160;
R_4= 270;
B=[1/R_1+1/R_3+1/R_4 -1/R_3 ; ...
-1/R_3 1/R_3+1/R_2]
A=[V_1/R_1; V_1/R_2]
C=inv(B)*A
Parcurgeri
for i = 1: floor(n/2)
for j = i: n-i
fprintf('%.0f;', a(i,j));
end
for j = i:n-i
fprintf('%.0f;', a(j,n-i+1));
end
for j = n-i+1:-1:i+1
fprintf('%.0f;', a(n-i+1,j));
end
for j = n-i+1:-1:i+1
fprintf('%.0f;', a(j,i));
end
end
Parcurgerea
in spirala
Dreptunghi de stelute
rows = 3;
columns = 5;
% parcurg liniile
for i = 1:rows
% pentru fiecare linie afisez mai multe * si un \n
for j = 1:columns
fprintf('*')
end
fprintf('\n')
end
Arbore de stelute
for i = 1:inaltime
for j = 1 : inaltime-i+1
fprintf(' ')
end
for j = inaltime-i+2:inaltime+i
fprintf('*')
end
%optional
for j = inaltime+i+1 : 2*inaltime
fprintf(' ')
end
fprintf('\n')
end
Produsul vectorial
cross(A, B)
Solutia Matlab
%Momentul fata de un punct
%Definirea vectorului de pozitie
r = [12/sqrt(2), 12/sqrt(2), 0];
%Definirea vectorului fortelor
F = [-100, 20, 0];
%Calcularea momentului
moment=cross(r,F)
Matrice speciale
8
3
4
ones
zeros
eye
magic
1
5
9
6
7
2
Functii logice
Find identifica intr-o matrice elementele ce
indeplinesc un anumit criteriu
Exemplu:
inaltimi = [63,67,65,72,69,78,75]
accept = find(inaltimi>=66 )
accept -> [67, 72, 69, 78, 75] -> NU
accept -> [2, 4, 5, 6, 7] -> corect
vector_inaltimi = inaltimi(accept) -> 67, 72, 69, 78,
75
varsta
applicants = [ 63, 18; 67, 19; 65, 18; 72, 20; 69, 36; 78,
34; 75, 12]
pass = find(applicants(:,1)>=66 & applicants(:,2)>=18
& applicants(:,2) < 35)
Calcul simbolic
>> solve('x^2-2*x+1')
ans =
1
1
>> sym x^2-2*x+1
ans =
x^2 - 2*x + 1
>> solve(ans)
ans =
1
1
Aplicatii
2x daca x < 10
Se considera functia: f (x ) =
1000 0.5 x daca x [100,1000 )
x daca x 1000
Raspuns:
y = 10; y = 50; y = 750; y = 70.7107
Ti+ 1 = Ti + K (t i+ 1 t i ) T
in care Tbf = 14oC, Tbi = 30oC, Tf = 10oC
Raspuns:
t = 33
Deci dupa 33 minute putem scoate berea
de la frigider la temperatura de 14oC.
Raspuns:
lungime_metri: 1.2954
1 inch = 0.0254 m
1 foot = 0.3048 m
1 mm = 0.001 m
Problema este corect formulata. Pentru rezolvare vom observa ca n condiiile n care
transportorul sta pe loc singura miscare ce poate avea loc este o rotatie (de exemplu
greutatea ridicata este prea mare si atunci botul masinii coboara si spatele masinii se
ridica). Aceasta miscare este data de momentele ce sunt create de fortele ce actioneaza.
Deci trebuie sa precizam care sunt ecuatiile de echilibru ale momentelor. Sunt doua
puncte n care aceste momente actioneaza asupra mainii, punctele A si B. ntruct masina
este n echilibru suma momentelor n cele doua puncte este zero. Pentru punctul A avem
ecuatia:
Nf 2a -G1 1.5a -G2 4a = 0
Pentru punctul B obtinem ecuatia: G1 a - Ns 2a G2 4a = 0
Nf =
% date initiale
g1= 4500;
g2= 2500;
% calculul reactiunilor
nf=(g1*1.5+g2*4)/2;
ns=(g1-g2*1.5)/2;
>>nf
>>ns
1,5G1 + 4G2
G 1,5G2
; Ns = 1
2
2
Raspuns:
nf = 6700
ns = 300
Deci volumul rezervorului este de 500 m3. Dar volumul rezervorului este:
VR
2 3
1500 2 r 3
= r h + r = 500 h =
3
3 r 2
2
% se definesc vectorii r si h
>>r=2:0.001:8;
>>h=(1500-2*pi*r.^3)/3/pi./r.^2;
% se calculeaza vectorul cost
>>cost=300*2*pi*r.*h+1000*pi*r.^2+25*pi*(r+1).^2+100*pi*r;
% se deseneaza graficul costului in functie de raza
>>plot(r,cost)
>>title(Functia cost)
>>xlabel(raza [m])
>>ylabel(costul [euro])
% se calculeaza costul minim, raza si inaltimea corespunzatoare
>>[costmin,indmin]=min(cost);
Raspuns:
>>disp(Costul minim in euro este: )
Costul minim in Euro este:
>>disp(costmin)
>> disp (costmin)
>>disp(Raza minima in metri este: )
1.0812e+005
>>disp(r(indmin))
Raza minima in metri este:
>>disp(Inaltimea minima in metri este: )
>> disp(r(indmin))
>>disp(h(indmin))
4.2040
Inaltimea minima in metri este:
>> disp (h(indmin))
6.2026
Functia cost
x 10
1.7
1.6
costul [Euro]
1.5
1.4
1.3
1.2
1.1
1.0812
1
4 4.2040
5
raza [m]
Raspuns:
tr=2*v0*sin(alfa)/g
[0.85,1.78]
t=0:0.01:tr;
v=sqrt(v0^2-2*v0*g*sin(alfa)*t+g^2*t.^2);
h=v0*t*sin(alfa)-0.5*g*t.^2;
u=find (h>6 & v<16)
t1=t(u(1))
(Timpii apartin unui interval dat de primul rang si ultimul
t2=t(u(end)) rang din u. Se determina capetele acestui interval.)
examene
UTDH
10403 - 22 ian 2015, ora 11
10404 - 26 ian 2015, ora 11
IEDM
10503 ultimul curs
10504 ultimul curs
UPP
10304 - vineri 13 feb, ora 11
10305 - vineri 6 feb, ora 11
10306 - 23 ian 2015, ora 11