Reshape n-th dimension of an array
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
I have an 285x51xn array. I need to reshape it in 3rd (n) dimension. Essentialy, I want to rotate all layers of 285x51 matrix 90 degrees and flip them upside down and then save as 285x51xn array.
I have written the following code but it gives an error that dimensions mismath. I feel there is a problem with indexing. 
for k = 1:length(test(1, 1, :))
    test(:,:,k)=rot90(test(:,:,k));
    test(:,:,k)=flipud(test(:,:,k))
end
Please, correct me.
0 个评论
采纳的回答
  Bruno Luong
      
      
 2020-8-7
        
      编辑:Bruno Luong
      
      
 2020-8-7
  
      You operation makes the array changing its size, you can't use for-loop to store the rotated page in the SAME arrray.
And btw fllipupd(rot90(...)) is simply exchange the first 2 dimensions
test = permute(test,[2 1 3]);
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

