我是用fftw对一位数组进行fft运算,测试代码如下:
double *in;
fftw_complex *out;
int n=Space.size();
in=(double*)malloc(sizeof(double)*n);
out=(fftw_complex*)fftw_malloc(sizeof(fftw_complex)*n);
for(int i=0;i<n;i++)
{
in[i]=Space[i];
}
fftw_plan p=fftw_plan_dft_r2c_1d(n,in,out,FFTW_ESTIMATE);
fftw_execute(p);
free(in);
fftw_free(out);
其中前面的Space是用vector定义的一个动态数组,现在为了测试方便取值为1,0,0,1四个数,采用断点监察可以看到这四个数赋值给了in数组,但是在使用上述fftw函数进行fft转换后得到的的out值之后3个有效值,第四个out[3][0]和out[3][1]是不对的,请问这个问题是出在哪里的呢?
------解决方案--------------------------------------------------------
是不是数据大小问 题呢,顶了。。。