用matlab编程实现法计算多自由度体系的动力响应.docx
- 文档编号:11017566
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:10
- 大小:128.14KB
用matlab编程实现法计算多自由度体系的动力响应.docx
《用matlab编程实现法计算多自由度体系的动力响应.docx》由会员分享,可在线阅读,更多相关《用matlab编程实现法计算多自由度体系的动力响应.docx(10页珍藏版)》请在冰豆网上搜索。
用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的选择主要根据解的精度确定。
二、本文用
法计算的基本问题
四层框架结构在顶部受一个简谐荷载
的作用,力的作用时间
=5s,计算响应的时间为100s,分2000步完成。
阻尼矩阵由Rayleigh阻尼构造。
具体数据如下图:
图一:
结构基本计算简图
三、计算
法的源程序
m=[1,2,3,4];
m=diag(m);
k=[800-80000;
-8002400-16000;
0-16004800-3200;
00-32008000];
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/alfa/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);
fori=2:
nt
t=(i-1)*dt;
if(t 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质点的加速度响应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 编程 实现 计算 自由度 体系 动力 响应