FFT的C语言实现,对照MATLIB

%测试程序
clear;                      %清屏
clc;
Fs = 100;           % Sampling frequency
t = -1:1/Fs:1;  % Time vector
L = length(t);      % Signal length
xn=2/(4*sqrt(2*pi*0.01))*(exp(-t.^2/(2*0.001)));               %要转换的序列

n = 2^nextpow2(L);
M=nextpow2(L);                        %转换级数


subplot(2,2,1)
plot(t,xn);
title('Gaussian Pulse in Time Domain');
xlabel('Time (t)');
ylabel('xn(t)');

B=fft(xn,n);               %matlab内置fft变换,用于对比

f = Fs*(0:(n/2))/n;
P = abs(B/n);

subplot(2,2,2)

plot(f,P(1:n/2+1))
title('Gaussian Pulse in Frequency Domain')
xlabel('Frequency (f)')
ylabel('|P(f)|')

H=testfft(xn,M);            %手工编写函数
f = Fs*(0:(n/2))/n;
P = abs(H/n);

subplot(2,2,3)
plot(f,P(1:n/2+1))
title('Gaussian Pulse in Frequency Domain')
xlabel('Frequency (f)')
ylabel('|P(f)|')

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function H=testfft(xn,M)

%DIT-FFT快速傅里叶变换程序
%程序名称:ditfft
%程序作者:grace_fight 2018/10/29

b=length(xn);                %调整补零
if(b<2^M)
    xn=[xn,zeros(1,(2^M)-b)];
end
b=length(xn);                %补零后xn长度
A=zeros(1,b);                %xn转换数组
N=2^M;                       %计算点数
nxd=bin2dec(fliplr(dec2bin([1:N]-1,M)))+1;%倒序排列序号
xn=xn(nxd);                               %倒序xn  

for i=1:N                                 %N个1点DFT,xn本身,赋值到数组A
   A(i)=xn(i);
end

for L = 1:M   %DIT-FFT变换,M级蝶形变换
    B = 2^(L-1);                          %两个输入数据距离

    for J = 0:B-1;                        %旋转因子处理
        P=2^(M-L)*J;

        for k=(J+1):2^L:N                %本次蝶形运算跨越时间
            W=exp(-j*2*pi*P/N);           %对应旋转因子         
            T=A(k)+A(k+B)*W;              %进行蝶形运算
            A(k+B)=A(k)-A(k+B)*W;
            A(k)=T;
        end
    end
end
H=A;                                      %输出H为A
 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

#include "stdio.h"
#include <math.h> 


#define PI 3.141592653589793

#define Signal_length 201     //实际数据取样个数
#define Container_length 256  //只能是2的n次方大小(至少大于等于数据长度)

typedef struct 
{
    double shi;
    double xv;
}plural;

double data_sequence[Container_length]={0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0001,0.0004,0.0015,0.0047,0.0134,0.0348,0.0813,0.1721,0.3297,0.5715,0.8963,1.2719,1.6331,1.8974,1.9947,1.8974,1.6331,1.2719,0.8963,0.5715,0.3297,0.1721,0.0813,0.0348,0.0134,0.0047,0.0015,0.0004,0.0001,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000};
plural fft_results[Container_length]={0};//补零

//复数运算
plural complexExp(plural a)
{
    plural result;
 
    result.shi = exp(a.shi) * cos(a.xv);
    result.xv = exp(a.shi) * sin(a.xv);
    return result;
}

plural complexMultiply(plural a, plural b)
{
    plural result;
    result.shi = a.shi * b.shi - a.xv * b.xv;
    result.xv = a.xv * b.shi + a.shi * b.xv;
    return result;
}

plural complexAdd(plural a, plural b)
{
     plural result;
     result.shi = a.shi + b.shi;
     result.xv = a.xv + b.xv;
     return result;
}

plural complexSubtract(plural minuend, plural subtrahend)
 {
     plural result;
     result.shi = minuend.shi - subtrahend.shi;
     result.xv = minuend.xv - subtrahend.xv;
     return result;
 }

//转换级数
unsigned char my_nextpow2(int mydata)
{
    unsigned char i=1;
    unsigned int tmp=0.0;
    for(i=1;;i++)
        {
        tmp=pow(2,i);
        if(tmp>mydata)
                return i;
        }
}

