是否存在类似于ceil的(Matlab)函数来查找大于输入但不等于输入的下一个整数?
例子:
1.1 --> 2
1.9 --> 2
2.0 --> 3 (note that ceil(2) == 2)
2.1 --> 3
我尝试使用 ceil(x+eps)
,但这仅适用于小数字:
>> ceil((-4:4)+eps)
ans =
-4 -3 -1 0 1 2 2 3 4
还有, floor
的任何等价物?
2 回答
如果你想同样对待负值和正值,使
1.1
变为2
并且-1.1
变为1
,那么the answer from informaton使用floor是正确的:如果你想让正值成为下一个最正整数,但负值成为下一个最负的整数,那么你可以像这样使用fix和sign:
例如:
对于正数x:
floor(x)+1
第二个问题在没有示例的情况下有点含糊不清,但这可能是您正在寻找的:
ceil(x)-1