电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

地震工程学-反应谱和地震时程波的相互转化matlab编程VIP免费

地震工程学-反应谱和地震时程波的相互转化matlab编程_第1页
1/14
地震工程学-反应谱和地震时程波的相互转化matlab编程_第2页
2/14
地震工程学-反应谱和地震时程波的相互转化matlab编程_第3页
3/14
地震工程学作业课程名称:地震工程学______指导老师:_______翟永梅_________姓名:史先飞________学号:1232627________一、地震波生成反应谱1所取的地震波为Elcentro地震波加速度曲线,如图1所示。图1Elcentro地震波加速度曲线2所调用的Matlab程序为:%***********读入地震记录***********ElCentro;Accelerate=ElCentro(:,1)*9.8067;%单位统一为m和sN=length(Accelerate);%N读入的记录的量time=0:0.005:(N-1)*0.005;%单位s%初始化各储存向量Displace=zeros(1,N);%相对位移Velocity=zeros(1,N);%相对速度AbsAcce=zeros(1,N);%绝对加速度%***********A,B矩阵***********Damp=0.02;%阻尼比0.02TA=0.0:0.05:6;%TA=0.000001:0.02:6;%结构周期Dt=0.005;%地震记录的步长%记录计算得到的反应,MaxD为某阻尼时最大相对位移,MaxV为某阻尼最大相对速度,MaxA某阻尼时最大绝对加速度,用于画图MaxD=zeros(3,length(TA));MaxV=zeros(3,length(TA));MaxA=zeros(3,length(TA));t=1;forT=0.0:0.05:6NatualFrequency=2*pi/T;%结构自振频率DampFrequency=NatualFrequency*sqrt(1-Damp*Damp);%计算公式化简e_t=exp(-Damp*NatualFrequency*Dt);s=sin(DampFrequency*Dt);c=cos(DampFrequency*Dt);A=zeros(2,2);A(1,1)=e_t*(s*Damp/sqrt(1-Damp*Damp)+c);A(1,2)=e_t*s/DampFrequency;A(2,1)=-NatualFrequency*e_t*s/sqrt(1-Damp*Damp);A(2,2)=e_t*(-s*Damp/sqrt(1-Damp*Damp)+c);d_f=(2*Damp^2-1)/(NatualFrequency^2*Dt);d_3t=Damp/(NatualFrequency^3*Dt);B=zeros(2,2);B(1,1)=e_t*((d_f+Damp/NatualFrequency)*s/DampFrequency+(2*d_3t+1/NatualFrequency^2)*c)-2*d_3t;B(1,2)=-e_t*(d_f*s/DampFrequency+2*d_3t*c)-1/NatualFrequency^2+2*d_3t;B(2,1)=e_t*((d_f+Damp/NatualFrequency)*(c-Damp/sqrt(1-Damp^2)*s)-(2*d_3t+1/NatualFrequency^2)*(DampFrequency*s+Damp*NatualFrequency*c))+1/(NatualFrequency^2*Dt);B(2,2)=e_t*(1/(NatualFrequency^2*Dt)*c+s*Damp/(NatualFrequency*DampFrequency*Dt))-1/(NatualFrequency^2*Dt);fori=1:(N-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)*Accelerate(i+1);AbsAcce(i+1)=-2*Damp*NatualFrequency*Velocity(i+1)-NatualFrequency^2*Displace(i+1);endMaxD(1,t)=max(abs(Displace));MaxV(1,t)=max(abs(Velocity));ifT==0.0MaxA(1,t)=max(abs(Accelerate));elseMaxA(1,t)=max(abs(AbsAcce));endDisplace=zeros(1,N);%初始化各储存向量,避免下次不同周期计算时引用到前一个周期的结果Velocity=zeros(1,N);AbsAcce=zeros(1,N);t=t+1;End%***********PLOT***********closeallfigure%绘制地震记录图plot(time(:),Accelerate(:))title('PEERSTRONGMOTIONDATABASERECORD')xlabel('time(s)')ylabel('acceleration(g)')gridfigure%绘制位移反应谱plot(TA,MaxD(1,:),'-.b',TA,MaxD(2,:),'-r',TA,MaxD(3,:),':k')title('Displacement')xlabel('Tn(s)')ylabel('Displacement(m)')legend('ζ=0.02')Gridfigure%绘制速度反应谱plot(TA,MaxV(1,:),'-.b',TA,MaxV(2,:),'-r',TA,MaxV(3,:),':k')title('Velocity')xlabel('Tn(s)')ylabel('velocity(m/s)')legend('ζ=0.02')Gridfigure%绘制绝对加速度反应谱plot(TA,MaxA(1,:),'-.b',TA,MaxA(2,:),'-r',TA,MaxA(3,:),':k')title('AbsoluteAcceleration')xlabel('Tn(s)')ylabel('absoluteacceleration(m/s^2)')legend('ζ=0.02')Grid3运行的结果得到的反应谱图2位移反应谱图3速度反应谱图4加速度反应谱一、反应谱生成地震波1所取的反应谱为上海市设计反应谱图5上海市设计反应谱2反应谱取值程序为:%%规范反应谱取值程序参照01年抗震规范functionrs_z=r_s_1(pl,zn,ld,cd,fz)%%%pl圆频率,zn阻尼比,ld烈度,cd场地类型,场地分组fz%%%%烈度选择ifld==6arfmax=0.11;endifld==7arfmax=0.23;endifld==8arfmax=0.45;endifld==9arfmax=0.90;end%%%%场地类别,设...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

地震工程学-反应谱和地震时程波的相互转化matlab编程

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部