Reshape n-th dimension of an array
2 ビュー (過去 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!