Azzera filtri
Azzera filtri

get a subcell from a bigger cell

8 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.

Community Treasure Hunt

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

Start Hunting!

Translated by