1、用matlab编程实现法计算多自由度体系的动力响应用matlab编程实现法计算多自由度体系的动力响应LT求解式(2-146)可得,然后由式(2-143)和式(2-144)可解出和。由此,Newmark-法的计算步骤如下:1.初始计算:(1)形成刚度矩阵K、质量矩阵M和阻尼矩阵C;(2)给定初始值, 和;(3)选择积分步长t、参数、,并计算积分常数,;(4)形成有效刚度矩阵;2.对每个时间步的计算:(1)计算t+t时刻的有效荷载:(2)求解t+t时刻的位移: (3)计算t+t时刻的速度和加速度:Newmark-方法是一种无条件稳定的隐式积分格式,时间步长t的大小不影响解的稳定性,t的选择主要根据
2、解的精度确定。二、本文用法计算的基本问题四层框架结构在顶部受一个简谐荷载的作用,力的作用时间=5s,计算响应的时间为100s,分2000步完成。阻尼矩阵由Rayleigh阻尼构造。具体数据如下图:图一:结构基本计算简图三、计算法的源程序m=1,2,3,4;m=diag(m);k= 800 -800 0 0; -800 2400 -1600 0; 0 -1600 4800 -3200; 0 0 -3200 8000;c=0.05*m+0.02*k;f0=100;t1=5;nt=2000;dt=0.01; alfa=0.25;beta=0.5;a0=1/alfa/dt/dt;a1=beta/alf
3、a/dt;a2=1/alfa/dt;a3=1/2/alfa-1;a4=beta/alfa-1;a5=dt/2*(beta/alfa-2);a6=dt*(1-beta);a7=dt*beta; d=zeros(4,nt);v=zeros(4,nt);a=zeros(4,nt); for i=2:nt t=(i-1)*dt; if (tt1), f=f0*sin(4*pi*t/t1);0;0;0; else f=0;0;0;0; end ke=k+a0*m+a1*c; fe=f+m*(a0*d(:,i-1)+a2*v(:,i-1)+a3*a(:,i-1)+c*(a1*d(:,i-1)+a4*v(:,i-1)+a5*a(:,i-1); d(:,i)=inv(ke)*fe; a(:,i)=a0*(d(:,i)-d(:,i-1)-a2*v(:,i-1)-a3*a(:,i-1); v(:,i)=v(:,i-1)+a6*a(:,i-1)+a7*a(:,i);end四、计算结果截图最后程序分别计算出四个质点的位移、速度、加速度响应。现将部分截图如下:1、位移响应:图二:1质点的位移响应图三:4质点的位移响应2、速度响应图四:1质点的速度响应图五:4质点的速度响应3、加速度响应图六:1质点的加速度响应图七:4质点的加速度响应