%% 带有对称半正弦前置冲击和后置冲击的半正弦脉冲
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear %清楚内存中所有变量和函数
clc %清楚工作窗口中所有显示的内容
close all hidden %关闭所有隐藏的窗口
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
p=0.1;
tau=1;
tau_1=tau/2/p;
t1=(0:0.00001:tau_1);
t2=(tau_1:0.00001:tau_1+tau);
t3=(tau_1+tau:0.00001:2*tau_1+tau);
dd_xm=1;
%% 半正弦冲击加速度、速度和位移的时间历程
%% 加速度
dd_x1=-p*dd_xm*sin(pi/tau_1.*t1);
dd_x2=dd_xm*sin(pi/tau.*(t2-tau_1));
dd_x3=-p*dd_xm*sin(pi/tau_1.*(t3-tau-tau_1));
figure
plot(t1,dd_x1,'r-',t2,dd_x2,'r-',t3,dd_x3,'r-');
str='—加速度';
text(6,0.6,str);
hold on;
%% 速度
d_x1=dd_xm*tau/2/pi*(cos(pi/tau_1.*t1)-1);
d_x2=-dd_xm*tau/pi*cos(pi/tau.*(t2-tau_1));
d_x3=dd_xm*tau/2/pi*(1+cos(pi/tau_1.*(t3-tau-tau_1)));
plot(t1,d_x1,'b-',t2,d_x2,'b-',t3,d_x3,'b-');
str='—速度';
text(8.081,0.2006,str);
hold on;
%% 位移
x1=dd_xm*tau/2/pi*(tau/2/p/pi*sin(pi/tau_1.*t1)-t1);
x2=-dd_xm*tau^2/pi*(1/pi*sin(pi/tau.*(t2-tau_1))+1/4/p);
x3=dd_xm*tau^2/pi/2*(1/pi/2/p*sin(pi/tau_1.*(t3-tau_1-tau))+t3/tau-1-1/p);
plot(t1,x1,'g-',t2,x2,'g-',t3,x3,'g-');
str='—位移';
text(7.327,-0.397,str);
xlabel('时间/s')
ylabel('幅值')
hold on;
grid on;
%% p值不同时,冲击持续时间与幅值关系
u_m=1.788;%电动台最大位移
x_m=0.0127;%电动台最大位移
figure
p_5=1;
t_5=x_m/u_m/(1/pi+1/4/p_5);
t_5=(10^-4:0.0001:t_5);
dd_xm=u_m*pi./t_5;
loglog(t_5,dd_xm);
hold on;
for p_i=[0.05,0.1,0.25,0.5,1]
t_i=x_m/u_m/(1/pi+1/4/p_i);
t_k=(t_i:0.0001:0.1);
dd_xm1=x_m*pi/(1/pi+1/4/p_i)./t_k.^2;
loglog(t_k,dd_xm1);
hold on;
end
xlim([10^-4 10^-1])
ylim([10^1 10^4])
dim = [.7 .6 .3 .3];
str ={'±1.778m/s','±0.0127m'};
annotation('textbox',dim,'String',str,'FitBoxToText','on');
xlabel('持续时间/s')
ylabel('冲击幅值')
%% 最大位移与p参数的关系图
figure
i=1;
dd_x_m=1;
for p_i=(0.001:0.0001:1)
Z_x_m(i)=dd_x_m*tau^2*(1/pi+1/4./p_i)/pi;
S_z_m(i)=dd_x_m*tau^2*(3.+p_i+2./p_i)/pi^2;
J_z_m(i)=dd_x_m*tau^2*(1.+p_i/2+1/2./p_i-p_i.^3/24)/pi^2;
i=i+1;
end
pk=(0.001:0.0001:1);
semilogx(pk,Z_x_m,pk,S_z_m,pk,J_z_m);
legend('前置冲击和后置冲击为半正弦','前置冲击和后置冲击为三角形','前置冲击和后置冲击为矩形');
xlabel('p')
ylabel('xm')
grid on;