//二进制倒置
unsigned int my_fliplr2bin(unsigned int mydata,unsigned char mybit)
{
    unsigned int i=0,tmp2=0;
    unsigned char tmp1=0;
    for(i=0;i<mybit;i++)
        {
        tmp1=mydata&(0x01<<i);
        if(tmp1>0)
            tmp1=1;
        else
            tmp1=0;
        tmp2=tmp2|tmp1<<(mybit-i-1);  
        tmp1=0;
        }
    return tmp2;
}

//快速傅里叶变换 对照MATLIB的fft函数
//参数一原始数据,参数二结果
void my_fft(double *data_sequence,plural *fft_results)
{
    int fft_xl[Container_length]={0};
    unsigned int i=0;
    unsigned char L=0;//DIT-FFT变换,M级蝶形变换
    unsigned int B=0;//两个输入数据距离
    unsigned int J=0;//旋转因子处理
    unsigned int P=0;
    unsigned int K=0;//本次蝶形运算跨越时间
    plural W,T;
    plural tmp;
    //创建倒置表
    for(i=0;i<Container_length;i++)
        fft_xl[i]=my_fliplr2bin(i,8); 
      //倒置数据
    for(i=0;i<Container_length;i++)
        fft_results[i].shi=data_sequence[fft_xl[i]];
    

    for(L=1;L<(my_nextpow2(Signal_length)+1);L++)//DIT-FFT变换,M级蝶形变换
        {      
        B=pow(2,L-1);//两个输入数据距离      
        for(J=0;J<=(B-1);J++)//旋转因子处理
                {                
                P=pow(2,my_nextpow2(Signal_length)-L)*J;                
                for(K=J+1;K<=Container_length;K+=pow(2,L))//本次蝶形运算跨越时间
                              {
                   tmp.xv=0-(2*PI*P/Container_length);
                   tmp.shi=0;
                   W=complexExp(tmp);//对应旋转因子
                                  
                   tmp.shi=fft_results[K+B-1].shi;//进行蝶形运算
                   tmp.xv=fft_results[K+B-1].xv;
                   tmp=complexMultiply(tmp,W);
                   tmp=complexAdd(fft_results[K-1],tmp);
                   T.shi=tmp.shi;
                   T.xv=tmp.xv;                                 
                   
                   tmp.shi=fft_results[K+B-1].shi;
                   tmp.xv=fft_results[K+B-1].xv;
                   tmp=complexMultiply(tmp,W);
                   tmp=complexSubtract(fft_results[K-1],tmp);                
                   
                   fft_results[K+B-1].shi=tmp.shi;
                   fft_results[K+B-1].xv=tmp.xv;              
                  
                   fft_results[K-1].shi=T.shi;
                   fft_results[K-1].xv=T.xv;
                              }
                }
        }
        for(i=0;i<256;i++)
        printf("r is %f %f\n",fft_results[i].shi,fft_results[i].xv);
}

void main()
{
    my_fft(data_sequence,fft_results);
    //结果转换为频谱需做以下操作
    //已知Fs采样频率
    //补零后的数据个数n
    //横坐标频率为FS*((0到n/2)/n)
    //图像为每个数据除n后把复数取绝对值,取前频率个数个值
}

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

对照数据matlib版本为

 

 

C语言版本对比

C语言结果:

