www.gusucode.com > matlab非线性混凝土模型计算分析源码程序 > newmark_single.m

    function [x2]=newmark_single(dt,k,m,eta,txg,x1)
% 采用增量形式的Newmark法
%Newmark法基本参数-------------------------------------------------------------------
gama=0.5;  
beta=0.25;
w=sqrt(k/m);
c=2*eta*w*m;
b1=1/(beta*dt^2);
b2=1/(beta*dt);
b3=1-0.5/beta;
b4=gama/(beta*dt);
b5=gama/beta-1;
b6=(1-gama/(2*beta))*dt;
%计算增量平衡方程的有效刚度;
ek=k+m/beta/(dt)^2+c*gama/(beta*dt);
%计算增量平衡方程的有效荷载;
ef=-m*(txg(2)-txg(1))+(m/(beta*dt)+c*gama/beta)*x1(2)+(0.5*m/beta+dt*c*(0.5*gama/beta-1))*x1(3);
%计算t+dt时刻的反应;
x2(1)=inv(ek)*ef+x1(1);
x2(2)=b4*(x2(1)-x1(1))-b5*x1(2)+b6*x1(3);
x2(3)=b1*(x2(1)-x1(1))-b2*x1(2)+b3*x1(3);