Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

round

Redondear al decimal o entero más cercano

Descripción

ejemplo

Y = round(X) redondea cada elemento de X al entero más cercano. En el caso de un empate, donde un elemento tiene una parte fraccional de exactamente 0.5, la función round redondea desde cero hasta el entero con mayor magnitud.

ejemplo

Y = round(X,N) redondea a N dígitos:

  • N > 0: redondea a N dígitos a la derecha del punto decimal.

  • N = 0: redondea al entero más cercano.

  • N < 0: redondea a N dígitos a la izquierda del punto decimal.

ejemplo

Y = round(X,N,type) especifica el tipo de redondeo. Especifique 'significant' para redondear a N dígitos significativos (contados desde el dígito más a la izquierda). En este caso, N debe ser un entero positivo.

ejemplo

Y = round(t) redondea cada elemento de t del array duration al número de segundos más cercano.

ejemplo

Y = round(t,unit) redondea cada elemento de t al número más cercano de la unidad de tiempo especificada.

Ejemplos

contraer todo

Redondee los elementos de una matriz de 2 por 2 al entero más cercano.

X = [2.11 3.5; -3.5 0.78];
Y = round(X)
Y = 2×2

     2     4
    -4     1

Redondee pi a los 3 dígitos decimales más cercanos.

Y = round(pi,3)
Y = 3.1420

Redondee el número 863178137 al múltiplo más cercano de 100.

round(863178137,-2)
ans = 863178100

Redondee los elementos de un vector para retener 2 dígitos significativos.

format shortg
x = [1253 1.345 120.44]
x = 1×3

         1253        1.345       120.44

y = round(x,2,'significant')
y = 1×3

         1300          1.3          120

El comando format controla la forma en que MATLAB® muestra los números en la línea de comandos. Si un número tiene dígitos adicionales que no se pueden mostrar en el formato actual, MATLAB redondeará automáticamente el número para fines de visualización. Esto puede llevar a resultados inesperados cuando se combina con la función round.

Considere el resultado de la siguiente operación de resta, que muestra 5 dígitos.

format short
x = 112.05 - 110
x = 2.0500

Basándose en el valor mostrado de x, el redondeo de x a 1 decimal debe devolver 2.1.

round(x,1)
ans = 2

De hecho, el problema aquí es que MATLAB redondea x a 5 dígitos para fines de visualización. La función round devuelve la respuesta correcta. Confirme la respuesta visualizando x con format long, que muestra x redondeado a 15 dígitos.

format long
x
x = 
   2.049999999999997

Redondee cada valor de un array de duración al número de segundos más cercano.

t = hours(8) + minutes(29:31) + seconds(1.3:0.5:2.3);
t.Format = 'hh:mm:ss.SS'
t = 1x3 duration array
   08:29:01.30   08:30:01.80   08:31:02.30

Y1 = round(t)
Y1 = 1x3 duration array
   08:29:01.00   08:30:02.00   08:31:02.00

Redondee cada valor de t al número más cercano de horas.

Y2 = round(t,'hours')
Y2 = 1x3 duration array
   08:00:00.00   09:00:00.00   09:00:00.00

Argumentos de entrada

contraer todo

Array de entrada, especificado como escalar, vector, matriz o array multidimensional. Si X es complejo, round trata las partes reales e imaginarias independientemente.

X debe ser single o double cuando se utiliza round con más de una entrada.

round convierte los elementos lógicos y char de X en valores double.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | logical
Soporte de números complejos:

Número de dígitos, especificado como un entero escalar. Cuando se especifica N, la función round redondea X al múltiplo más cercano de 10 -N.

Si especifica el tipo de redondeo 'significant', N debe ser un entero positivo.

Tipo de redondeo, especificado como 'decimals' o 'significant'. El tipo de redondeo determina si round considera dígitos en relación con el punto decimal o el número total de dígitos significativos. N debe ser un entero positivo cuando se especifica 'significant'. En ese caso, la función round se redondea al número más cercano con N dígitos significativos.

El valor predeterminado es 'decimals', de forma que round(X,N,'decimals') equivale a round(X,N).

Ejemplo: round(3132,2,'significant') devuelve 3100, que es el número más cercano a 3132 que tiene 2 dígitos significativos.

Tipos de datos: char | string

Duración de la entrada, especificada como un array duration.

Unidad de tiempo, especificada como 'seconds', 'minutes', 'hours', 'days' o 'years'. Una duración de 1 año es igual a exactamente 365,2425 días de 24 horas.

Tipos de datos: char | string

Más acerca de

contraer todo

Consideraciones sobre compatibilidad

En la versión R2014b, se agregaron estas sintaxis para redondear a cualquier número de dígitos decimales o significativos y para redondear valores de duración:

Y = round(X,N)
Y = round(X,N,type)
Y = round(t)  
Y = round(t,unit)   

Las versiones anteriores solo admiten esta sintaxis, que redondea al entero más cercano:

Y = round(X) 

Sugerencias

  • format short y format long muestran números redondeados. Esto puede provocar resultados inesperados cuando se combina con la función round.

  • Para fines de visualización, utilice sprintf para controlar la visualización exacta de un número como una cadena. Por ejemplo, para mostrar exactamente 2 dígitos decimales de pi (y sin ceros finales), utilice sprintf('%.2f',pi).

Capacidades ampliadas

Introducido antes de R2006a