How can I rotate a part of a matrix
4 ビュー (過去 30 日間)
古いコメントを表示
Hi there,
I have a 4D images (dimensions [156 192 26 42]). I would like to rotate only the last 20 volumes of my 4D matrix and keep the first as it is.
I tried the following:
rotated_matrix=original_matrix;
rotated_matrix = rot90(original_matrix(:,:,:,23:42));
The rotated_matrix has been rotated but it has dimensions [192 156 26 20]. Basically it contains the volumes that have been rotated.
How can I rotate only the volume in the last 20 places and keep the first 22 as they are?
0 件のコメント
回答 (1 件)
Ameer Hamza
2020 年 9 月 24 日
Try something like this
rotated_matrix = original_matrix(:,:,:,[1:20 42:-1:21]);
6 件のコメント
Ameer Hamza
2020 年 9 月 24 日
Ok. I get it know. Following will work for this case
original_matrix(:,:,:,end-19:end) = rotated_matrix
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!