请问:急!!!!如何调用傅立叶反变化函数IFFT()!!!!!!!!!!!!!!!!!!

orangeliu 2002-06-10 07:49:05
void IFFT(complex<double>*FD,complex<double>*TD,int r)
{
long count;
int i;
complex<double>*X;
count=1<<r;
X=new complex<double>[count];
memcpy(X,FD,sizeof(complex<double>)*count);
for(i=0;i<count;i++)
{
X[i]=complex<double>(X[i].real(),-X[i].imag());
}
FFT(X,TD,r);
for(i=0;i<count;i++)
{
TD[i]=complex<double>(TD[i].real()/count,-TD[i].imag()/count);
}
delete X;
}
...全文
50 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlma 2002-06-11
  • 打赏
  • 举报
回复
这种算法也能用?
怎么样也要搞个快速算法吧。。
LionEagle 2002-06-11
  • 打赏
  • 举报
回复
to orangeliu () :
FD是输入,TD是输出

delete X;不对,应该用 delete []X;

memcpy(X,FD,sizeof(complex<double>)*count);没必要,直接这样:

for( i=0; i<count; i++ )
{
X[i] = complex<double>( FD[i].real(),-FD[i].imag() );
}

to zlma(zlma):
这个算法没什么问题,也不慢,借用FFT而已

8,324

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