您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > MATLAB求解反应谱
MATLAB求解反应谱--lsim命令王振•Matlab中的lsim函数的格式如下:•其中U为输入信号,在地震模拟中即为加速度时程,y为输出值,X0为初始值。•假设要求出运动方程中的位移、速度,则令.()(),()xtZtxyxt为原式中的同时也是输出变量....()()()xtZtxxt。为原式中的那么由动力微分方程.....22gxxxx得出........2()()()2gxtxZtxtxxwx.......22()[]()2010[],21ggxtxABxxtxxwxABw得出同时输出变量()()yZtCZt可以得出1000,0100CD在实际应用中,利用lsim命令求新疆台站100条地震动,程序如下:clc,clear;xg=xlsread('48.xls');n=length(xg);t=0:0.0035:(n-1)*0.0035;TA=0.0035:0.0035:7;%反应谱横坐标kesi=0.05;k=1;•forT=0.0035:0.0035:7;•omiga=2*pi/T;•A=[01;-omiga^2-2*kesi*omiga];•B=[0;-1];•C=eye(2);•D=zeros(2,1);•y=lsim(A,B,C,D,xg/100,t);•velocity=y(:,2);•acce1_abs=-2*kesi*omiga*velocity-y(:,1)*omiga^2;•acce2_absmax(k)=max(abs(acce1_abs))/9.8;•k=k+1;•end•得出的结果为两列,第一列是相对位移,第二列是相对速度。•如果要求输出速度、加速度,那么假设为输出变量y,为x。•那么A、B都不变而C=A,D=B。•求出的y第一列为速度,第二列为加速度。•只有循环部分有所变化...()()()xtZtxt,.()()()xtZtxt•forT=0.0035:0.0035:7;•omiga=2*pi/T;•A=[01;-omiga^2-2*kesi*omiga];•B=[0;-1];•C=[01;-omiga^2-2*kesi*omiga];•D=[0;-1];•y=lsim(A,B,C,D,xg/100,t);•velocity=y(:,2);•acce1_abs=-2*kesi*omiga*velocity-y(:,1)*omiga^2;•acce2_absmax(k)=max(abs(acce1_abs))/9.8;•k=k+1;•end
本文标题:MATLAB求解反应谱
链接地址:https://www.777doc.com/doc-6519614 .html