第一次在这边发文,还是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;
谢谢