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.

mod

Resto después de la división (operación del modulo)

Descripción

ejemplo

b = mod(a,m) devuelve el resto después de la división de a por m, donde a es el dividendo y m es el divisor. Esta función se denomina a menudo la operación modulo, que se puede expresar como b = a - m.*floor(a./m). La función mod sigue la Convención que mod(a,0) devuelve a.

Ejemplos

contraer todo

Calcular 23 modulo 5.

b = mod(23,5)
b = 3

Busque el resto después de la División para un vector de enteros y el 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 la División para un conjunto de números enteros, incluidos los valores positivo y negativo. Tenga en cuenta que los resultados no nulos siempre son positivos si el divisor es positivo.

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

     2     2     1     0

Busque el resto después de la división mediante un divisor negativo para un conjunto de números enteros, incluidos los valores positivo y negativo. Tenga en cuenta que los resultados no nulos siempre son negativos si el divisor es negativo.

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

    -1    -1    -2     0

Busque el resto después de la División para varios ángulos utilizando un módulo de 2*pi. Tenga en cuenta que mod intenta compensar los efectos de redondeo de punto flotante para producir resultados de enteros exactos cuando sea 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 o matriz multidimensional. a debe ser una matriz de valor real de cualquier tipo numérico. Las entradas numéricas a y m deben tener el mismo tamaño o tener tamaños compatibles (por ejemplo, a es un M-by- N Matrix y m es un vector de fila escalar o 1-by-N ). Para obtener más información, vea Tamaños de matriz compatibles para operaciones básicas.

Si a y m son matrices de duración, deben tener el mismo tamaño a menos que uno sea un escalar. Si una entrada es una matriz de duración, la otra entrada puede ser una matriz de duración o una matriz numérica. En este contexto, mod trata los valores numéricos como un número de días estándar de 24 horas.

Si una entrada tiene un tipo de datos entero, la otra entrada debe ser del mismo tipo de datos de enteros o ser un escalar double.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration | char

Divisor, especificado como escalar, Vector, matriz o matriz multidimensional. m debe ser una matriz de valor real de cualquier tipo numérico. Las entradas numéricas a y m deben tener el mismo tamaño o tener tamaños compatibles (por ejemplo, a es un M-by- N Matrix y m es un vector de fila escalar o 1-by-N ). Para obtener más información, vea Tamaños de matriz compatibles para operaciones básicas.

Si a y m son matrices de duración, deben tener el mismo tamaño a menos que uno sea un escalar. Si una entrada es una matriz de duración, la otra entrada puede ser una matriz de duración o una matriz numérica. En este contexto, mod trata los valores numéricos como un número de días estándar de 24 horas.

Si una entrada tiene un tipo de datos entero, la otra entrada debe ser del mismo tipo de datos de enteros o ser un escalar double.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration | char

Más acerca de

contraer todo

Diferencias entre mod y rem

El concepto del resto después de la división no se define únicamente, y las dos funciones mod y rem cada uno computa una diversa variación. La función mod produce un resultado que sea cero o que tenga el mismo signo que el divisor. La función rem produce un resultado que sea cero o que tenga 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 que mod(a,0) devuelve a, mientras que la función rem sigue la Convención que rem(a,0) devuelve NaN.

Ambas variantes tienen sus usos. Por ejemplo, en el procesamiento de señales, la función mod es útil en el contexto de las señales periódicas porque su salida es periódica (con un período igual al divisor).

Relaciones de congruencia

La función mod es útil para las relaciones de congruencia: a y b son congruentes (mod m) si y sólo si mod(a,m) == mod(b,m). Por ejemplo, 23 y 13 son congruentes (mod 5).

Referencias

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

Capacidades ampliadas

Consulte también

Introducido antes de R2006a