r is 15.811100 0.000000
r is -12.185395 -10.000295
r is 3.047659 15.321618
r is 7.254006 -13.571291
r is -13.920394 5.766016
r is 14.032978 4.256857
r is -7.881641 -11.795709
r is -1.337138 13.576185
r is 9.220172 -9.220172
r is -12.328808 1.214282
r is 9.727707 6.499846
r is -3.187999 -10.509424
r is -3.921453 9.467224
r is 8.381730 -4.480128
r is -8.593256 -1.709305
r is 5.093378 6.206299
r is 0.000000 -7.312985
r is -4.200343 5.118132
r is 5.844075 -1.162459
r is -4.700803 -2.512631
r is 1.813706 4.378674
r is 1.215966 -4.008502
r is -3.059838 2.044518
r is 3.198123 0.314988
r is -1.972423 -1.972423
r is 0.235898 2.395113
r is 1.146704 -1.716163
r is -1.683714 0.510749
r is 1.377369 0.570525
r is -0.591904 -1.107375
r is -0.205073 1.030969
r is 0.676145 -0.554898
r is -0.723456 -0.000000
r is 0.459758 0.377313
r is -0.094817 -0.476676
r is -0.186087 0.348145
r is 0.294444 -0.121963
r is -0.244743 -0.074242
r is 0.113340 0.169626
r is 0.015855 -0.160974
r is -0.090142 0.090142
r is 0.099387 -0.009789
r is -0.064660 -0.043204
r is 0.017472 0.057598
r is 0.017720 -0.042779
r is -0.031224 0.016689
r is 0.026387 0.005249
r is -0.012890 -0.015706
r is 0.000000 0.015251
r is 0.007219 -0.008796
r is -0.008282 0.001647
r is 0.005501 0.002940
r is -0.001758 -0.004244
r is -0.000982 0.003236
r is 0.002077 -0.001388
r is -0.001851 -0.000182
r is 0.000994 0.000994
r is -0.000106 -0.001080
r is -0.000478 0.000715
r is 0.000670 -0.000203
r is -0.000540 -0.000224
r is 0.000234 0.000437
r is 0.000083 -0.000416
r is -0.000278 0.000228
r is 0.000300 0.000000
r is -0.000187 -0.000153
r is 0.000036 0.000181
r is 0.000061 -0.000113
r is -0.000069 0.000029
r is 0.000025 0.000008
r is 0.000010 0.000014
r is 0.000005 -0.000053
r is -0.000058 0.000058
r is 0.000101 -0.000010
r is -0.000093 -0.000062
r is 0.000033 0.000109
r is 0.000041 -0.000098
r is -0.000080 0.000043
r is 0.000067 0.000013
r is -0.000025 -0.000030
r is -0.000000 0.000005
r is -0.000022 0.000026
r is 0.000073 -0.000015
r is -0.000102 -0.000055
r is 0.000059 0.000143
r is 0.000055 -0.000182
r is -0.000181 0.000121
r is 0.000237 0.000023
r is -0.000175 -0.000175
r is 0.000024 0.000243
r is 0.000127 -0.000190
r is -0.000192 0.000058
r is 0.000149 0.000062
r is -0.000053 -0.000100
r is -0.000011 0.000057
r is 0.000000 -0.000000
r is 0.000056 0.000000
r is -0.000083 -0.000068
r is 0.000029 0.000146
r is 0.000084 -0.000158
r is -0.000180 0.000074
r is 0.000186 0.000056
r is -0.000099 -0.000149
r is -0.000015 0.000149
r is 0.000077 -0.000077
r is -0.000060 0.000006
r is 0.000007 0.000005
r is 0.000013 0.000041
r is 0.000034 -0.000083
r is -0.000112 0.000060
r is 0.000151 0.000030
r is -0.000106 -0.000130
r is 0.000000 0.000168
r is 0.000099 -0.000121
r is -0.000131 0.000026
r is 0.000091 0.000049
r is -0.000026 -0.000063
r is -0.000009 0.000029
r is -0.000004 0.000003
r is 0.000037 0.000004
r is -0.000045 -0.000045
r is 0.000008 0.000082
r is 0.000053 -0.000079
r is -0.000098 0.000030
r is 0.000097 0.000040
r is -0.000049 -0.000092
r is -0.000020 0.000100
r is 0.000078 -0.000064
r is -0.000100 0.000000
r is 0.000078 0.000064
r is -0.000020 -0.000100
r is -0.000049 0.000092
r is 0.000097 -0.000040
r is -0.000098 -0.000030
r is 0.000053 0.000079
r is 0.000008 -0.000082
r is -0.000045 0.000045
r is 0.000037 -0.000004
r is -0.000004 -0.000003
r is -0.000009 -0.000029
r is -0.000026 0.000063
r is 0.000091 -0.000049
r is -0.000131 -0.000026
r is 0.000099 0.000121
r is 0.000000 -0.000168
r is -0.000106 0.000130
r is 0.000151 -0.000030
r is -0.000112 -0.000060
r is 0.000034 0.000083
r is 0.000013 -0.000041
r is 0.000007 -0.000005
r is -0.000060 -0.000006
r is 0.000077 0.000077
r is -0.000015 -0.000149
r is -0.000099 0.000149
r is 0.000186 -0.000056
r is -0.000180 -0.000074
r is 0.000084 0.000158
r is 0.000029 -0.000146
r is -0.000083 0.000068
r is 0.000056 0.000000
r is 0.000000 0.000000
r is -0.000011 -0.000057
r is -0.000053 0.000100
r is 0.000149 -0.000062
r is -0.000192 -0.000058
r is 0.000127 0.000190
r is 0.000024 -0.000243
r is -0.000175 0.000175
r is 0.000237 -0.000023
r is -0.000181 -0.000121
r is 0.000055 0.000182
r is 0.000059 -0.000143
r is -0.000102 0.000055
r is 0.000073 0.000015
r is -0.000022 -0.000026
r is -0.000000 -0.000005
r is -0.000025 0.000030
r is 0.000067 -0.000013
r is -0.000080 -0.000043
r is 0.000041 0.000098
r is 0.000033 -0.000109
r is -0.000093 0.000062
r is 0.000101 0.000010
r is -0.000058 -0.000058
r is 0.000005 0.000053
r is 0.000010 -0.000014
r is 0.000025 -0.000008
r is -0.000069 -0.000029
r is 0.000061 0.000113
r is 0.000036 -0.000181
r is -0.000187 0.000153
r is 0.000300 0.000000
r is -0.000278 -0.000228
r is 0.000083 0.000416
r is 0.000234 -0.000437
r is -0.000540 0.000224
r is 0.000670 0.000203
r is -0.000478 -0.000715
r is -0.000106 0.001080
r is 0.000994 -0.000994
r is -0.001851 0.000182
r is 0.002077 0.001388
r is -0.000982 -0.003236
r is -0.001758 0.004244
r is 0.005501 -0.002940
r is -0.008282 -0.001647
r is 0.007219 0.008796
r is 0.000000 -0.015251
r is -0.012890 0.015706
r is 0.026387 -0.005249
r is -0.031224 -0.016689
r is 0.017720 0.042779
r is 0.017472 -0.057598
r is -0.064660 0.043204
r is 0.099387 0.009789
r is -0.090142 -0.090142
r is 0.015855 0.160974
r is 0.113340 -0.169626
r is -0.244743 0.074242
r is 0.294444 0.121963
r is -0.186087 -0.348145
r is -0.094817 0.476676
r is 0.459758 -0.377313
r is -0.723456 -0.000000
r is 0.676145 0.554898
r is -0.205073 -1.030969
r is -0.591904 1.107375
r is 1.377369 -0.570525
r is -1.683714 -0.510749
r is 1.146704 1.716163
r is 0.235898 -2.395113
r is -1.972423 1.972423
r is 3.198123 -0.314988
r is -3.059838 -2.044518
r is 1.215966 4.008502
r is 1.813706 -4.378674
r is -4.700803 2.512631
r is 5.844075 1.162459
r is -4.200343 -5.118132
r is -0.000000 7.312985
r is 5.093378 -6.206299
r is -8.593256 1.709305
r is 8.381730 4.480128
r is -3.921453 -9.467224
r is -3.187999 10.509424
r is 9.727707 -6.499846
r is -12.328808 -1.214282
r is 9.220172 9.220172
r is -1.337138 -13.576185
r is -7.881641 11.795709
r is 14.032978 -4.256857
r is -13.920394 -5.766016
r is 7.254006 13.571291
r is 3.047659 -15.321618
r is -12.185395 10.000295
 

 

