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);