Check if a value is within one of the cells in a cell array
    71 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
For example, i have this cell array y and i want to see if 6 is included in index 1 of  any of the cell arrays , how can i do that ? 
y={[1,2],[2,3.51],[2,5],[2,6]};
0 Commenti
Risposte (1)
  Jan
      
      
 il 9 Mar 2022
        
      Modificato: Jan
      
      
 il 9 Mar 2022
  
      Working with cells makes it harder. If you only want to know, if any 6 is contained:
y = {[1,2],[2,3.51],[2,5],[2,6]};
T = any(cat(2, y{:}) == 6)
T = any(cat(2, y{:}) == 7)
If all cell elements are [1 x 2] vectors, you could determine the cell index also:
X = cat(1, y{:});
[r,c] = find(X == 6)
If the cell contains arrays with not matching dimensions, a loop is an easy solution:
T = false;
for k = 1:numel(y)
   if any(y{k}(:) == 6)
      T = true;
      break;   % Leave loop at first match
   end
end
1 Commento
  Sergio Rojas Blanco
 il 14 Ago 2022
				I don't know if this worked to Adel but it did for me. Thank you Jan
Vedere anche
Categorie
				Scopri di più su Matrix Indexing 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!


