是否有(Matlab的)功能类似ceil
去寻找下一个整数,它是大于输入,但不等于到输入?下一个整数大于但不等于输入
例子:
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
?
是否有(Matlab的)功能类似ceil
去寻找下一个整数,它是大于输入,但不等于到输入?下一个整数大于但不等于输入
例子:
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
?
如果您想要处理负值和正值,使得1.1
变为2
而-1.1
变为1
,th使用EN floor
是the answer from informaton正确:
out = floor(x)+1;
如果你宁愿有正面的价值观成为下一个最积极的整数,但负值成为未来最负整数,那么你可以使用fix
和sign
像这样:
out = fix(x)+sign(x);
例如:
>> x = [-2.1 -2.0 -1.9 -1.1 0 1.1 1.9 2.0 2.1]
x =
-2.1000 -2.0000 -1.9000 -1.1000 0 1.1000 1.9000 2.0000 2.1000
>> out = fix(x)+sign(x)
out =
-3 -3 -2 -2 0 2 2 3 3
对于正数x:
floor(x)+1
第二个问题是没有例子有点暧昧,但是这可能是你在找什么:
ceil(x)-1