⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 golden.cpp

📁 Visual C++ 常用数值算法集 源代码
💻 CPP
字号:
double golden(double ax,double bx,double cx,double tol,double& xmin)
{
    double x0,x1,x2,x3,f0,f1,f2,f3,r= 0.61803399;
    double c = 0.38196601;
    x0 = ax;
    x3 = cx;
    if (fabs(cx - bx) > fabs(bx - ax))
	{
		x1 = bx;
        x2 = bx + c * (cx - bx);
	}
    else
	{
        x2 = bx;
        x1 = bx - c * (bx - ax);
    }
    f1 = func(x1);
    f2 = func(x2);
    while (fabs(x3 - x0) > tol * (fabs(x1) + fabs(x2)))
	{
        if (f2 < f1)
		{
            x0 = x1;
            x1 = x2;
            x2 = r * x1 + c * x3;
            f0 = f1;
            f1 = f2;
            f2 = func(x2);
		}
        else
		{
            x3 = x2;
            x2 = x1;
            x1 = r * x2 + c * x0;
            f3 = f2;
            f2 = f1;
            f1 = func(x1);
        }
    }
    if (f1 < f2)
	{
        xmin = x1;
        return f1;
	}
    else
	{
        xmin = x2;
        return f2;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -