myfft2.m

来自「自编实现快速fft程序」· M 代码 · 共 34 行

M
34
字号
function B=myfft2(A,per)
B=fft2(A);
n=length(A);
C=reshape(abs(B),1,n*n);
vector=sort(C);
mx=C(1,n);
mi=C(1,1);
num=per*n*n;
a=vector(1,num);
sign=0;
for i=1:n
    for j=1:n
        if  abs(B(i,j))<a
            B(i,j)=0;
            sign=sign+1;
        end
    end
end
if sign<num
    for i=1:n
        for j=1:n
            if abs(B(i,j))==a
                B(i,j)=0;
                sign=sign+1;
            end
            if sign==num
                i=n;
                j=n;
            end
        end
    end
end
B=ifft2(B);
B=abs(B);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?