Is there an alternative to "find" for non-integer values?
3 次查看(过去 30 天)
显示 更早的评论
Hi,
I need to find all the coordinates in a nx2 matrix which have a certain (x) value. All the coordinates are non-integer so find will not work.
Example:
M = 2.334 3.554
4.443 4.554
3.245 5.332
4.443 2.443
Is there a way to put [4.443 4.445; 4.443 2.443] into a new matrix? Can num2string and back again work or is there a better way? Thanks in advance
0 个评论
采纳的回答
Image Analyst
2013-5-7
编辑:Image Analyst
2013-5-7
targetValue = 4.443;
tolerance = 0.01;
M = [2.334 3.554
4.443 4.554
3.245 5.332
4.443 2.443]
diffM = abs(M(:, 1) - targetValue)
% Find rows within tolerance of the target value in row 1.
rowsToExtract = diffM < tolerance
% Extract only those rows:
extractedRows = M(rowsToExtract, :)
In the command window you'll see:
M =
2.334 3.554
4.443 4.554
3.245 5.332
4.443 2.443
diffM =
2.109
0
1.198
0
rowsToExtract =
0
1
0
1
extractedRows =
4.443 4.554
4.443 2.443
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!