动力学系统时域响应计算的六种方法Matlab源程序.docx
《动力学系统时域响应计算的六种方法Matlab源程序.docx》由会员分享,可在线阅读,更多相关《动力学系统时域响应计算的六种方法Matlab源程序.docx(8页珍藏版)》请在三一办公上搜索。
1、动力学系统时域响应计算的六种方法Matlab源程序Newmark法Matlab源程序function acc,vel,dsp=Newmark_2(kk,cc,mm,fd,nt,dt,q0,dq0)%输入参数% kk-刚度矩阵% mm-质量矩阵% cc-阻尼矩阵% q0-初始位移% dq0-初始速度% dt-时间步长% nt-总的计算步数,等于结束时间除以dt%返回值% dsp-位移% vel-速度% acc-加速度sdof,n2=size(kk);dsp=zeros(sdof,nt); % displacement matrixvel=zeros(sdof,nt); % velocity ma
2、trixacc=zeros(sdof,nt); % acceleration matrixdsp(:,1)=q0; % initial displacementvel(:,1)=dq0; % initial velocityalpha=0.5; beta=0.5; % select the parametersacc(:,1)=inv(mm)*(fd(:,1)-kk*dsp(:,1)-cc*vel(:,1); % compute the initial acceleration (t=0)ekk=kk+mm/(alpha*dt2)+cc*beta/(alpha*dt);for it=1:nt
3、% loop for each time stepcfm=dsp(:,it)/(alpha*dt2)+vel(:,it)/(alpha*dt)+acc(:,it)*(0.5/alpha-1);cfc=dsp(:,it)*beta/(alpha*dt)+vel(:,it)*(beta/alpha-1).+acc(:,it)*(0.5*beta/alpha-1)*dt;efd=fd(:,it)+mm*cfm+cc*cfc; % compute the effective force vectordsp(:,it+1)=inv(ekk)*efd; % find the displacement at
4、 time t+dtacc(:,it+1)=(dsp(:,it+1)-dsp(:,it)/(alpha*dt2)-vel(:,it)/(alpha*dt).-acc(:,it)*(0.5/alpha-1); % find the acceleration at time t+dtvel(:,it+1)=vel(:,it)+acc(:,it)*(1-beta)*dt+acc(:,it+1)*beta*dt;% find the velocity at time t+dtend中心差分法Matlab源程序function acc,vel,dsp=central_diff(kk,cc,mm,fd,n
5、t,dt,q0,dq0)%输入参数% kk-刚度矩阵% mm-质量矩阵% cc-阻尼矩阵% q0-初始位移% dq0-初始速度% dt-时间步长% nt-总的计算步数,等于结束时间除以dt%返回值% dsp-位移% vel-速度% acc-加速度sdof,n2=size(kk);dsp=zeros(sdof,nt); % displacement matrixvel=zeros(sdof,nt); % velocity matrixacc=zeros(sdof,nt); % acceleration matrixdsp(:,1)=q0; % initial displacementvel(:,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动力学 系统 时域 响应 计算 方法 Matlab 源程序
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3333399.html