matlib结果:

 

1 至 6 列
  15.8114 + 0.0000i -12.1856 -10.0005i   3.0477 +15.3219i   7.2541 -13.5715i -13.9205 + 5.7661i  14.0331 + 4.2569i
  7 至 12 列
  -7.8817 -11.7957i  -1.3371 +13.5762i   9.2201 - 9.2201i -12.3288 + 1.2143i   9.7277 + 6.4998i  -3.1880 -10.5094i
  13 至 18 列
  -3.9214 + 9.4672i   8.3817 - 4.4801i  -8.5933 - 1.7093i   5.0934 + 6.2064i   0.0000 - 7.3131i  -4.2004 + 5.1182i
  19 至 24 列
   5.8442 - 1.1625i  -4.7009 - 2.5127i   1.8138 + 4.3788i   1.2160 - 4.0086i  -3.0599 + 2.0446i   3.1982 + 0.3150i
  25 至 30 列
  -1.9724 - 1.9724i   0.2359 + 2.3951i   1.1467 - 1.7161i  -1.6837 + 0.5107i   1.3774 + 0.5705i  -0.5919 - 1.1074i
  31 至 36 列
  -0.2051 + 1.0310i   0.6762 - 0.5550i  -0.7236 - 0.0000i   0.4599 + 0.3774i  -0.0949 - 0.4769i  -0.1862 + 0.3483i
  37 至 42 列
   0.2947 - 0.1221i  -0.2450 - 0.0743i   0.1135 + 0.1698i   0.0159 - 0.1612i  -0.0903 + 0.0903i   0.0995 - 0.0098i
  43 至 48 列
  -0.0648 - 0.0433i   0.0175 + 0.0577i   0.0178 - 0.0429i  -0.0313 + 0.0167i   0.0265 + 0.0053i  -0.0129 - 0.0158i
  49 至 54 列
   0.0000 + 0.0153i   0.0073 - 0.0088i  -0.0083 + 0.0017i   0.0055 + 0.0030i  -0.0018 - 0.0042i  -0.0010 + 0.0032i
  55 至 60 列
   0.0020 - 0.0013i  -0.0017 - 0.0002i   0.0009 + 0.0009i  -0.0001 - 0.0009i  -0.0003 + 0.0005i   0.0004 - 0.0001i
  61 至 66 列
  -0.0003 - 0.0001i   0.0001 + 0.0002i   0.0000 - 0.0001i  -0.0001 + 0.0001i   0.0001 + 0.0000i  -0.0000 - 0.0000i
  67 至 72 列
   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i
  73 至 78 列
   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i
  79 至 84 列
  -0.0000 - 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i
  85 至 90 列
   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i
  91 至 96 列
   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i
  97 至 102 列
  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i
  103 至 108 列
   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i
  109 至 114 列
   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i
  115 至 120 列
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i
  121 至 126 列
  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i
  127 至 132 列
  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i
  133 至 138 列
   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i
  139 至 144 列
  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i
  145 至 150 列
   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i
  151 至 156 列
  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i
  157 至 162 列
   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i
  163 至 168 列
  -0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i
  169 至 174 列
  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i
  175 至 180 列
   0.0000 + 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i
  181 至 186 列
  -0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i
  187 至 192 列
  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i
  193 至 198 列
   0.0001 + 0.0000i  -0.0001 - 0.0001i   0.0000 + 0.0001i   0.0001 - 0.0002i  -0.0003 + 0.0001i   0.0004 + 0.0001i
  199 至 204 列
  -0.0003 - 0.0005i  -0.0001 + 0.0009i   0.0009 - 0.0009i  -0.0017 + 0.0002i   0.0020 + 0.0013i  -0.0010 - 0.0032i
  205 至 210 列
  -0.0018 + 0.0042i   0.0055 - 0.0030i  -0.0083 - 0.0017i   0.0073 + 0.0088i   0.0000 - 0.0153i  -0.0129 + 0.0158i
  211 至 216 列
   0.0265 - 0.0053i  -0.0313 - 0.0167i   0.0178 + 0.0429i   0.0175 - 0.0577i  -0.0648 + 0.0433i   0.0995 + 0.0098i
  217 至 222 列
  -0.0903 - 0.0903i   0.0159 + 0.1612i   0.1135 - 0.1698i  -0.2450 + 0.0743i   0.2947 + 0.1221i  -0.1862 - 0.3483i
  223 至 228 列
  -0.0949 + 0.4769i   0.4599 - 0.3774i  -0.7236 - 0.0000i   0.6762 + 0.5550i  -0.2051 - 1.0310i  -0.5919 + 1.1074i
  229 至 234 列
   1.3774 - 0.5705i  -1.6837 - 0.5107i   1.1467 + 1.7161i   0.2359 - 2.3951i  -1.9724 + 1.9724i   3.1982 - 0.3150i
  235 至 240 列
  -3.0599 - 2.0446i   1.2160 + 4.0086i   1.8138 - 4.3788i  -4.7009 + 2.5127i   5.8442 + 1.1625i  -4.2004 - 5.1182i
  241 至 246 列
  -0.0000 + 7.3131i   5.0934 - 6.2064i  -8.5933 + 1.7093i   8.3817 + 4.4801i  -3.9214 - 9.4672i  -3.1880 +10.5094i
  247 至 252 列
   9.7277 - 6.4998i -12.3288 - 1.2143i   9.2201 + 9.2201i  -1.3371 -13.5762i  -7.8817 +11.7957i  14.0331 - 4.2569i
  253 至 256 列
 -13.9205 - 5.7661i   7.2541 +13.5715i   3.0477 -15.3219i -12.1856 +10.000i

 

 结果 一致,略有不同是因为数学运算C环境没有matl高的原因 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值