newmarkβC语言源程序.doc
文本预览下载声明
#include stdio.h
void main()
{
float k,m,c,dt,p0,t1,tz,t=0,beta=0.5,gama=0.25,p=0,pe=0,d=0,v=0,a=0,dl=0,vl=0,al=0,
a0=0.0,a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,ke=0;
printf(请输入k,m,c,p0,t1,tz,dt的值:\n);
scanf(%f,%f,%f,%f,%f,%f,%f,k,m,c,p0,t1,tz,dt);
a0=1.000/(gama*dt*dt);
a1=beta/(gama*dt);
a2=1.000/(gama*dt);
a3=1.000/(2*gama)-1.0;
a4=beta/gama-1.0;
a5=dt/2.0*(beta/gama-2);
a6=dt*(1.0-beta);
a7=beta*dt;
ke=k+a0*m+a1*c;
while(t=tz)
{dl=d;vl=v;al=a;
if(t=t1)p=p0;
else p=0;
pe=p+m*(a0*d+a2*v+a3*a)+c*(a1*d+a4*v+a5*a);
d=pe/ke;
a=a0*(d-dl)-a2*vl-a3*al;
v=vl+a6*al+a7*a;
printf(%f %f %f %f\n,t,d,v,a);
t=t+dt;}
}
程序运行结果:
显示全部