Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

# search and retrieve data from cell array

1 Ansicht (letzte 30 Tage)
OpenSearch am 29 Aug. 2018
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I have got a cell array containing a column of 1000 (thousand) 2x2 doubles.
Could someone advise on the most efficient way to search for certain numbers in those doubles? And if found (within an error range), to save them in a separate table?
Many thanks in advance!
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Stephen23 am 30 Aug. 2018
Bearbeitet: Stephen23 am 30 Aug. 2018
"Could someone advise on the most efficient way to search for certain numbers in those doubles"
The most efficient way would probably be to use a loop. The easiest way might be to use cellfun. Probably the best way would be to have stored your data in one ND array, then you could write better, simpler, vectorized code:

### Antworten (1)

Matthew am 30 Aug. 2018
Bearbeitet: Matthew am 30 Aug. 2018
The easiest way I know of is to use cellfun. For instance if you were looking for numbers that are greater than 2
arraysWithNumbersGreaterThan2_IX = cellfun(@(x) any(any(x > 2)), inputArray)
seperateList = inputArray(arraysWithNumbersGreaterThan2_IX);
If you want to find arrays that have 1, 4, or 7 in them
arraysWithCertainNumbers_IX = cellfun(@(x) any(ismember([1,4,7],x)), inputArray)
seperateList = inputArray(arraysWithCertainNumbers_IX);

### Community Treasure Hunt

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

Start Hunting!

Translated by