整理一些相关的数值分析的代码,共享给急切需要同行们!希望能在您能获多获少都会有所收获.>_<呵呵.
离散傅立叶变换与反变换
//************************************************************************
// 离散傅立叶变换与反变换
// 输入: x--要变换的数据的实部, y--要变换的数据的虚部
// a--变换结果的实部, b--变换结果的虚部
// n--数据长度
// sign--sign=1时,计算离散傅立叶正变换;sign=-1时;计算离散傅立叶反变换
//************************************************************************
void dft(double x[],double y[],double a[],double b[],int n,int sign)
{
int i,k;
double c,d,w,s;
double q= 6.28318530718/n;
for(k=0;k<n;k++){
w=k*q;
a[k]=b[k]=0.0;
for(i=0;i<n;i++){
d=i*w;
c=cos(d);
s=sin(d)*sign;
a[k]+=c*x+s*y;