vc程序设计--非常感谢!程序执行后停不下来,请求帮助!
程序没有显示任何错误和警告,但是运行时不会停下来,还请高手帮帮忙,修改一下。
程序地址
http://hi.baidu.com/tonghuaixing/blog/item/7d514b32c7b91bbf5fdf0e0d.html
这是利用优化设计中的复合形法编的,这是本程序的数学模型。
float objfx(float x[])
{
float g0=9.8f,pl=3.14f;
return float(69120000*pl*pl*(1/tan(x[1])+1/tan(x[2]))*(tan(x[1])+tan(x[2]))*(x[3]*x[3]-x[4]*x[4])/(51*g0*tan(x[0])*tan(x[2])));
}
void constraint(float x[],float g[])
{
float pl=3.14f;
g[0]=x[0]-pl/36;
g[1]=pl/15-x[0];
g[2]=x[1]-pl/90;
g[3]=pl/20-x[1];
g[4]=x[2]-pl/4;
g[5]=11*pl/36-x[2];
g[6]=x[3]-0.7f;
g[7]=0.9f-x[3];
g[8]=x[4]-0.6f;
g[9]=0.7f-x[4];
}
main()
{
float x[5],bl[5],bu[5],xcom[5][100],f,pl=3.14f;
int n=5,nf=0,ng=0;
bl[0]=pl/36;
bl[1]=pl/90;
bl[2]=pl/4;
bl[3]=0.7f;
bl[4]=0.6f;
bu[0]=pl/15;
bu[1]=pl/20;
bu[2]=11*pl/36;
bu[3]=0.9f;
bu[4]=0.7f;
complex(n,10,10,1.0e-3f,x,bl,bu,xcom,&f,&nf,&ng);
printf("\n x[0]=%f,x[1]=%f,x[2]=%f,x[3]=%f,x[4]=%f",x[0],x[1],x[2],x[3],x[4]);
printf("\n minF(x)=%f",f);
printf("\n nf=%d,ng=%d",nf,ng);
getch();
return 0;
}