FFT的C语言实现,对照MATLIB

it2023-02-13  75

%测试程序 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)