Find all values within a given tolerance of 0
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Benjamin
am 6 Nov. 2018
Kommentiert: Benjamin
am 6 Nov. 2018
I have a matrix, called "difference". "difference" is 139x101. I would like to output the column numbers (i.e. somewhere between column 1 and column 101), where a value exists (out of the 139) that is within say 0.01% of 0. Is there a way to do this? It would be great if it could output the actual value, and column index. Note that if more than 1 column meets criterion, I want to output both.
3 Kommentare
Akzeptierte Antwort
Guillaume
am 6 Nov. 2018
Bearbeitet: Guillaume
am 6 Nov. 2018
Ignoring the 0.01% of 0 and assuming you want the location of elements whose absolute value is less than 0.01, simply:
[row, column] = find(abs(difference) < 0.01)
To get the corresponding values:
values = difference(sub2ind(size(difference), row, column));
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!