实验报告黄金分割.docx

上传人:b****3 文档编号:6337668 上传时间:2023-05-09 格式:DOCX 页数:9 大小:16.79KB
下载 相关 举报
实验报告黄金分割.docx_第1页
第1页 / 共9页
实验报告黄金分割.docx_第2页
第2页 / 共9页
实验报告黄金分割.docx_第3页
第3页 / 共9页
实验报告黄金分割.docx_第4页
第4页 / 共9页
实验报告黄金分割.docx_第5页
第5页 / 共9页
实验报告黄金分割.docx_第6页
第6页 / 共9页
实验报告黄金分割.docx_第7页
第7页 / 共9页
实验报告黄金分割.docx_第8页
第8页 / 共9页
实验报告黄金分割.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验报告黄金分割.docx

《实验报告黄金分割.docx》由会员分享,可在线阅读,更多相关《实验报告黄金分割.docx(9页珍藏版)》请在冰点文库上搜索。

实验报告黄金分割.docx

实验报告黄金分割

太原理工大学机械学院机测系课程上机实验报告

课程名称:

机械优化设计

班级

 

日期

 成绩评定

 

姓名

实验室

 老师签名

 

实验名称

用黄金分割法程序解题

所用软件

C++DEV

 实验目的:

1.掌握并能够建立最优化基本类型问题的数学模型。

2.掌握最优化方法的基本概念、基本理论和基本方法,奠定最优化的理论基础。

3.能够熟练编制和调试最优化方法的程序,奠定解决实际中的优化问题的基础

实验内容:

理解黄金分割法并编写相关程序求其最优解。

 

 

 原

实验原理:

 

实验步骤:

1,画流程图,编写程序;

2,将目标函数代入;

3,编译运行,将结果保存

**********黄金分割法计算结果**********

缩短次数aba

(1)a

(2)f1f2b-a

0,2.00000000,8.00000000,4.29200000,5.70800000,-1.62273600,2.62526400,6.00000000

1,2.00000000,5.70800000,3.41645600,4.29200000,-2.24302040,-1.62273600,3.70800000

2,2.00000000,4.29200000,2.87554400,3.41645600,-1.86005470,-2.24302040,2.29200000

3,2.87554400,4.29200000,3.41645600,3.75091381,-2.24302040,-2.18704226,1.41645600

4,2.87554400,3.75091381,3.20993527,3.41645600,-2.16586245,-2.24302040,0.87536981

5,3.20993527,3.75091381,3.41645600,3.54426001,-2.24302040,-2.24804105,0.54097854

6,3.41645600,3.75091381,3.54426001,3.62315093,-2.24804105,-2.23483385,0.33445781

7,3.41645600,3.62315093,3.49541346,3.54426001,-2.24997896,-2.24804105,0.20669493

8,3.41645600,3.54426001,3.46527713,3.49541346,-2.24879432,-2.24997896,0.12780401

9,3.46527713,3.54426001,3.49541346,3.51408855,-2.24997896,-2.24980151,0.07898288

10,3.46527713,3.51408855,3.48392309,3.49541346,-2.24974153,-2.24997896,0.04881142

11,3.48392309,3.51408855,3.49541346,3.50256534,-2.24997896,-2.24999342,0.03016546

12,3.49541346,3.51408855,3.50256534,3.50695466,-2.24999342,-2.24995163,0.01867509

13,3.49541346,3.50695466,3.49982220,3.50256534,-2.24999997,-2.24999342,0.01154120

14,3.49541346,3.50256534,3.49814548,3.49982220,-2.24999656,-2.24999997,0.00715188

15,3.49814548,3.50256534,3.49982220,3.50087696,-2.24999997,-2.24999923,0.00441986

16,3.49814548,3.50087696,3.49918890,3.49982220,-2.24999934,-2.24999997,0.00273148

17,3.49918890,3.50087696,3.49982220,3.50023212,-2.24999997,-2.24999995,0.00168805

18,3.49918890,3.50023212,3.49958741,3.49982220,-2.24999983,-2.24999997,0.00104322

19,3.49958741,3.50023212,3.49982220,3.49998584,-2.24999997,-2.25000000,0.00064471

20,3.49982220,3.50023212,3.49998584,3.50007553,-2.25000000,-2.24999999,0.00040992

21,3.49982220,3.50007553,3.49991897,3.49998584,-2.24999999,-2.25000000,0.00025333

22,3.49991897,3.50007553,3.49998584,3.50001573,-2.25000000,-2.25000000,0.00015656

23,3.49991897,3.50001573,3.49995593,3.49998584,-2.25000000,-2.25000000,0.00009675

24,3.49995593,3.50001573,3.49998584,3.49999288,-2.25000000,-2.25000000,0.00005979

25,3.49998584,3.50001573,3.49999288,3.50000431,-2.25000000,-2.25000000,0.00002988

26,3.49999288,3.50001573,3.50000431,3.50000700,-2.25000000,-2.25000000,0.00002284

27,3.49999288,3.50000700,3.49999828,3.50000431,-2.25000000,-2.25000000,0.00001412

