How to rearrange a cell array with a given index vector

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.

 Réponse acceptée

Sudhakar Shinde
Sudhakar Shinde le 22 Oct 2020
Modifié(e) : Sudhakar Shinde le 22 Oct 2020
change semicolon to comma to seperate 2 & 3 from id:
idx = [2,3,1];

5 commentaires

it was a typo. I corrected it.
Yup it works perfectly.
wow... it works as I need it to be.
Semi colon or comma both works.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by