How can I rotate a part of a matrix
5 次查看(过去 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!