[問題] 一些矩陣配置的問題

作者: 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