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

📄 sinft.cpp

📁 此程序为VC++常用数值算法这本书附赠的光盘中包含了本书中全部的源代码
💻 CPP
字号:
void sinft(double y[],int &n)
{
	int m,j,temp;
	double theta,wr,wi,wpr,wpi,wtemp,sum,y1,y2;
	temp=1;
    theta = 3.14159265358979 / n;
    wr = 1.0;
    wi = 0.0;
    wpr = -2.0 * sin(0.5 * theta)*sin(0.5 * theta);
    wpi = sin(theta);
    y[1] = 0.0;
    m = n / 2;
    for (j = 1; j<=m; j++)
	{
        wtemp = wr;
        wr = wr * wpr - wi * wpi + wr;
        wi = wi * wpr + wtemp * wpi + wi;
        y1 = wi * (y[j + 1] + y[n - j + 1]);
        y2 = 0.5 * (y[j + 1] - y[n - j + 1]);
        y[j + 1] = y1 + y2;
        y[n - j + 1] = y1 - y2;
    }
    realft(y, m, temp);
    sum = 0.0;
    y[1] = 0.5 * y[1];
    y[2] = 0.0;
    for (j = 1;j<=n - 1;j+=2)
	{
        sum = sum + y[j];
        y[j] = y[j + 1];
        y[j + 1] = sum;
    }
}

⌨️ 快捷键说明

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