%本程序采用振型分解反应谱法计算框架结构水平地震力%采用KN.M单位%运行本程序之前请运行CYGD1.M和CYGD2.M求解框架水平侧移刚度%本程序未考虑扭转耦联振动,只能用于平面框架计算。求解所有振型。%结构地震影响系数按高规3.3.8选取%地震作用和作用效应按高规3.3.10计算clear%清理WORKSPACEk0=[263770%各层框架侧移刚度263770263770263770123582];m0=[1.904%各层质量,重力荷载代表值/g2.6772.6772.6772.677]*1.0e3./9.8;n1=0.21712;%单榀框架地震力分配系数Tg=0.35;%特征周期(按规范选取)s=0.05;%阻尼比(按规范选取)r=0.9;%衰减系数(按规范选取)y1=0.02;%阻尼比调整系数1(按规范选取)y2=1;%阻尼比调整系数2(按规范选取)amax=0.08;%水平地震最大影响系数(按规范选取)zjxu=0.7%周期折减系数(按规范选取)cn=length(m0)%计算楼层数l=diag(ones(cn));m=diag(m0);%计算质量矩阵ik=matrixju(k0,cn);%计算刚度矩阵[x,d]=eig(ik,m)%求解特征值和特征向量d=diag(sqrt(d))%求解结构圆频率T=zjxu*2*pi./d%求解结构特征周期并作折减,折减系数0.7fori=1:cn;[dl(i),j]=min(d);xgd(:,i)=x(:,j);d(j)=max(d)+1;endw=dl;%输出结构自振频率x=xgd;forj=1:cn;%求解结构振型参与系数和各质点的水平相对位移xx(:,j)=x(:,j)/x(cn,j);zhcan(j)=(x(:,j))'*m*l/((x(:,j))'*m*x(:,j));endy=zhcan'%输出振型参与系数alpha=zeros(cn,1);%求解地震影响系数fori=1:cn;ifT(i)0.1alpha(i)=5.5*amax*T(i)+0.45*amax;elseifT(i)Tg;alpha(i)=amax;elseifT(i)5*Tg;alpha(i)=[0.2.^r-y1*(T(i)-5*Tg)/y2]*amax;elsealpha(i)=(Tg/T(i)).^r*amax;endendendenda=alpha%输出地震影响系数F=zeros(cn);%求解各振型下,各层水平地震力fori=1:cn;F(:,i)=x(:,i).*m0.*y(i).*a(i).*9.8;endf=F.*n1%求解分配后地震力,并排序z=zeros(cn,cn);b=cn+1;forn=1:cn;z(b-n,:)=f(n,:);endp=z%输出地震力v=zeros(cn,1);%求解水平地震力效应值fori=1:cn;v(i)=sum(p(i,:).^2);endV=v.^0.5子程序functionkcju=matrixju(korc,cn)kcju=zeros(cn,cn);fori=1:cn-1;kcju(i,i)=korc(i)+korc(i+1);kcju(i,i+1)=-korc(i+1);kcju(i+1,i)=-korc(i+1);endkcju(cn,cn)=korc(cn);