[问题] 一些矩阵配置的问题

楼主: shadowblade (影刃)   2015-07-08 00:00:22
第一次在这边发文,还是MATLAB生手,如果有哪边不妥当的请告知
我现在在处理的是N*M*N*M的四维矩阵C
1. 如果想将座标对应前两个跟后两个交换有没有不用循环的写法?
H = ones(N,M,N,M);
for h1=1:N
for h2=1:M
H(h1,h2,:,:) = C(:,:,h1,h2);
end; end;
2. 之所以想做上面的那个调整是因为fft2好像只能对一个四维矩阵的前两维运算
就是fft2(C)相当于分别做C(:,:,1,1) C(:,:,1,2) ... 的二维Fourier transform
那有办法只挑后两个维度来转换吗?
3. 想将一个向量中元素分别指定到四维矩阵中有没有不用循环的写法?
x = fftshift( (0:N-1)-N/2 );
Rx = ones(N,M,N,M);
for s1=1:N
Rx(:,:,s1,:) = x(s1);
end;
谢谢
作者: celestialgod (天)   2015-07-08 00:17:00
1. permute
楼主: shadowblade (影刃)   2015-07-08 00:18:00
感谢
作者: celestialgod (天)   2015-07-08 00:24:00
3. 感觉reshape一下input应该可以一次处理
楼主: shadowblade (影刃)   2015-07-08 00:34:00
思考中解决了,多谢

Links booklink

Contact Us: admin [ a t ] ucptt.com