Borrar filtros
Borrar filtros

get a subcell from a bigger cell

8 visualizaciones (últimos 30 días)
Miguel Reina
Miguel Reina el 5 de Feb. de 2018
Comentada: Jan el 5 de Feb. de 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 comentarios
Miguel Reina
Miguel Reina el 5 de Feb. de 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 el 5 de Feb. de 2018
Wouldn't it be easier to apply directly:
a(b)

Iniciar sesión para comentar.

Respuestas (1)

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

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by