How to convert row-major linear indices to column-major indices?
13 次查看(过去 30 天)
显示 更早的评论
I have a row-major linear indices [1,8, 14, 9, 4, 11, 18] from a matrix 3 x 6 (row x column). How to convert this to column-major linear indices [1, 5, 6, 8, 10, 14, 18] without for-loops? I want to generalize for any rectangular or square matrices.
0 个评论
采纳的回答
Stephen23
2022-3-23
编辑:Stephen23
2022-3-23
S = [3,6]; % matrix size
X = [1,8,14,9,4,11,18]; % row-major linear indices
[Y,Z] = ind2sub(flip(S),X);
V = sub2ind(S,Z,Y) % column-major linear indices
4 个评论
Stephen23
2022-3-24
S = [3,6]; % matrix size
X = [1,5,6,8,10,14,18]; % column-major linear indices
[Y,Z] = ind2sub(S,X);
V = sub2ind(flip(S),Z,Y) % row-major linear indices
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Troubleshooting Linearization Results 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!