I have 98x3 matrix with only 7 unique rows of values which are output of some simulation. How do I extract that? I tried Unique function but am not getting unique rows. Below is the original matrix A and matrix after using unique function B.
조회 수: 2 (최근 30일)
이전 댓글 표시
A
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1.0000 -1.0000 0.0500
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1.5000 -0.0000 0.0500
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1.0000 1.0000 0.0500
1.0000 1.0000 0.0500
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
-1.0000 1.0000 0.0500
-1.0000 1.0000 0.0500
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
-1.5000 -0.0000 0.0500
-1.5000 -0.0000 0.0500
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
-1.0000 -1.0000 0.0500
-1.0000 -1.0000 0.0500
B=unique(A,'rows')
B
-1.5000 -0.0000 0.0500
-1.5000 -0.0000 0.0500
-1.0000 -1.0000 0.0500
-1.0000 1.0000 0.0500
0 0 0
1.0000 -1.0000 0.0500
1.0000 1.0000 0.0500
1.5000 -0.0000 0.0500
댓글 수: 0
채택된 답변
Rik
2018년 4월 23일
This is probably due to rounding errors caused by the way doubles are stored in computers. You can use uniquetol instead:
B=uniquetol(A,'ByRows',true);
The tolerance defaults to 1e-6 for single-precision inputs and 1e-12 for double-precision inputs. You can also specify your own tolerance instead.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!