📄 golden.h
字号:
float f(float);
#define r 0.618
float golden(double a,double b,float E)
{
float y1,y2,a1,a2;
a1=b-r*(b-a);
a2=a+r*(b-a);
y1=f(a1);
y2=f(a2);
do
{ /* printf("\na=%f,a1=%f,a2=%f,b=%f,y1=%f,y2=%f",a,a1,a2,b,y1,y2);
getch(); */
if(y1>=y2)
{
a=a1;
a1=a2;
y1=y2;
a2=a+r*(b-a);
y2=f(a2);
}
else
{
b=a2;
a2=a1;
y2=y1;
a1=b-r*(b-a);
y1=f(a1);
}
}while(fabs((b-a)/b)>=E&&fabs((y2-y1)/y2)>=E);
printf("\nThe result a is:%f", (a+b)/2.);
getch();
return((a+b)/2.);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -