2、)不同周期的单自由度结构的线弹性反应幅值,得到的速度、加速度、移幅值随周期变化的三条曲线。a1(i)=max(abs(a+xg'));v1(i)=max(abs(v));x1(i)=max(abs(x));用法:今后给定一个结构,我们可以计算其周期T1,然后在相应的反应谱图表里面找到对应的谱值如Sa、Sv、Sd,即为我们所要求得的该结构在指定地震动作用下最大动力反应,将动力分析简化成为静力计算,简单方面。(弹性范围内)主程序DZZY.mclearclcM=1;%[]fid=fopen('RSN2345CHICHI.txt');%%读取地震动加速度记录xg=9.8*fscanf
3、(fid,'%f');fclose(fid);n=length(xg);F=-M*xg';%生成地震力fori=1:1000tn(i)=0.01*i;K=2*pi*2*pi/tn(i)/tn(i);lamda=2*pi/tn(i);dt=0.005;t=(0:0.005:(n-1)*0.005)';x0=0;v0=0;a0=0;ksi=0.01*5;DAMPER=2*ksi*lamda*M;[x,v,a]=newmarkb(M,K,DAMPER,1,F,x0,v0,a0,dt,n);a1(i)=max(abs(a+xg'));v1(i)=max(abs(v));x1(i)=m
4、ax(abs(x));endtest=importdata('a2.txt');%%读取Seismosignal绝对加速度a2=test(:,2)*9.8;testv=importdata('v2.txt');%%读取Seismosignal速度v2=testv(:,2);testd=importdata('x2.txt');%%读取Seismosignal相对位移x2=testd(:,2);tn=0.01:0.01:10;figure(1)plot(tn,x1*1000,'r--')xlabel('周期T(s)')ylabel('位移(mm)')holdonplot(tn,
5、x2*1000,'linewidth',2)legend('matlab相对位移','Seismosignal相对位移')%%figure(2)plot(tn,a1,'r--','linewidth',1)xlabel('周期T(s)')ylabel('Sa(m/s^2)')holdonplot(tn,a2,'k','linewidth',2)legend('matlab-Sa','Seismosignal-Sa')figure(3)plot(tn,v1)xlabel('周期T(s)')ylabel('速度(m/s)')holdonplot(tn,v2,'linewidth'
6、,2)legend('matlab-Sv','Seismosignal-Sv')holdofffigure(4)holdonplot(t,xg)legend('地震动加速度')xlabel('时间(s)')ylabel('加速度(m/s^2)')forj=1:1000%求比值ca(j)=a2(j)/a1(j);cv(j)=v2(j)/v1(j);cx(j)=x2(j)/x1(j);endfigure(6)plot(tn,ca)legend('Seismosignal加速度/MATLAB加速度比值')xlabel('周期T(s)')ylabel('比值')figure(7)pl
7、ot(tn,cv)legend('Seismosignal速度/MATLAB速度比值')xlabel('周期T(s)')ylabel('比值')figure(8)plot(tn,cx)legend('Seismosignal位移/MATLAB位移比值')xlabel('周期T(s)')ylabel('比值')子程序newmarkb.mfunction[x,v,a]=newmarkb(M,K,C,N,P,x0,v0,a0,dt,RecordLength)%newmark-betamethod%obtain