end at=at+atj; end
%%%%%%% 计算反应谱验证是否满足rc在5%的要求 %%%%%%%%%%%% response spectra of callidar %%%%%%% parameter g=9.8; m=1; x0=0; v0=0;
ww=2*pi./Tyz; %%%%%%%% load ag=at; %%%%%%%修改
%%%%%%% solution for y=1:nTyz z=0.037; w=ww(y); c=2*z*w; k=w^2; for i=1:nt-1
p(i)=-ag(i+1)+ag(i); a0=m\\(-ag(i)-c*v0-k*x0); kk=k+(dt^2)\\(6*m)+dt\\(3*c);
pp=p(i)+m*(dt\\(6*v0)+3*a0)+c*(3*v0+2\\(dt*a0)); dx=kk\\pp;
dv=dt\\(3*dx)-3*v0-2\\(dt*a0); x1=x0+dx; x0=x1; v1=v0+dv; v0=v1; as(i)=a0;
as(i)=as(i)+ag(i); vs(i)=v0; xs(i)=x0; end
maxas(y)=max(as); maxvs(y)=max(vs); maxxs(y)=max(xs); end
for i=1:nTyz
rspa(i)=maxas(i); end
%%%%%%% 比较容差 for i=1:nTyz
rcrsp(i)=abs(rspa(i)-Syz(i))/max(Syz(:)); end
jsnum=jsnum+1 max(rcrsp(:)) end
%%%%%%% 最终的反应谱 与规范谱
%%%%%%%%%%%% response spectra of callidar %%%%%%% parameter %% Tjs=0.05:0.01:6; %% nTjs=length(Tjs); g=9.8; m=1; x0=0; v0=0;
ww=2*pi./Tyz; %%%%%%%% load ag=at; %%%%%%%修改 %%%%%%% solution for y=1:nTyz z=0.037; w=ww(y); c=2*z*w; k=w^2; for i=1:nt-1
p(i)=-ag(i+1)+ag(i); a0=m\\(-ag(i)-c*v0-k*x0); kk=k+(dt^2)\\(6*m)+dt\\(3*c);
pp=p(i)+m*(dt\\(6*v0)+3*a0)+c*(3*v0+2\\(dt*a0)); dx=kk\\pp;
dv=dt\\(3*dx)-3*v0-2\\(dt*a0); x1=x0+dx; x0=x1; v1=v0+dv; v0=v1; as(i)=a0;
as(i)=as(i)+ag(i); vs(i)=v0; xs(i)=x0; end
maxas(y)=max(as); maxvs(y)=max(vs);
maxxs(y)=max(xs); end
for i=1:nTyz
rspa(i)=maxas(i)/g;
rspa_S(i)=r_s_1(2*pi/Tyz(i),ceita,8,2,1)/g; end
subplot(2,1,1); plot(t,at); subplot(2,1,2); plot(Tyz,rspa); hold on;
plot(Tyz,rspa_S);
4 生成的人造地震波如图所示。
图6 人造地震波和初始反应谱