Contenido principal

mod

Resto después de una división (operación modular)

Sintaxis

Descripción

b = mod(a,m) devuelve el resto después de dividir a por m, donde a es el dividendo y m es el divisor. Esta función suele recibir el nombre de operación modular y puede expresarse como b = a - m.*floor(a./m). La función mod sigue la convención de que mod(a,0) devuelve a.

ejemplo

Ejemplos

contraer todo

Calcule 23 módulo 5.

b = mod(23,5)
b = 
3

Encuentre el resto después de una división de vector de valores enteros y del divisor 3.

a = 1:5;
m = 3;
b = mod(a,m)
b = 1×5

     1     2     0     1     2

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 son siempre positivos si el divisor es positivo.

a = [-4 -1 7 9];
m = 3;
b = mod(a,m)
b = 1×4

     2     2     1     0

Encuentre el resto después de una división por un divisor negativo de un grupo de valores enteros, incluidos valores positivos y negativos. Tenga en cuenta que los resultados distintos de cero son siempre negativos si el divisor es negativo.

a = [-4 -1 7 9];
m = -3;
b = mod(a,m)
b = 1×4

    -1    -1    -2     0

Encuentre el resto después de una división de varios ángulos utilizando un módulo de 2*pi. Tenga en cuenta que mod intenta compensar los efectos de redondeo de punto flotante para generar resultados enteros exactos siempre que es posible.

theta = [0.0 3.5 5.9 6.2 9.0 4*pi];
m = 2*pi;
b = mod(theta,m)
b = 1×6

         0    3.5000    5.9000    6.2000    2.7168         0

Argumentos de entrada

contraer todo

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 m deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, a es una matriz M por N y m 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 m es un arreglo numérico, los valores de m 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

Divisor, especificado como escalar, vector, matriz, arreglo multidimensional, tabla u horario. m debe ser un arreglo con valor real de cualquier tipo numérico. Las entradas a y m deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, a es una matriz M por N y m 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 m 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

contraer todo

Referencias

[1] Knuth, Donald E. The Art of Computer Programming. Vol. 1. Addison Wesley, 1997 pp.39–40.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también