mnewt.cpp

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

CPP
24
字号
void mnewt(int ntrial,double x[16],int n,double tolx,double tolf)
{
    double alpha[16][16],beta[16];
	int k,i,indx[16];
	double errf,d,errx;
    for (k = 1; k<=ntrial; k++)
	{
        usrfun(x,alpha,beta);
        errf = 0.0;
        for (i = 1; i<=n; i++)
            errf = errf + fabs(beta[i]);
        if (errf <= tolf)  _c_exit();
        ludcmp(alpha,n,indx,d);
        lubksb(alpha,n,indx,beta);
        errx = 0.0;
        for (i = 1; i<=n; i++)
		{
            errx = errx + fabs(beta[i]);
            x[i] = x[i] + beta[i];
        }
        if (errx <= tolx) _c_exit();
    }
}

⌨️ 快捷键说明

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