D1= (x1-Z);
D = (x1-Z).*(x1-Z);
Dat = forceZ(t)*B; xdot= K*C+ Dat; for i=1:m
xdot(2*i)= xdot(2*i) - 2*L*g*D1(i,1)/(2*L^2-D(i,1)); end
for i=1:m
Phi(i) = x2(2*i-1,1);
end
for i=1:m
Phi_2(i) = (-2*g*L)/(2*L^2-D(i))*Phi(i)/(1-(Phi(i))^2)+
Có thể bạn quan tâm!
- Nghiên cứu động lực học đường cáp vận chuyển trái thanh long ở vùng Tây Nam Bộ - 21
- Nghiên cứu động lực học đường cáp vận chuyển trái thanh long ở vùng Tây Nam Bộ - 22
- Nghiên cứu động lực học đường cáp vận chuyển trái thanh long ở vùng Tây Nam Bộ - 23
Xem toàn bộ 196 trang tài liệu này.
0.5*forceX(t)*(2-(Phi(i))^2)/(1-2*(Phi(i))^2); end
for i=1:m
xdot(2*m+ 2*i-1) = x2(2*i);
xdot(2*m+2*i) = Phi_2(i); end
end
%********************
% The forcing function, edit to change as needed.
%******************** function fz=forceZ(t)
Fz = 3.23*sin(1*t); % tan so phai < 5, tan so = 5.4 => co Phach fz= Fz/M;
end
function fx=forceX(t)
% FTT = 1.*rand; a= 2 ;
Fx = 0.4*sin(2*t); % tan so phai < 5, tan so = 5.3 => co
Phach
gia_toc=sin(t);
fx= gia_toc/L -Fx/(M*L);
end end
7) Tính biên độ dao độ cực đại theo các đại lượng: r,H,L,n
function DD_ngang_doc_H_r_L_chuan clc;
Ten_ghi = 'SoLieu_EXCEL_MATLAB.xlsx';
Matinh='n' ; % Ma_tinh = {r , H , L , n } =>
% r - tinh Bien do Max theo r,
% H - tinh Bien do Max theo H
% L - tinh Bien do Max theo L (khi co dinh Do_vong)
% n - tinh Bien do Max theo L ( khi L = (n-1)*S )
nhip
H
% H- luc cang ngang, r - do dai day treo gio , L - do dai day cáp
% n - số lượng giỏ treo trên nhịp.
Do_vong= 0.32; % (m) - co dinh Do_vong dung de chuyen do dai L sang n=31; % so luong gio trên mot nhip cáp
H=3500; % N Luc cang ngang
r= 0.3; % m do dài dây treo gio
S= 0.80; % m khoang cách giua hai gio M =2; % kg khoi luong gio hàng g=9.80; % m/s^2
gia_toc0= 1.*rand Bien_Fz=3.*rand;
q=M*10;
kx=0; r_day=zeros();
H_ngang = zeros(); L_day=zeros();
for k=1:5
r_day(k) = 0.2+(k-1)*0.05; % don vi m end
for k=1:5
H_ngang(k)= 3000+ (k-1)*500; % don vi N end
for k=1:5
L_day(k)= 20+ (k-1)*2; % don vi m end
Mang_ve=zeros();
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& for k_H=1:5
if Matinh=='r'
r = r_day(k_H);
end
if Matinh=='H'
H=H_ngang(k_H);
end
if Matinh=='L'
H= q*L_day(k_H)^2/(8*Do_vong); % Co dinh f n= round(L_day(k_H)/S) +1;
end
if Matinh=='n'
n= round(L_day(k_H)/S) +1; % Co dinh H
end
m=n-1;
Gio = round(m/2) Gio2= round(m/3) Gio1= round(m/4) Gio0= round(m/5)
b= (H/(M*g))*(r/S) A=zeros(m);
K_ve = rem(m,2) ; ve = m;
if K_ve == 0
ve = m+1;
end
for i=1:m
A(i,i)= 2*b+1; end
for i=1: m-1 A(i,i+1)=-b;
A(i+1,i)=-b;
end Son=inv(A);
K=zeros(4*m); C = zeros(4*m,1); B = zeros(4*m,1); x0=zeros(1,4*m);
for i=1:m
K(2*i-1,2*i)=1;
end
for i=1:m
B(2*i,1)=1;
end
x1 = zeros(); Z=zeros(); M_1=zeros(); M1=zeros(); D=zeros(); t_start = 0;
t_end = 100; %final time in seconds. time_span =t_start:0.001:t_end;
[t,x]=ode45(@rhs,time_span,x0); cot = size(x,2)
dong = (size(x,1)-1)
Goc=1; Toi = dong; so_tinh = Toi-Goc+1;
if Matinh=='H' Mang_ve(k_H,1) = H ;
end
if Matinh=='r' Mang_ve(k_H,1) = r ;
end
if Matinh=='L' Mang_ve(k_H,1) = L_day(k_H) ; end
if Matinh=='n' Mang_ve(k_H,1) = L_day(k_H) ;
end
Mang_ve(k_H,2) = max(abs(x(:,2*Gio0-1 )));
Mang_ve(k_H,3) = max(abs(x(:,2*Gio1-1 )));
Mang_ve(k_H,4) = max(abs(x(:,2*Gio2-1 )));
Mang_ve(k_H,5) = max(abs(x(:,2*Gio-1 ))); end % for k_H
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
% TTTTTTTTTTTTTT thay doi H và L v?i Max bien do Ve_BienD_H_r = 1;
if Ve_BienD_H_r ==1 cla;
plot(Mang_ve(:,1),Mang_ve(:,2),'k -.',Mang_ve(:,1),Mang_ve(:,3),'B
--',Mang_ve(:,1),Mang_ve(:,4),'Red
:*',Mang_ve(:,1),Mang_ve(:,5),'Black'); if Matinh=='H'
tgTet= ['Luc cang ngang H (N) ', ' n =' , num2str(n),', r(cm)
=', num2str(100*r),', S(cm) =', num2str(100*S) ] xlabel( tgTet )
end
if Matinh=='r'
tgTet= ['Do dai day treo gio (m) ', ' n =' , num2str(n),', H(N)
=', num2str(H),', S(cm) =', num2str(100*S) ] xlabel( tgTet )
end
if Matinh=='L'
tgTet= ['Do dai day cap (m) ', ', f(cm) =', num2str(Do_vong*100),', S(cm) =', num2str(100*S),', r(cm) =', num2str(100*r) ]
xlabel(tgTet ) end
if Matinh=='n'
tgTet= ['Do dai day cap (m) ', ', H(N) =', num2str(H),', S(cm)
=', num2str(100*S),', r(cm) =', num2str(100*r) ] xlabel(tgTet )
end
ylabel("Bien do Max cua Dao dong Ngang (m)"); if (Matinh=='H')| (Matinh=='r')
Thu_tu_gio = { ['Gio ' num2str(Gio1-2)] ['Gio ' num2str(Gio1)] ['Gio ' num2str(Gio2)] ['Gio ' num2str(Gio)]};
end
if (Matinh=='L') | (Matinh=='n')
Thu_tu_gio = ["Vi tri L/10" "Vi tri L/8" "Vi tri L/6" "Vi
tri L/2"];
end
legend(Thu_tu_gio); grid on
ghi_bang_H_L = 1
if ghi_bang_H_L==1 if Matinh=='H'
Tieu_de2 = ["H" num2str(Gio0) num2str(Gio1) num2str(Gio2) num2str(Gio)];
Tieu_de1 ={['Quan he H (N) và Bien do (m) Max cua gio ', ' n
=' , num2str(n),', r(cm) =', num2str(100*r),', S(cm) =', num2str(100*S)
] };
seet_ghi=5; end
if Matinh=='r'
Tieu_de2 = ["r" num2str(Gio0) num2str(Gio1) num2str(Gio2) num2str(Gio)];
Tieu_de1 ={['Quan he r (m) và Bien do (m) Max cua gio ',' n
=' , num2str(n),', H(N) =', num2str(H),', S(cm) =', num2str(100*S) ] }; seet_ghi= 6;
end
if Matinh=='L'
Tieu_de2 = ["L" " L/10" "L/8" "L/6" "L/2"];
Tieu_de1 ={['Quan he L (m) và Bien do (m) Max cua gio ', ', f(cm) =', num2str(Do_vong*100),', S(cm) =', num2str(100*S),', r(cm) =', num2str(100*r) ] };
seet_ghi= 7; end
if Matinh=='n'
Tieu_de2 = ["L" " L/10" "L/8" "L/6" "L/2"];
Tieu_de1 ={['Quan he L (m) và Bien do (m) Max cua gio ', ', H(N) =', num2str(H),', S(cm) =', num2str(100*S),', r(cm) =', num2str(100*r) ] };
seet_ghi= 8; end
xlswrite(Ten_ghi, Tieu_de1, seet_ghi, [ 'B' num2str(2)]);
end end
xlswrite(Ten_ghi, Tieu_de2 , seet_ghi, [ 'B' num2str(4)]); xlswrite(Ten_ghi,Mang_ve, seet_ghi, [ 'B' num2str(6)]);
% TTTTTTTTTTTTTT het thay doi H và L function xdot=rhs(t,x)
for i=1:4*m
C(i,1)=x(i);
end
for i=1:m
x1(i,1)=C(2*i-1,1);
end
for i=1:2*m
x2(i,1)= C(2*m+ i,1);
end Z=Son*x1;
D1= (x1-Z);
D = (x1-Z).*(x1-Z);
Dat = forceZ(t)*B; xdot= K*C+ Dat; for i=1:m
xdot(2*i)= xdot(2*i) - 2*r*g*D1(i,1)/(2*r^2-D(i,1)); end
for i=1:m
Phi(i) = x2(2*i-1,1);
end
for i=1:m
Phi_2(i) = (-2*g*r)/(2*r^2-D(i))*Phi(i)/(1-(Phi(i))^2)+
0.5*forceX(t)*(2-(Phi(i))^2)/(1-2*(Phi(i))^2); end
for i=1:m
xdot(2*m+ 2*i-1) = x2(2*i);
xdot(2*m+2*i) = Phi_2(i); end
end
%********************
% The forcing function, edit to change as needed.
%******************** function fz=forceZ(t)
Fz = 4*sin(1*t); % tan so phai < 5, tan so = 5.4 => co Phach fz= Fz/M;
end
function fx=forceX(t)
a= 2 ;
Fx = 0.4*sin(2*t); % tan so phai < 5, tan so = 5.3 => co
Phach
end
gia_toc=sin(3*t);
fx= gia_toc/r -Fx/(M*r); end
8) Đồ thị biên độ dao động cực đại phụ thuộc vào H và L (thực nghiệm và lý thuyết)
function Do_thi_Bien_do_DD_phu_thuoc_H_L_LT_TN clc;
cla;
Ten_ghi = 'SoLieu_EXCEL_MATLAB.xlsx';
num=xlsread(Ten_ghi, 9); n_L=num(2,1) n_H=num(1,2)
L= num(2,3:n_L+2); H =num(3:n_H+2,2);
[L,H]= meshgrid(L,H); H0=H/1000;
A = -9.7 -12.56*H0 + 4.33*L +1.56*H0.^2 -0.17*H0.*L - 0.05*L.^2 ;
q= 0.02 %kN/m
A_LT= 100*num(3:n_H+2,3:n_L+2) surf(L,H,A);
mesh(L,H,A_LT);
legend({' Hoi quy', ' Ly thuyet'}); hold on
ylabel('Luc cang ngang H(N)'); xlabel('Do dai nhip L(m)'); zlabel('Bien do Max A(cm)');
title('Do thi: Bien do Max A = A(H,L)') end
9) Đồ thị độ vòng cực đại phụ thuộc vào H và L (thực nghiệm và lý thuyết)
function Do_thi_Do_vong_phu_thuoc_H_L_LT_TN clc;
cla;
% DO thi do vòng the l?c c?ng ngang H và ?? dài nh?p L : LT và Th?c nghi?m
H =[ 3:0.1:5];
L= [20: 0.5:28];
[H,L]= meshgrid(H,L);
f =-5.037 -4.667*H + 2.069*L +3.056*H.^2 -1.188*H.*L+ 0.128*L.^2
;
q= 0.02 %kN/m
f_LT= 100*(q/8)*L.*L./H;
mesh(1000*H,L,f); surf(1000*H,L,f_LT);
legend({' Hoi quy', ' Ly thuyet'}); hold on
xlabel('Luc cang ngang H (N)'); ylabel('Do dai nhip L (m)'); zlabel('Do vong f (cm)');
title('Do thi: Do vòng f = f(H,L)')
end