机械优化设计-一维搜索方法.doc

机械优化设计-一维搜索方法.doc

ID:57831919

大小:17.50 KB

页数:4页

时间:2020-03-31

机械优化设计-一维搜索方法.doc_第1页
机械优化设计-一维搜索方法.doc_第2页
机械优化设计-一维搜索方法.doc_第3页
机械优化设计-一维搜索方法.doc_第4页
资源描述:

《机械优化设计-一维搜索方法.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、以f(x)=*x+2*x为例黄金分割#include#definee0.001//收敛精度main(){floata,b,x1,x2,y1,y2;floatminx,miny;x1=-3;x2=5;//x1,x2初始化a=x1;b=x2;//a1,a2初始化do{x1=a+0.382*(b-a);x2=a+0.618*(b-a);y1=x1*x1+2*x1;y2=x2*x2+2*x2;if(y1>y2)a=x1;elseb=x2;}while((b-a)>e);//两个数值小于收敛精度e时终止minx=(x1+x2)/2;//取两数值平均

2、值miny=minx*minx+2*minx;printf("Theminxis%fandtheminyis%f.",minx,miny);//极小值}二次插值法#include#includeintmain(void){doublea1,a2,a3,ap,y1,y2,y3,yp,c1,c2,m;doublej[3];inti,h=1;//取正向搜索(h值为负则为反向搜索)。voidfinding(doublea[3]);//一维搜索确定区间。finding(j);//返回所得的区间值a1,a2,a3。a1=j[0];

3、//以数组j[3]为过渡,衔接搜索区间的值并赋值给主函数的a1,a2,a3。a2=j[1];//实际上是不会这么用的,此处是方便衔接一维搜索函数与主函数,以后可类似。a3=j[2];m=0.001;//**输入m值,以确定精确度**。doublef(doublex);//方程函数说明。y1=f(a1);//初始化。y2=f(a2);y3=f(a3);for(i=1;1>=1;i++){c1=(y3-y1)/(a3-a1);c2=((y2-y1)/(a2-a1)-c1)/(a2-a3);ap=0.5*(a1+a3-c1/c2);yp=f(ap);if(fab

4、s((y2-yp)/y2)0){if(y2>=yp){a1=a2;y1=y2;a2=ap;y2=yp;}else{a3=ap;y3=yp;}}elseif(y2>=yp){a3=a2;y3=y2;a2=ap;y2=yp;}else{a1=ap;y1=yp;}}doublex,y;//用x,y储存所得极值点。if(y2<=yp){x=a2;y=y2;}else{x=ap;y=yp;}printf("a*=%f",x);printf("y*=%f",y);return0;}//定义方程函数。doubl

5、ef(doublex){doubley;y=x*x-2*x;//**输入方程**。returny;}//确定区间的外推法(取步长h=1)。voidfinding(doublea[3]){inth,i;doubley[3];a[0]=0;//**0周围开始搜索**h=1;//**输入h值,以确定步长**。a[1]=h;y[0]=f(a[0]);y[1]=f(a[1]);//初始化。if(y[1]>y[0])//将逆方向寻找变向。{h=-h;a[2]=a[0];y[2]=y[0];do{a[0]=a[1];a[1]=a[2];y[0]=y[1];y[1]=y[

6、2];a[2]=a[1]+h;y[2]=f(a[2]);h=2*h;}while(y[2]=1;i++){a[2]=a[1]+h;y[2]=f(a[2]);if(y[2]>=y[1])break;//寻找成功,打印输出。h=2*h;a[0]=a[1];y[0]=y[1];a[1]=a[2];y[1]=y[2];}}return;}外推法#includefloatf(floatt){floatz;z=t*t+2*t;returnz;}voidmain(){floath0=1,h=

7、h0,a1=0,a2=h,y1,y2,a3,y3;y1=f(a1);y2=f(a2);if(y2>y1){h=-h;a3=a1;y3=y1;a1=a2;y1=y2;a2=a3;y2=y3;}a3=a2+h;y3=f(a3);while(y3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。