why ismember() does not return correct result
조회 수: 7 (최근 30일)
이전 댓글 표시
Hello, I have an original matrix M ( Nx3 ) and another one mat ( Kx3 ). I want to have access to the indicies of rows of the original matrix, M, where the rows of the matrix mat also exist in matrix M. My code is:
idx = find(ismember(M, mat, "rows"))
While most of the rows of mat are correctly returned some rows do not. The common theme is that all of them have the third element equal (1.6).
The array mat:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1507664/image.png)
Rows of array M: ( the row [-2.5 1.65 1.6] exists in the array ! )
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1507669/image.png)
Is this a floating point problem ?
Thanks
채택된 답변
Star Strider
2023년 10월 10일
They may have very small values that are not shown, especially if they are calculated.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Cell Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!