91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-05
  • 語言: C/C++
  • 標簽: FFT??IFFT??

資源簡介

用C語言實現快速付立葉變換和快速付立葉逆變換

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#define?N?1000
/*定義復數類型*/
typedef?struct{
double?real;
double?img;
}complex;

complex?x[N]?*W;?/*輸入序列變換核*/
int?size_x=0;??????/*輸入序列的大小,在本程序中僅限2的次冪*/
double?PI;?????????/*圓周率*/

void?fft();?????/*快速傅里葉變換*/
void?ifft();
void?initW();???/*初始化變換核*/
void?change();?/*變址*/
void?add(complex?complex?complex?*);?/*復數加法*/
void?mul(complex?complex?complex?*);?/*復數乘法*/
void?sub(complex?complex?complex?*);?/*復數減法*/
void?divi(complex?complex?complex?*);/*復數除法*/
void?output();

int?main(){
int?imethod;?????????????????????????????/*輸出結果*/
system(“cls“);
PI=atan(1)*4;
printf(“Please?input?the?size?of?x:\n“);
scanf(“%d“&size_x);
printf(“Please?input?the?data?in?x[N]:\n“);
for(i=0;i???scanf(“%lf%lf“&x[i].real&x[i].img);
initW();
printf(“Use?FFT(0)?or?IFFT(1)?\n“);
scanf(“%d“&method);
if(method==0)
???fft();
else
???ifft();
output();
return?0;
}

/*快速傅里葉變換*/
void?fft(){
int?i=0j=0k=0l=0;
complex?updownproduct;
change();
for(i=0;i???l=1<???for(j=0;j????for(k=0;k??????mul(x[j+k+l]W[size_x*k/2/l]&product);
??????add(x[j+k]product&up);
??????sub(x[j+k]product&down);
??????x[j+k]=up;
??????x[j+k+l]=down;
????}
???}
}
}

/*快速傅里葉逆變換*/
void?ifft(){
int?i=0j=0k=0l=size_x;
complex?updown;
for(i=0;i???l/=2;
???for(j=0;j

評論

共有 條評論