1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
function Amplitudes_vibrations(varargin)
global Nbr_elements Inertie Raideur Amortissement Frequence_triees Nbr_elements_avant_M Nbr_elements_M
Ordre_allumage = evalin('base','Ordre_allumage');
Nbr_cylindres = evalin('base','Nbr_cylindres');
Aiq(1,:) = evalin('base','Aiq');
Biq(1,:) = evalin('base','Biq');
Alpha_gene = 720/Nbr_cylindres;
Alpha=zeros(Nbr_elements,1);
for i = (Nbr_elements_avant_M+1) : ((Nbr_elements_avant_M+1)+Nbr_elements_M)
for j = 1 : Nbr_cylindres
if (i-Nbr_elements_avant_M) == Ordre_allumage(j)
Alpha(i) = Alpha_gene * ( j-1 );
end
end
end
assignin('base','Alpharem',Alpha)
for i = 1 : Nbr_elements
for q = 0.5:0.5:2
Aiq(i,q*2) = Aiq(1,q*2) * cos( q * Alpha(i) ) + Biq(1,q*2) * sin( q * Alpha(i) );
Biq(i,q*2) = Aiq(1,q*2) * sin( q * Alpha(i) ) + Biq(1,q*2) * cos( q * Alpha(i) );
end
end
Y = [Aiq;Biq];
Omega = Frequence_triees * pi / 30;
for w = 1:Nbr_elements
t = 0:(4*pi/(10*Omega(w))):(4*pi/Omega(w));
for q = 0.5:0.5:2
a = Raideur - Inertie * Omega(w) * Omega(w) * q * q;
b = Amortissement * Omega(w) * q;
end
Matrice_alpha = [a -b;b a];
X = inv(Matrice_alpha) * Y;
Xq = X(1:Nbr_elements,:);
Yq = X(Nbr_elements+1:2*Nbr_elements,:);
for i = 1 : Nbr_elements
for q = 0.5:0.5:2
Teta_q(i,q*2,:) = Xq(i,q*2) * sin( q * Omega(w) * t) + Yq(i,q*2) * cos( q * Omega(w) * t);
end
end
for i = 1:Nbr_elements
Teta(i) = sum(Teta_q(i,:));
end
%Matrice_Omega(w,1) = Teta_q(w);
Matrice_Omega(w,2) = Teta(w);
end
for i = 1:(Nbr_elements-1)
Delta_Teta(i) = Teta(i+1) - Teta(i)
end |
Partager