给定正数,如何在matlab中确定其周围的整数

时间:2016-06-23 15:20:07

标签: matlab function if-statement

有人可以解释一下如何得到给定正数的周围整数(例如,如果数字是18.2378那么它应该返回18和19)

(我实际上需要这个以确定给定的数字在0-1或2-3或4-5之间等等......如果它在0-1或2-3或4-之间5等然后一些表达式评估,否则其他一些表达式必须评估。)

3 个答案:

答案 0 :(得分:2)

floorceil函数执行此操作:

x = 18.2378;
floor(x);  %Returns 18
ceil(x);   %Returns 19

答案 1 :(得分:1)

floor(18.2378)将返回 18 ,即前一个最接近的整数。

ceil(18.2378)将返回 19 ,即下一个最接近的整数

答案 2 :(得分:1)

您可以在Matlab中使用roundfloorceil将十进制数转换为整数。 Round将向上或向下舍入取决于小数值,向下舍入向负无穷大,并且ceil向正无穷大舍入。

以下是一个如何运作的示例:

n=18.2378;
F=floor(n);
C=ceil(n);
TF=F<n<C;

F返回18. C返回19.如果数字在楼层和天花板之间,TF将返回1 - 但是,如果你这样做,数字将始终在其楼层和天花板之间 - 如果不是,则为0。您可以根据需要在循环中迭代地执行此操作。