I want to reduce accuracy and precision to 3 digits.
1 回表示 (過去 30 日間)
古いコメントを表示
for example I want to a=2.18+0.139; with 3 digits answer must be 2.31. is any way to do this?
3 件のコメント
回答 (3 件)
Praveen Iyyappan Valsala
2018 年 4 月 25 日
I don't know any inbulit function which can do that. But, you can try something like below
trun=@(num,Ndigits)floor(a*10^Ndigits)/10^Ndigits;
trun_a=trun(a,2);
0 件のコメント
Walter Roberson
2018 年 4 月 25 日
No, there is no built-in way.
You can use the symbolic toolbox with digits set to 3, but that will round rather than truncate.
1 件のコメント
Stephen23
2018 年 4 月 26 日
Note that setting the digits does not mean that calculations will be performed with exactly that precision, because calculations may use guard digits.
Tom Wenk
2018 年 4 月 25 日
Like Walter Roberson stated, I think you have to use the symbolic toolbox for that.
Maybe this function from the toolbox can help you: https://de.mathworks.com/help/symbolic/digits.html
3 件のコメント
Walter Roberson
2018 年 5 月 2 日
For addition: multiply the original values by 100, take floor() or fix(). Do the addition. Divide the result by 100.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!