1、 采用 EL-CENTRO 地震波计算单自由体系的振动位移反应谱前言:本课程论文采用软件是 MATLAB R2010a,所编程序应用的方法是线性加速度法。程序采用的是两层循环上实现位移谱的求取。内循环实现在地震波下由上一步所得到的位移、速度和加速度得到下一时间间隔后的位移速度和加速度;外循环实现在不同结构自振周期(频率)下遭遇地震波的响应。本文在求出相对位移反应谱的同时,也求出了相对速度反应谱、绝对加速度反应谱。1线性加速度法的简述:线性加速度法是直接数值积分法求解地震反应的方法之一,本文所采用的线性加速度法参考大崎顺彦的地震动的谱分析入门第二版。具体计算公式详见大崎顺彦的地震动的谱分析入门第
2、二版 P116-P118。2所编程序及编译:clear% *读入地震记录*fid = fopen(ei.txt);Accelerate,count = fscanf(fid,%g); %count 读入的记录的量time=0:0.02:(count-1)*0.02;% *线性加速度法 计算各反应*%初始化各储存向量Displace=zeros(1,count); %相对位移Velocity=zeros(1,count); %相对速度AbsAcce=zeros(1,count);%绝对加速度Damp=0.05; %结构阻尼比取为0.05Tc=0.0:0.05:10; %结构自振周期Dt=0.02
3、; %地震记录的步长%记录计算得到的反应,MDis为最大相对位移,MVel为 最大相对速度%MAcc 某阻尼时最大绝对加速度,用于画图MDis=zeros(1,length(Tc);MVel=zeros(1,length(Tc);MAcc=zeros(1,length(Tc);t=1; %在下一个循环中控制不同的 结构自振周期for T=0.0:0.05:10Frcy=2*pi/T ; %结构自振频率DamFrcy=Frcy*sqrt(1-Damp*Damp);%计算公式化简 e_t=exp(-Damp*Frcy*Dt);s=sin(DamFrcy*Dt);c=cos(DamFrcy*Dt);
4、A=zeros(2,2); A(1,1)=e_t*(s*Damp/sqrt(1-Damp*Damp)+c);A(1,2)=e_t*s/DamFrcy;A(2,1)=-Frcy*e_t*s/sqrt(1-Damp*Damp);A(2,2)=e_t*(-s*Damp/sqrt(1-Damp*Damp)+c);d_f=(2*Damp2-1)/(Frcy2*Dt); %计算公式化简d_3t=Damp/(Frcy3*Dt);B=zeros(2,2);B(1,1)=e_t*(d_f+Damp/Frcy)*s/DamFrcy+(2*d_3t+1/Frcy2)*c)-2*d_3t;B(1,2)=-e_t*(d
5、_f*s/DamFrcy+2*d_3t*c)-1/Frcy2+2*d_3t;B(2,1)=-e_t*(Damp/(Frcy*Dt)+1)*s/DamFrcy)+(1/(Frcy2*Dt)*c)+1/(Frcy2*Dt);B(2,2)=e_t*(Damp/(Frcy*Dt)*s/DamFrcy)+(1/(Frcy2*Dt)*c)-1/(Frcy2*Dt); for i=1:(count-1) %根据地震记录,计算不同的反应Displace(i+1)=A(1,1)*Displace(i)+A(1,2)*Velocity(i)+B(1,1)*Accelerate(i)+B(1,2)*Accelera
6、te(i+1);Velocity(i+1)=A(2,1)*Displace(i)+A(2,2)*Velocity(i)+B(2,1)*Accelerate(i)+B(2,2)*Accelerate(i+1);AbsAcce(i+1)=-2*Damp*Frcy*Velocity(i+1)-Frcy2*Displace(i+1);endMDis(1,t)=max(abs(Displace); MVel(1,t)=max(abs(Velocity);if T=0.0MAcc(1,t)=max(abs(Accelerate); %当结构的自振周期为0时,其绝对加速度应等于地面加速度elseMAcc(1
7、,t)=max(abs(AbsAcce);endDisplace=zeros(1,count);%初始化各储存向量避免下次计算 时引用到前面结果Velocity=zeros(1,count);AbsAcce=zeros(1,count);t=t+1; %t=length(Tc),即所求结构自振周期有多少个,对应就运行多少次。end% *绘图*figure %绘制位移反应谱 plot(Tc,MDis)title(DisplacementResponseSpectrum)xlabel(Tn(s)ylabel(Displacement(m)legend(=0.05)gridfigure %绘制速度反
8、应谱 plot(Tc,MVel)title(VelocityResponseSpectrum)xlabel(Tn(s)ylabel(Velocity(m)legend(=0.05)gridfigure %绘制速度反应谱 plot(Tc,MAcc)title(absAccelerateResponseSpectrum)xlabel(Tn(s)ylabel(absAccelerate(m)legend(=0.05)grid三地震反应谱:1.相对位移反应谱(DisplacementResponseSpectrum )2.相对速度反应谱(VelocityResponseSpectrum)3.绝对加速度
9、反应谱(absAccelerateResponseSpectrum)4Matlab 操作截图:(在 m 文件编辑器中编写程序,在 commad windows 检错并运行)M 文件编辑器编写程序:Command windows 窗口检错并运行5、参考文献1大崎顺彦 地震动的谱分析入门 第二版 地震出版社,2008.2R.克拉夫 J.彭津.结构动力学M. 第二版 高等教育出版社,20063张志涌 精通 MATLABR2011a .北京航空航天大学出版社,20124陈怀琛 Matlab 及其在理工课程中的应用指南 第三版,西安电子科技大学出版社 20075徐斌 Matlab 有限元结构动力学分析与工程应用 清华大学出版社,2009