How to reduce precision of data greator than zero only? (Matlab R2019a)
1 次查看(过去 30 天)
显示 更早的评论
Hello... Lets suppose i have a data stored in a variable
A = [1.23323 45.24343 0.1 0.001 455.34543 0.0001 ]
i want to shrink pricision of data only greator than zero... i tryed
A(A>0) - str2double(compose('%.2f',A(A>0)))
so the result should be
A = [1.23 45.24 0.1 0.001 455.34 0.0001] %% <<<< Desired Results
but its not woking, it applying %.2f on whole data....and giving >>>
A = [1.23 45.24 0.10 0.00 455.34 0.00]
Kindly Guide. Thanks
2 个评论
Walter Roberson
2021-3-16
so the result should be
No, 0.001 is greater than 0, so it should have its precision reduced.
采纳的回答
Walter Roberson
2021-3-16
format long g
A = [1.23323 -45.24343 0.1 0.001 455.34543 -0.0001 ]
mask = A>0;
A(mask) = round(A(mask),2);
A
1 个评论
Walter Roberson
2021-3-16
It is possible that what you really want is
format long g
A = [1.23323 -45.24343 0.1 0.001 455.34543 -0.0001 ]
mask = abs(A)>0.01;
A(mask) = round(A(mask),2);
A
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!