Main Content

nearest

Redondear hacia el entero más cercano con los empates redondeando hacia infinito positivo

Descripción

ejemplo

y = nearest(a) redondea el objeto fi a al entero más cercano o, en caso de empate, al entero más cercano en la dirección del infinito positivo, y devuelve el resultado en un objeto fi y.

Ejemplos

contraer todo

El siguiente ejemplo demuestra cómo la función nearest afecta a las propiedades numerictype de un objeto fi con signo con una longitud de palabra de 8 y una longitud de fracción de 3.

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

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

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

El siguiente ejemplo demuestra cómo la función nearest afecta a las propiedades numerictype de un objeto fi con signo con una longitud de palabra de 8 y una longitud de fracción de 12.

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

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

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

Las funciones convergent, nearest y round difieren en la forma en que tratan los valores cuyo dígito menos significativo es 5.

  • La función convergent redondea los empates al entero par más próximo.

  • La función nearest redondea los empates al entero más cercano hacia infinito positivo.

  • La función round redondea los empates al entero más cercano con mayor valor absoluto.

Este ejemplo muestra estas diferencias para una entrada determinada, a.

a = fi([-3.5:3.5]');
y = [a convergent(a) nearest(a) round(a)]
y = 
   -3.5000   -4.0000   -3.0000   -4.0000
   -2.5000   -2.0000   -2.0000   -3.0000
   -1.5000   -2.0000   -1.0000   -2.0000
   -0.5000         0         0   -1.0000
    0.5000         0    1.0000    1.0000
    1.5000    2.0000    2.0000    2.0000
    2.5000    2.0000    3.0000    3.0000
    3.5000    3.9999    3.9999    3.9999

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

Argumentos de entrada

contraer todo

Arreglo fi de entrada, especificado como escalar, vector, matriz o arreglo multidimensional.

En los objetos fi complejos, las partes imaginaria y real se redondean de forma independiente.

nearest no admite objetos fi con escalado de pendiente y sesgo no trivial. El escalado de pendiente y sesgo es trivial cuando la pendiente es una potencia entera de 2 y el sesgo es 0.

Tipos de datos: fi
Soporte de números complejos:

Algoritmos

  • y y a tienen el mismo objeto fimath y la misma propiedad DataType.

  • Cuando la propiedad DataType de a es single, double o boolean, el numerictype de y es el mismo que el de a.

  • Cuando la longitud de la fracción de a es cero o negativa, a ya es un número entero y el numerictype de y es el mismo que el de a.

  • Cuando la longitud de fracción de a es positiva, la longitud de fracción de y es 0, su signo es el mismo que el de a y su longitud de palabra es la diferencia entre la longitud de palabra y la longitud de fracción de a, más un bit. Si a tiene signo, la longitud mínima de palabra de y es 2. Si a no tiene signo, la longitud mínima de palabra de y es 1.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Generación de código HDL
Genere código VHDL, Verilog y SystemVerilog para diseños FPGA y ASIC mediante HDL Coder™.

Historial de versiones

Introducido en R2008a

Consulte también

| | | |