在Matlab中有一个可变的输出长度

时间:2015-11-10 09:53:57

标签: matlab

我已经编写了一个将容差作为其输入之一的函数,并且我想知道如何将输出设置为具有与容差相同的小数位数?我知道您可以使用sprintf来设置一些小数点,但我无法确定如何将其设置为等于公差中显示的相同小数点数。我希望它四舍五入到由tol指定的精度,这是一个输入。因此,如果我将公差设为0.001,那就是我想要的精度,这就是我发现要做的事情。

2 个答案:

答案 0 :(得分:1)

只需使用round,它就具有内置的功能:

round(4.235,2)
ans = 
      4.23

答案 1 :(得分:0)

要舍入到给定公差的最近单位,除以该公差,舍入到最接近的整数,并将结果乘以原始公差:

tol

如果您的意思是假设log10代表整数小数位,您可以使用places = round(-log10(tol)); 确定该数字:

sprintf

您可以直接在output = sprintf('%.*f', places, x);

中使用此结果
onChange, onStart, onFinish