How to rearrange a cell array with a given index vector

68 views (last 30 days)
I have the following cell array as matrices for its content. Matrices are of variable dimension.
c{1} = [1,2,3];
c{2} = [2,3,5,6];
c{3} = [1,2];
What is requires is to sort the given cell array 'c' according to a index vector.
if index vector is idx,
idx = [2;3;1];
I want the cell array 'c' to look like
c{1} = [2,3,5,6];
c{2} = [1,2];
c{3} = [1,2,3];
I tried using the command
c = c(idx);
which should work if c were a numerical array, but the command returns in an error. How do I get about this?
Thank you.

Accepted Answer

Sudhakar Shinde
Sudhakar Shinde on 22 Oct 2020
Edited: Sudhakar Shinde on 22 Oct 2020
change semicolon to comma to seperate 2 & 3 from id:
idx = [2,3,1];
  5 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!