get a subcell from a bigger cell

5 visualizzazioni (ultimi 30 giorni)
Miguel Reina
Miguel Reina il 5 Feb 2018
Commentato: Jan il 5 Feb 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 Commenti
Miguel Reina
Miguel Reina il 5 Feb 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 il 5 Feb 2018
Wouldn't it be easier to apply directly:
a(b)

Accedi per commentare.

Risposte (1)

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

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by