Effacer les filtres
Effacer les filtres

get a subcell from a bigger cell

8 vues (au cours des 30 derniers jours)
Miguel Reina
Miguel Reina le 5 Fév 2018
Commenté : Jan le 5 Fév 2018
I have a cell of 10x9 named 'a', each index contains a string. How can i create a sub cell if i have two vectors (f,c) with the indexes that i want. e.g. imagine a 2x3 cell a and indexes f and c
a={('this'), ('is') ,('big');('he') ,('buys') ,('it')}
f=[1,1,2];
c=[1,2,3];
the result i want is b={('this'), ('is');('it'),('')}
  3 commentaires
Miguel Reina
Miguel Reina le 5 Fév 2018
the indexes are found following a 2x3 matrix said
b=[1 1 0;0 0 1]
in which 1 indicates the "correct" words following a criteria. so to find the indexes of those words i used
[c,f]=find(b==1);
Jan
Jan le 5 Fév 2018
Wouldn't it be easier to apply directly:
a(b)

Connectez-vous pour commenter.

Réponses (1)

Guillaume
Guillaume le 5 Fév 2018
Use ind2sub:
a(ind2sub(size(a), f, c))
The result will be 1x3 vector not an arbitrary sized array.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by