chebft.cpp

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

CPP
25
字号
void chebft(double a, double b, double c[], int n)
{
    int k,nmax = 50;
    double f[51];
    const double pi = 3.14159265358979;
	double bma,bpa,y,sum,fac;
    bma = 0.5 * (b - a);
    bpa = 0.5 * (b + a);
    for (k = 1; k<=n; k++)
	{
        y = cos(pi * (k - 0.5) / n);
        f[k] = func(y * bma + bpa);
    }
    fac = 2.0 / n;
    for (int j = 1; j<=n; j++)
	{
        sum = 0.0;
        for (k = 1; k<=n; k++)
		{
            sum = sum + f[k] * cos((pi * (j - 1)) * ((k - 0.5) / n));
        }
        c[j] = fac * sum;
    }
}

⌨️ 快捷键说明

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