资源描述:
《优化设计-鲍威尔法程序(c语言).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#definem10/*数组长度m>=维数n*/floatf(floatx[]);voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[]);voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[]);voidmbwef(intn,floatx0[],floath,floatflag,floata[],floatb[],floatx[]);floatf(floatx[
2、]){floatresult;result=60-10*x[0]-4*x[1]+x[0]*x[0]+x[1]*x[1]-x[0]*x[1];returnresult;}/*多维进退法子程序*/voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[]){inti;floatx1[m],x2[m],x3[m],f1,f2,f3;for(i=0;i3、f(f2>=f1)/*判断搜索方向*/{/*搜索方向为反向,转身*/h=(-1)*h;for(i=0;i4、x1[i]=x2[i];f1=f2;for(i=0;i5、nti;floatx1[m],x2[m],f1,f2,sum;for(i=0;i6、)x1[i]=b[i]-(float)0.618*(b[i]-a[i]);f1=f(x1);}else{/*消去左*/for(i=0;iflag*0.1);for(i=0;i7、;i++)x[i]=(float)0.5*(b[i]+a[i]);}/*鲍威尔法子程序*/voidmbwef(intn,floatx0[],floath,floatflag,floata[],floatb[],floatx[]){inti,j,k,r;floatx1[m],x2[m],f0,f1,f2,fn[m],s[m][m],sum;for(i=0;i8、[i];for(i=0;i