t12211017 发表于 2007-8-17 18:01

二维傅立叶变换程序中某一句看不懂,请指教

菜鸟修改的,可能不是很好!!
function =myfft2(A)
%二维傅立叶变换
%
%转化为double型
A=double(A);
=size(A);
%一维行傅立叶变换
B(1:a,:)=fft(A(1:a,:));
C=B';
%一维列傅立叶变换
D(1:b,:)=fft(C(1:b,:));
E=D';
E(2:a,2:b)=E(2:a,b:-1:2);
return
%望多多指教:):):)


上面是找到的程序,E(2:a,2:b)=E(2:a,b:-1:2);这一句是什么意思

[ 本帖最后由 eight 于 2007-8-17 19:46 编辑 ]

hohoo 发表于 2007-8-17 19:36

E(2:a,2:b)=E(2:a,b:-1:2)意思是将矩阵E的从第2行到第a行,从第2列到第b列的矩阵提出来,只进行列的逆排列,即行保持不变,列从第b列到第2列,替代原来的第2列到第b列,重新排列后,放回到原来的E矩阵中,不知道这样说你明白了吗

eight 发表于 2007-8-17 19:45

原帖由 t12211017 于 2007-8-17 18:01 发表 http://www.chinavib.com/forum/images/common/back.gif
菜鸟修改的,可能不是很好!!
function =myfft2(A)
%二维傅立叶变换
%
%转化为double型
A=double(A);
=size(A);
%一维行傅立叶变换
B(1:a,:)=fft(A(1:a,:));
C=B';
%一维列傅立叶变换
D(1: ...

这种问题建议自己在命令窗口使用一个小矩阵测试一下就可以了

t12211017 发表于 2007-8-17 19:52

回复 #2 hohoo 的帖子

恩,正如斑竹所说,很全面,谢谢

t12211017 发表于 2007-8-17 19:53

但是我不明白的是他为什么要这么做

eight 发表于 2007-8-17 19:55

原帖由 t12211017 于 2007-8-17 19:53 发表 http://www.chinavib.com/forum/images/common/back.gif
但是我不明白的是他为什么要这么做

估计是为了能量重排的需要吧,这个只能看看相关书籍,或者google之
页: [1]
查看完整版本: 二维傅立叶变换程序中某一句看不懂,请指教