zbrac.cpp

来自「工程算法 这是一个很有用的工程数值算法集锦」· C++ 代码 · 共 29 行

CPP
29
字号
void zbrac(double &x1, double &x2, bool &succes)
{
	int j,ntry;
	double factor,f1,f2;
    factor = 1.6;
    ntry = 50;
    if (x1 == x2) cout<<"you have to guess an initial range"<<endl;
    f1 = fun(x1);
    f2 = fun(x2);
    succes = true;
    for (j = 1; j<=ntry; j++)
	{
        if ((f1 * f2) < 0.0) 
		goto loop;
        if (fabs(f1) < fabs(f2))
		{
            x1 = x1 + factor * (x1 - x2);
            f1 = fun(x1);
		}
        else
		{
            x2 = x2 + factor * (x2 - x1);
            f2 = fun(x2);
        }
	}
    succes = false;
    loop:cout<<endl;
}

⌨️ 快捷键说明

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