1 / 5
文档名称:

MATLAB程序精确法求解反应谱.doc

格式:doc   大小:31KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MATLAB程序精确法求解反应谱.doc

上传人:春天资料屋 2022/7/29 文件大小:31 KB

下载得到文件列表

MATLAB程序精确法求解反应谱.doc

相关文档

文档介绍

文档介绍:MATLAB程序精确法求解反应谱
MATLAB程序精确法求解反应谱
1/5
MATLAB程序精确法求解反应谱
MATLAB程序精确法求解反应谱-2008-04-06(本文程序仅供参照,请勿直接抄袭)2010/01/2e_t*(-s*Damp/sqrt(1-Damp*Damp)+c);
d_f=(2*Damp^2-1)/(Frcy^2*Dt);%计算公式化简
d_3t=Damp/(Frcy^3*Dt);
B=zeros(2,2);
B(1,1)=e_t*((d_f+Damp/Frcy)*s/DamFrcy+(2*d_3t+1/Frcy^2)*c)-2*d_3t;
B(1,2)=-e_t*(d_f*s/DamFrcy+2*d_3t*c)-1/Frcy^2+2*d_3t;
B(2,1)=e_t*((d_f+Damp/Frcy)*(c-Damp/sqrt(1-Damp^2)*s)-(2*d_3t+1/Frcy^2)*(DamFrcy*s+Damp*Frcy*c))+1/(Frcy^2*Dt);
B(2,2)=e_t*(1/(Frcy^2*Dt)*c+s*Damp/(Frcy*DamFrcy*Dt))-1/(Frcy^2*Dt);
fori=1:(count-1)%依照地震记录,计算不同样的反应Displace(i+1)=A(1,1)*Displace(i)+A(1,2)*Velocity(i)+B(1,1)*Accelerate(i)+B(1,2)
*Accelerate(i+1);
Velocity(i+1)=A(2,1)*Displace(i)+A(2,2)*Velocity(i)+B(2,1)*Accelerate(i)+B(2,2)
MATLAB程序精确法求解反应谱
MATLAB程序精确法求解反应谱
3/5
MATLAB程序精确法求解反应谱
*Accelerate(i+1);
AbsAcce(i+1)=-2*Damp*Frcy*Velocity(i+1)-Frcy^2*Displace(i+1);
end
MDis(j,t)=max(abs(Displace));
MVel(j,t)=max(abs(Velocity));
ifT==
MAcc(j,t)=max(abs(Accelerate));
else
MAcc(j,t)=max(abs(AbsAcce));
end
Displace=zeros(1,count);%初始化各储蓄向量,防备下次不同样周期计算时引用到前一个周期的结果
Velocity=zeros(1,count);
AbsAcce=zeros(1,count);
t=t+1;
end
j=j+1;
end
***********PLOT***********
closeall
figure%绘制地震记录图plot(time(:),Accelerate(:))
title('PEERSTRONGMOTIONDATABASERECORD--CHI010')xlabe