Eliminate decimals past the thousandths place in a table
조회 수: 3 (최근 30일)
이전 댓글 표시
I have a table being pulled from a database that contains 'string' and 'double' data that being a parameter name and it's associated limits. I am currently trying to eliminate replicate data using the unique function however some of the data that is considered duplicated is not removed because it has either 14 or 16 trailing zeros. I would like to eliminate the zeros past the thousandths place.
Fix, Ceil, Round, and Floor do not work with tables.
댓글 수: 3
Adam Danz
2020년 1월 21일
편집: Adam Danz
2020년 1월 21일
If those values are considered unique by the unique() function that eliminates the possibility that you're just using a long format such as
format long
but if those values are numeric, it suggests that they have some trailing non-zero decimal values, otherwise they wouldn't end in a string of 0s.
You could round all of your values to the thousandths place by using
round(x,3)
채택된 답변
Adam Danz
2020년 1월 21일
If those values are considered unique by the unique() function that eliminates the possibility that you're just using a long format such as
format long
but if those values are numeric, it suggests that they have some trailing non-zero decimal values, otherwise they wouldn't end in a string of 0s.
You could round all of your values to the thousandths place by using
round(x,3)
댓글 수: 6
Adam Danz
2020년 1월 22일
Yeah, I'd try Walter's suggestion first by replacing the unique function my previous comment with uniquetol. If that doesn't work, you could play around with tolerance level. See C = uniquetol(A,tol)
If all else fails, you can round that column of data using
T.Var = round(T.Var,3);
where T is your table and var is the column's variable name.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Discriminant Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!