c++编程--结构弯矩曲率计算算例

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <stdio.h>
#include <math.h>
double f(double sce,double z)
{double N,ea,ha,Nc,b,h,a,as,r;
double x[10001],y[10001];
int i;
b=300;
h=500;
a=20;
as=1500;
double eb,Nd;
eb=sce*(h-z)/z;
//printf("eb=%f\n",eb);
{if(eb<=0.0001)
Nd=0.5*(2*eb*1.71)/(eb+0.0001)*(h-z)*b;
else Nd=0;
}
double es,Ny;
es=sce*(h-z-a-r)/z;
{if(es<=0.0015)
printf("Nc=%d\n",Nc);
return Nc;
}
void main()
{double sce,M,y,z,q,h=500,a=20,r=15,aa,bb,cc,dd;
printf("%s","受压区边缘混凝土压应变\n");
scanf("%f",&sce);
int i;
for(i=1;i<=5;i++)
Ny=es*200000*as;
else
Ny=as*335;
}
N=Nd+Ny-Nc;
printf("Nd=%d\n",Nd);
printf("Ny=%d\n",Ny);
printf("Nc=%d\n",Nc);
printf("N=%d\n",N);
return N;
}
double g(double sce,double z)
{double x[10001],y[10001],Nc;
double ea=sce/100.0;
int i;
double b=300;
double h=500;
double ha=z/100.0;
for(i=0;i<=100;i++)
{
x[i]=x[0]+i*ea/0.003;
if(ea<=0.002)
else aa=dd;
}
else aa=dd,bb=dd;
}
}
z=0.5*(aa+bb);
printf("中和轴高度为:%f\n",z);
y=sce/z;
q=g(sce,z);
M=q*(h-a-r-0.4*z);
printf("曲率=%f,弯矩=%f\n",y,M);
}
y[i]=(1.7*x[i]-0.4*x[i]*x[i]-0.3*x[i]*x[i]*x[i])*19.1;
else y[i]=(x[i]/(2.0*(x[i]-1)*(x[i]-1)+x[i]))*19.1;
}
Nc=0.0;
for(i=0;i<=100;i++)
{
Nc=Nc+y[i]*ha*b;
}Hale Waihona Puke Baidu
{
printf("%s","input three numbers:\n");
scanf("%f%f%f",&aa,&bb,&cc);
while(fabs(bb-aa)>=cc)
{dd=(aa+bb)/2;
if(f(sce,dd)!=0)
{if(f(sce,aa)*f(sce,dd)<0)
bb=dd;
else y[i]=(x[i]/(2.0*(x[i]-1)*(x[i]-1)+x[i]))*19.1;
//printf("i=%d\n",i);
}
//printf("z=%f\n",z);
Nc=0.0;
for(i=0;i<=100;i++)
{
Nc=Nc+y[i]*ha*b;
}
//printf("Nc=%f\n",Nc);
r=15;
ea=sce/100.0;
ha=z/100.0;
x[0]=0.0;
//printf("sn=%d\n",sn);
// printf("z=%f\n",z)
for(i=0;i<=100;i++)
{
x[i]=x[0]+i*ea/0.003;
if(ea<=0.002)
y[i]=(1.7*x[i]-0.4*x[i]*x[i]-0.3*x[i]*x[i]*x[i])*19.1;
相关文档
最新文档