gser.cpp

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

CPP
33
字号
void gser(double& gamser, double& a, double& x, double& gln)
{
	int itmax,n;
	double ap,sum,del,eps;
    itmax = 100;
    eps = 0.0000003;
    gln = gammln(a);
    if (x <= 0.0)
	{
        if (x < 0.0)
		{
            cout<<" pause";
            exit(1);
		}
        gamser = 0.0;
        exit(1);
    }
    ap = a;
    sum = 1.0 / a;
    del = sum;
    for( n = 1;n<=itmax;n++)
	{
        ap = ap + 1.0;
        del = del * x / ap;
        sum = sum + del;
        if (fabs(del) < (fabs(sum) * eps))
		{//	goto loop;
		gamser = sum * exp(-x + a * log(x) - gln);
		break;
		}
    }
}

⌨️ 快捷键说明

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