Main Content

ceil

朝正无穷方向舍入

说明

y = ceil(a)fi 对象 a 朝正无穷方向舍入到最邻近的整数,并在 fi 对象 y 中返回结果。

示例

示例

全部折叠

以下示例说明 ceil 函数如何影响字长为 8、小数长度为 3 的有符号 fi 对象的 numerictype 属性。

a = fi(pi,1,8,3)
a = 
    3.1250

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 3
y = ceil(a) 
y = 
     4

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 6
        FractionLength: 0

以下示例说明 ceil 函数如何影响字长为 8、小数长度为 12 的有符号 fi 对象的 numerictype 属性。

a = fi(0.025,1,8,12)
a = 
    0.0249

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 12
y = ceil(a)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0

函数 ceilfixfloor 在舍入 fi 对象的方式上有所不同:

  • ceil 函数将值朝正无穷方向舍入到最邻近的整数。

  • fix 函数将值朝零方向舍入到最邻近的整数。

  • floor 函数将值朝负无穷方向舍入到最邻近的整数。

此示例说明给定的 fi 输入对象 a 的这些差异。

a = fi([-2.5,-1.75,-1.25,-0.5,0.5,1.25,1.75,2.5]');
y = [a ceil(a) fix(a) floor(a)]
y = 
   -2.5000   -2.0000   -2.0000   -3.0000
   -1.7500   -1.0000   -1.0000   -2.0000
   -1.2500   -1.0000   -1.0000   -2.0000
   -0.5000         0         0   -1.0000
    0.5000    1.0000         0         0
    1.2500    2.0000    1.0000    1.0000
    1.7500    2.0000    1.0000    1.0000
    2.5000    3.0000    2.0000    2.0000

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13
plot(a,y); legend('a','ceil(a)','fix(a)','floor(a)','location','NW');

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent a, ceil(a), fix(a), floor(a).

输入参数

全部折叠

输入 fi 数组,指定为标量、向量、矩阵或多维数组。

对于复数 fi 对象,虚部和实部是分别进行舍入的。

ceil 不支持具有非平凡斜率和偏置定标的 fi 对象。当斜率为 2 的整数次幂且偏置为 0 时,斜率和偏置定标是平凡的。

数据类型: fi
复数支持:

算法

  • ya 具有相同的 fimath 对象和 DataType 属性。

  • aDataType 属性为 singledoubleboolean 时,ynumerictypea 的属性设置相同。

  • a 的小数长度为零或负数时,a 已经是整数,并且 ya 具有相同的 numerictype

  • a 的小数长度为正值时,y 的小数长度为 0,其符号与 a 的符号相同,其字长为 a 的字长与小数长度之差加一位。如果 a 有符号,则 y 的最小字长是 2。如果 a 无符号,则 y 的最小字长是 1

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。

版本历史记录

在 R2008a 中推出

另请参阅

| | | |