MATLAB Answers

How to rearrange a cell array with a given index vector

60 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.
  1 Comment
madhan ravi
madhan ravi on 22 Oct 2020
What was the error message? It works without any problem.

Sign in to comment.

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!