shoushuo.cpp
来自「本算法为机械优化设计中的一维黄金搜索算法」· C++ 代码 · 共 54 行
CPP
54 行
#include <iostream.h>
double jisuanEF(double AG)
{
return AG*AG-7*AG+10;
}
double search(double min,double max,double e)
{
double a,b,a1,a2,f1,f2,temp;
a=min;
b=max;
a1=b-0.618*(b-a);
f1=jisuanEF(a1);
a2=a+0.618*(b-a);
f2=jisuanEF(a2);
for(;;)
{
if(f1<=f2)
{
b=a2;
a2=a1;
f2=f1;
a1=b-0.618*(b-a);
f1=jisuanEF(a1);
}
else
{
a=a1;
a1=a2;
f1=f2;
a2=a+0.618*(b-a);
f2=jisuanEF(a2);
}
if(b-a<=e)
break;
}
temp=(b+a)/2;
return temp;
}
void main()
{
double d,c,g;
d=search(2.0,8.0,0.01);
c=jisuanEF(d);
g=jisuanEF(3.441689);
cout<<"c=";
cout<<c<<" ";
cout<<"g=";
cout<<g;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?