利用matlab软件利用中心差分法模拟单自由度在EIcentro地震波作用下的位移反应,并与拟静力试验得到的数据进行对比。
X=(0:0.02:20);
Y=xlsread('地震波','A:A');
X1=xlsread('刚度试验','A:A');
Y1=xlsread('刚度试验','B:B');%Y为EIcentro地震波,X1、Y1为试验所得数据
A=[7.5439e4 1.2007e5 2.37e6 0.02];%阻尼、质量、刚度、步长
u=zeros(length(Y),1);
for i=3:length(Y)
u(i)=(-A(2)*Y(i-1)/2324+(2*A(2)/A(4)^2-A(3))*u(i-1)+(A(1)/(2*A(4))-A(2)/A(4)^2)*u(i-2)-A(3)*u(i-1))/(A(2)/A(4)^2+A(1)/(2*A(4)));
end
plot(X,u*1000,X1,Y1,'r--');
title('数值模拟与实验数值对比');
xlabel('时间(s)');
ylabel('位移(mm)');
legend('数值模拟值','实验值');
axis([0 20 -7 7]);