%我的fftshift函数
function re=myfftshift(a)
[m,n]=size(a);
m1=ceil(m/2);%向上取整
n1=ceil(n/2);
%左右半边进行交换
temp1=zeros(m,n1);%申请矩阵空间
temp2=zeros(m,n-n1);
temp1(:,:)=a(:,1:n1);%存储左半数据
temp2(:,:)=a(:,n1+1:n);%存储右半数据
a(:,1:n-n1)=temp2;%赋值给左半边
a(:,n-n1+1:n)=temp1;%赋值给右半边
%上下半边进行交换
temp1=zeros(m1,n);%申请矩阵空间
temp2=zeros(m-m1,n);
temp1(:,:)=a(1:m1,:);%存储上半数据
temp2(:,:)=a(m1+1:m,:);%存储下半数据
a(1:m-m1,:)=temp2;%赋值给上半边
a(m-m1+1:m,:)=temp1;%赋值给下半边
re=a;
end
matlab fftshift函数编写
最新推荐文章于 2024-10-22 10:40:29 发布