Logical indexing of cell array

5 visualizaciones (últimos 30 días)
jnaumann
jnaumann el 3 de Nov. de 2015
Editada: Thorsten el 4 de Nov. de 2015
Hi all,
There is a probably a very simple solution to this but my mind has gone blank. I have a matrix which I am filtering on using logical indexing of another matrix e.g.
new_matrix=old_matrix(diff_matrix>50)
This works fine however I am trying to do the same thing, this time with a cell array e.g
new_cell_Array=old_cell_Array(diff_matrix>50)
but in this instance nothing happens - the old array and new array are the same size. Any ideas of how I use indexing to filter to the same entries in my cell array as my matrix?
I hope this makes sense
  3 comentarios
jnaumann
jnaumann el 4 de Nov. de 2015
Thanks for your response - I have added the data I mentioned in my first post
Adam
Adam el 4 de Nov. de 2015
When I run your code on those arrays I get a result array that is 5 elements shorter than the old_cell_array so it seems to work fine. The syntax is certainly fine since diff_matrix is a logical array.

Iniciar sesión para comentar.

Respuestas (1)

Thorsten
Thorsten el 4 de Nov. de 2015
Editada: Thorsten el 4 de Nov. de 2015
I tried it with your variables and it worked fine.
>> size(old_cell_array)
ans =
196.00 1.00
>> new_cell_array=old_cell_array(diff_matrix>50);
>> size(new_cell_array)
ans =
191.00 1.00
Maybe you confused old_cell_array and old_cell_Array, or something like that?

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by