rem
Resto después de una división
Sintaxis
Descripción
Ejemplos
Resto después de una división de escalar
Calcule el resto después de dividir 5 entre 23.
a = 23; b = 5; r = rem(a,b)
r = 3
Resto después de una división de vector
Encuentre el resto después de una división de vector de valores enteros y del divisor 3
.
a = 1:5; b = 3; r = rem(a,b)
r = 1×5
1 2 0 1 2
Resto después de una división de valores positivos y negativos
Encuentre el resto después de una división de un grupo de valores enteros, incluidos valores positivos y negativos. Tenga en cuenta que los resultados distintos de cero tienen el mismo signo que el dividendo.
a = [-4 -1 7 9]; b = 3; r = rem(a,b)
r = 1×4
-1 -1 1 0
Resto después de una división de valores de punto flotante
Encuentre el resto después de una división de varios ángulos utilizando un divisor de 2*pi
. Cuando es posible, rem
genera resultados enteros exactos compensando los efectos de redondeo de punto flotante.
theta = [0.0 3.5 5.9 6.2 9.0 4*pi]; b = 2*pi; r = rem(theta,b)
r = 1×6
0 3.5000 5.9000 6.2000 2.7168 0
Argumentos de entrada
a
— Dividendo
escalar | vector | matriz | arreglo multidimensional | tabla | horario
Dividendo, especificado como escalar, vector, matriz, arreglo multidimensional, tabla u horario. a
debe ser un arreglo con valor real de cualquier tipo numérico. Las entradas a
y b
deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, a
es una matriz M
por N
y b
es un escalar o un vector fila 1
por N
). Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.
Si a
es un arreglo duration
y b
es un arreglo numérico, los valores de b
se tratan como números de días de 24 horas.
Si una entrada tiene un tipo de datos de valores enteros, la otra entrada debe ser del mismo tipo de datos de valores enteros o un escalar double
.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| char
| table
| timetable
b
— Divisor
escalar | vector | matriz | arreglo multidimensional | tabla | horario
Divisor, especificado como escalar, vector, matriz, arreglo multidimensional, tabla u horario. b
debe ser un arreglo con valor real de cualquier tipo numérico. Las entradas a
y b
deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, a
es una matriz M
por N
y b
es un escalar o un vector fila 1
por N
). Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.
Si b
es un arreglo duration
y a
es un arreglo numérico, los valores de a
se tratan como números de días de 24 horas.
Si una entrada tiene un tipo de datos de valores enteros, la otra entrada debe ser del mismo tipo de datos de valores enteros o un escalar double
.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| char
| table
| timetable
Más acerca de
Diferencias entre mod y rem
El concepto de resto después de una división carece de definición única, y las funciones mod
y rem
calculan una variación distinta cada una. La función mod
genera un resultado que es cero o que tiene el mismo signo que el divisor. La función rem
genera un resultado que es cero o que tiene el mismo signo que el dividendo.
Otra diferencia es la convención cuando el divisor es cero. La función mod
sigue la convención de que mod(a,0)
devuelve a
, mientras que la función rem
sigue la convención de que rem(a,0)
devuelve NaN
.
Ambas variantes tienen sus utilidades. Por ejemplo, al procesar señales, la función mod
resulta útil en el contexto de las señales periódicas, ya que su salida es periódica (con un periodo igual al divisor).
Capacidades ampliadas
Arreglos altos
Realice cálculos con arreglos que tienen más filas de las que caben en la memoria.
Esta función es totalmente compatible con los arreglos altos. Para obtener más información, consulte Arreglos altos.
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
El código generado realiza las operaciones aritméticas utilizando la clase de salida. Es posible que los resultados no coincidan con MATLAB® debido a las diferencias en errores de redondeo.
Si una de las entradas es del tipo
int64
ouint64
, ambas entradas deben tener el mismo tipo.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Notas y limitaciones de uso:
No se admiten valores enteros de 64 bits.
Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006aR2023a: Realizar cálculos directamente en tablas y horarios
La función rem
puede realizar cálculos sobre todas las variables de una tabla u horario sin indexar para acceder a dichas variables. Todas las variables deben tener tipos de datos que admitan el cálculo. Para obtener más información, consulte Direct Calculations on Tables and Timetables.
Consulte también
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)