Sunteți pe pagina 1din 2

function utilaje2=utilaje2(m1,m2,k1,k2)

% introducerea datelor
M=[m1 0;0 m2]; %matricea de inertie
K=[k1 k1;-k1 k1+k2]; %matricea de rigiditate
% calculul matricei dinamice D
E=inv(M);
D=E*K;
%determinarea pulsatiilor proprii ca o problema de vectori si valori proprii
[Q,V]=eig(D);
p=sort(sqrt(eig(D))); %pulsatiile proprii
p1=p(1);
p2=p(2);
%determinarea formelor proprii
miu_21=-(D(1,1)-p(1).*p(1))/D(1,2); %coeficient de distributie
miu_22=-(D(1,1)-p(2).*p(2))/D(1,2); %coeficient de distributie
%verificarea ortogonalitatii modurilor proprii
%relatia de calcul pe baza coeficientilor de inertie
ort_1=round([1 miu_22]*M*[1;miu_21]);
%relatia de calcul pe baza coeficientilor de rigiditate
ort_2=round([1 miu_22]*K*[1;miu_21]);
%determinarea vectorilor proprii
a_1=[1;miu_21];
a_2=[1;miu_22];
%calculul matricei modale A
A=[1 1 ;miu_21 miu_22];
%calculul maselor generalizate
M1=[1 miu_21]*M*[1;miu_21];
M2=[1 miu_22]*M*[1;miu_22];
%calculul rigiditatilor generalizate
K1=[1 miu_21]*K*[1;miu_21];
K2=[1 miu_22]*K*[1;miu_22];
%verificarea pulsatiilor proprii din ecuatiile diferentiale in coordonate principale
p1_1=sqrt(K1/M1);
p2_2=sqrt(K2/M2);
%Afisarea rezultatelor
disp('Afisarea rezultatelor')
disp('Matricea dinamica D')
D
disp('Pulsatiile proprii sunt:')
disp(['p1=',num2str(p1),'[rad/s]'])
disp(['p2=',num2str(p2),'[rad/s]'])
disp('Coeficientii de distributie sunt:')
miu_21
miu_22
disp('Vectorii proprii sunt:')
a_1
a_2
disp('Matricea A')
A
disp('Verificarea ortogonalitatii modurilor proprii cu ajutorul
coeficientilor de inertie')
disp([' ort_1 =',num2str(ort_1)'])
disp('Verificarea ortogonalitatii modurilor proprii cu ajutorul
coeficientilor de rigiditate')
disp([' ort_2 =',num2str(ort_2)'])
disp('Masele generalizate')
M1
M2
disp('Rigiditatile generalizate')
K1
K2
disp('Verificarea pulsatiilor proprii din ecuatiile diferentiale in

coordonate principale')
disp(['p1_1=',num2str(p1_1),'[rad/s]'])
disp(['p2_2=',num2str(p2_2),'[rad/s]'])

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