欢迎来到天天文库
浏览记录
ID:6488450
大小:38.50 KB
页数:5页
时间:2018-01-15
《机械优化设计坐标轮换发c语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#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维数
2、组,自变量*//*返回值:函数值*/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
3、[m],x2[m],x3[m],f1,f2,f3;for(i=0;i=f1)/*判断搜索方向*/{/*搜索方向为反向,转身*/h=(-1)*h;for(i=0;i4、x2[i]+h*s[i];f3=f(x3);while(f30)//if(x1[i]5、/*多维黄金分割法子程序*/voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[]){inti;floatx1[m],x2[m],f1,f2,sum;for(i=0;i6、(i=0;i7、m)>flag);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
4、x2[i]+h*s[i];f3=f(x3);while(f30)//if(x1[i]5、/*多维黄金分割法子程序*/voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[]){inti;floatx1[m],x2[m],f1,f2,sum;for(i=0;i6、(i=0;i7、m)>flag);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
5、/*多维黄金分割法子程序*/voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[]){inti;floatx1[m],x2[m],f1,f2,sum;for(i=0;i6、(i=0;i7、m)>flag);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
6、(i=0;i7、m)>flag);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
7、m)>flag);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
此文档下载收益归作者所有