Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2024-10-18, 14:04   #1
topmny
初级会员
 
注册日期: 2024-10-18
帖子: 1
声望力: 0
topmny 正向着好的方向发展
默认 Matlab编写的Newmark-b程序

利用Matlab程序编写的Newmark-b程序,可用于结构动力学方程逐步积分法求解


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Newmark_Beta Solution
%
% Input
% F : load vector at next time step;
% M : mass matrix at next time step;
% C : damping matrix at next time step;
% K : stiffness matrix at next time step;
% U : displacement at this time step;
% V : velocity at this time step;
% A : acceleration at this time step;
% dt : time step
%
% Output
% UU : displacement at next time step;
% VV : velocity at next time step;
% AA : acceleration at next time step;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [UU,VV,AA]=Newmark(F,M,C,K,U,V,A,dt)

beta=0.25;
gamma=0.5;

a0=1/(beta*dt^2);
a1=gamma/(beta*dt);
a2=1/(beta*dt);
a3=1/(2*beta)-1;
a4=gamma/beta-1;
a5=dt/2*(gamma/beta-2);
a6=dt*(1-gamma);
a7=gamma*dt;

Kd=K+a0*M+a1*C;

Fd=F+M*(a0*U+a2*V+a3*A)+C*(a1*U+a4*V+a5*A);
UU=Kd\Fd; % inv(Kd)
AA=a0*(UU-U)-a2*V-a3*A;
VV=V+a6*A+a7*AA;

具体内容参见《轨道交通系统动力学与Matlab程序设计》4.2节
请各位高手指正
上传的附件
文件类型: zip Newark.zip (599 字节, 0 次查看)
topmny 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 07:13


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.