#include#include#definem10/*数组长度m>=维数n*/floatf(floatx[]);voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[]);voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[]);voidzblhf(intn,floatx0[],floath,floatflag1,floatflag2,floata[],floatb[],floatx[]);/*目标函数(n维)*//*入口参数:x:n维数组,自变量*//*返回值:函数值*/floatf(floatx[]){floatresult;result=60-10*(x[0])-4*(x[1])+(x[0]*x[0])+(x[1]*x[1])-(x[0]*x[1]);returnresult;}/*多维进退法子程序*//*入口参数:n:优化模型维数x0:n维数组,初始点坐标h:初始搜索步长s:n维数组,搜索方向*//*出口参数:a:n维数组,搜索区间下限b:n维数组,搜索区间上限*/voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[]){inti;floatx1[m],x2[m],x3[m],f1,f2,f3;for(i=0;i=f1)/*判断搜索方向*/{/*搜索方向为反向,转身*/h=(-1)*h;for(i=0;i0)//if(x1[i]flag);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i\n");printf("请输入维数:\n");scanf("%d",&n);printf("请输入初始点:");for(i=0;i