28,3.49999288,3.50000431,3.49999725,3.49999828,-2.25000000,-2.25000000,0.00001143

29,3.49999725,3.50000431,3.49999828,3.50000161,-2.25000000,-2.25000000,0.00000706

30,3.49999828,3.50000431,3.50000161,3.50000201,-2.25000000,-2.25000000,0.00000603

31,3.49999828,3.50000201,3.49999970,3.50000161,-2.25000000,-2.25000000,0.00000373

32,3.49999828,3.50000161,3.49999955,3.49999970,-2.25000000,-2.25000000,0.00000334

33,3.49999955,3.50000161,3.49999970,3.50000083,-2.25000000,-2.25000000,0.00000206

34,3.49999955,3.50000083,3.50000004,3.49999970,-2.25000000,-2.25000000,0.00000127

35,3.49999955,3.49999970,3.49999961,3.50000004,-2.25000000,-2.25000000,0.00000015

*********************

黄金分割法最优点及目标函数值为:

x(*)=[3.4999996],f(*)=-2.2500000

迭代精度:

0.000000150

 

算法程序实现

/*csssqj.cpp*/

#include

#include

#include

#include

#include

#defineN1/*优化设计维数*/

#defineEPSIN0.000001/*迭代精度*/

#defineH_QJ1.0/*初始区间搜索步长*/

FILE*fp;

charoutname[50]="黄金分割法计算结果.txt";/*计算结果输出文件*/

/*给出初始点坐标*/

voidcsd_x(doublex0[])

{

inti;

for(i=0;i

x0[i]=0.0;

return;

}

/*目标函数*/

doublehanshu(doublex[])

{

doublef;

f=x[0]*x[0]-10.0*x[0]+36.0;

returnf;

}

/*计算f(xk+as)*/

doublexkadd(doublex[],doubled[],doublea)

{

inti;

doublex1[N];

for(i=0;i

x1[i]=x[i]+a*d[i];

returnhanshu(x1);

}

/*初始搜索区间的确定*/

voidcsssqj(doublex[],doubled[],doubleh,doubleab[])

{

doublea1,a2,a3,f1,f2,f3;

a2=0.0;

a3=a2+h;

f2=xkadd(x,d,a2);

f3=xkadd(x,d,a3);

if(f3>f2)

{

a2=a3;

a3=0.0;

f1=f2;

f2=f3;

f3=f1;

h=-h;

}

do

{

a1=a2;

a2=a3;

f1=f2;

f2=f3;

a3=a2+h;

f3=xkadd(x,d,a3);

h=2*h;

}while(f3

if(h>0.0)

{

ab[0]=a1;

ab[1]=a3;

}

else

{

ab[0]=a3;

ab[1]=a1;

}

return;

}

/*黄金分割法*/

voidgoldcut(doublex[],doubled[],doubleh,doubleebsin)

{

doublea1,a2,f1,f2,a,b,ab[2];

inti,k=0;

fprintf(fp,"**********黄金分割法计算结果**********\n\n");

fprintf(fp,"缩短次数aba

(1)a

(2)");

fprintf(fp,"f1f2b-a\n");

csssqj(x,d,h,ab);

a=ab[0];

b=ab[1];

a1=b-0.618*(b-a);

f1=xkadd(x,d,a1);

a2=a+0.618*(b-a);

f2=xkadd(x,d,a2);

fprintf(fp,"%3d,%15.8lf,%15.8lf,%15.8lf,%15.8lf,%15.8lf,%15.8lf,%15.8lf\n",

k,a,b,a1,a2,f1,f2,b-a);

do

{

if(f1>f2)

{

a=a1;

a1=a2;

f1=f2;

a2=a+0.618*(b-a);

f2=xkadd(x,d,a2);

}

else

{

b=a2;

a2=a1;

f2=f1;

a1=b-0.618*(b-a);

f1=xkadd(x,d,a1);

}

k++;

fprintf(fp,"%3d,%15.8lf,%15.8lf,%15.8lf,%15.8lf,%15.8lf,%15.8lf,%15.8lf\n",

k,a,b,a1,a2,f1,f2,b-a);

}while(b-a>ebsin);

for(i=0;i

x[i]+=(b+a)*d[i]/2;

fprintf(fp,"\n*********************\n");

fprintf(fp,"黄金分割法最优点及目标函数值为:

\n");

fprintf(fp,"x(*)=[");

for(i=0;i

fprintf(fp,"%15.7lf,",x[i]);

fprintf(fp,"%15.7lf],",x[N-1]);

f1=hanshu(x);

fprintf(fp,"f(*)=%15.7lf\n",f1);

fprintf(fp,"迭代精度:

");

fprintf(fp,"%15.9lf\n",b-a);

return;

}

main()

{

doublex0[N],h,ebsin,d[N];

csd_x(x0);

h=H_QJ;

ebsin=EPSIN;

d[0]=1.0;

fp=fopen(outname,"w");

goldcut(x0,d,h,ebsin);

fclose(fp);

return0;

}

备注:

不交此报告者,本次实验为“不合格”。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2