Sintaxe da função MATLAB MOD ()
R = mod (a, b)
Expressão
R = a - b.*piso (A./b)
Matlab mod () Descrição da função e exemplos
O mod de função () retorna em "r" o restante da divisão do dividendo "a" pelo divisor "b". A função MOD é semelhante à função REM, com a única diferença que ele retorna um resultado que é zero ou o mesmo sinal que o divisor, enquanto a função REM retorna um resultado que é zero ou que tem o mesmo sinal que o dividendo.
Os tipos de argumento de entrada para divisor e dividendo podem ser vetoriais, matriz, escalar ou matriz multidimensional, e os tipos de dados suportados são únicos, duplos, char, lógicos, duração, int8, int16, int32, int64, uint8, uint16, uint32, ou uint64.
A função MOD possui as seguintes regras de entrada que devem ser seguidas:
Dividendos especificados como um vetor, escalar, matriz ou matrizes multidimensionais devem conter valores reais.
Se uma entrada tiver um tipo de dados inteiro, a outra entrada deve ter o mesmo tipo de dados inteiro ou ser um duplo escalar.
Os argumentos de entrada devem ser do mesmo tamanho ou tamanhos de matriz compatível para operações básicas. Por exemplo:
Nos casos em que a entrada é escalar
Quando as entradas são uma matriz e um vetor de coluna.
Um vetor de coluna e o outro é um vetor de linha
Essas regras se aplicam a matrizes bidimensionais. Para obter mais informações, consulte os tamanhos de matriz compatível com o artigo para operações básicas.
Nos casos em que essas regras não são cumpridas, o Matlab® exibe a seguinte mensagem de erro:
“As matrizes têm tamanhos incompatíveis para esta operação.”
Usando essas regras básicas, veremos agora como obter o restante após a divisão com a função MOD no MATLAB.
Como obter o restante depois de dividir um escalar por outro escalar.
No exemplo a seguir, veremos como obter o restante em "R" depois de dividir um número escalar de 33 por 5.
R = mod (33, 5)
Como resultado desta operação, a função Mod retorna:
R = 3
Como obter o restante após a divisão de um vetor de uma linha por um escalar.
Neste exemplo, veremos como obter o restante após a divisão de um escalar em um vetor de fila.
a = [8:13];
b = 3;
R = mod (a, b)
Como resultado desta operação, a função Mod retorna:
R = 2 0 1 2 0 1
Restante da divisão de um vetor de coluna por um vetor de linha
Como vimos anteriormente nas regras de operações básicas, quando um vetor de coluna é operado em um vetor de linha, o resultado é uma matriz de n colunas A por n linhas “B”.
a = [8; 9; 10; 11];
b = [1: 4];
R = mod (a, b)
Nesse caso, a função mod retorna a seguinte matriz em r.
R =
0 0 2 0
0 1 0 1
0 0 1 2
0 1 2 3
Como obter o restante após uma divisão de um vetor de uma linha de elementos com valores de um sinal positivo e negativo por um escalar de sinal positivo
O exemplo a seguir mostra como obter o restante após uma divisão de um vetor de uma linha "A" de elementos com valores de um sinal positivo e negativo por um escalar "B" de um sinal positivo.
a = [-8 -12 3 -27 16 -55];
b = 5;
R = mod (a, b)
Como resultado desta operação, a função Mod retorna:
R =
2 3 3 3 1 0
Nota: Nos casos em que os resultados são menores que zero, a função Mod retornará os resultados com um sinal positivo, desde que o divisor tenha um sinal positivo.
Como obter o restante depois de dividir um vetor de linha com elementos de signo positivo e negativo por um divisor escalar de sinal negativo.
Neste exemplo, veremos como obter o restante depois de dividir um vetor de linha com elementos de sinais positivos e negativos por um divisor escalar de sinais negativos.
a = [-11 -16 3 -27 36 -55];
b = -3;
R = mod (a, b)
Como resultado desta operação, a função Mod retorna:
R =
-2 -1 0 0 -1
Nesse caso, como o divisor tem um sinal negativo, todos os resultados não zero também têm um sinal negativo.
Como obter o restante após uma divisão de uma matriz quadrada.
Neste exemplo, veremos como obter o restante depois de dividir uma matriz quadrada.
a = [10 21 3 -15; 42 33 82 13; 21 2 13 15; 5 3 31 21];
b = [1 2 3 -5; 4 3 2 1; 2 3 4 5; 5 3 2 1];
R = mod (a, b)
Como resultado desta operação, a função Mod retorna:
R =
0 1 0 0
2 0 0 0
1 2 1 0
0 0 1 0
Diferenças entre as funções MOD e RE.
Nos exemplos a seguir, veremos as diferenças entre as funções MOD e REM para calcular o restante após uma divisão no Matlab. Vamos ver o seguinte cálculo.
a = [-11 21 -13 17];
b = [5 -2 -3 5];
R = mod (a, b)
Quando esta operação é realizada com a função Rem (), os valores com um sinal negativo assumem o mesmo sinal que o divisor.
R =
4 -1 -1 2
Agora vamos ver o que acontece quando executamos esta operação com a função Rem ().
a = [-11 21 -13 17];
b = [5 -2 -3 5];
R = rem (a, b)
Quando esta operação é realizada com a função Rem (), os valores com um sinal negativo assumem o mesmo sinal que o dividendo.
R = -1 1 -1 2
Conclusão:
Este artigo explicou como usar a função básica do MATLAB para resolver o restante após as operações da divisão e incluiu alguns exemplos práticos usando diferentes matrizes e tipos de dados. Os argumentos de entrada e o tipo de dados aceitos também foram detalhados.
Esperamos que este artigo do MATLAB tenha sido útil para você. Confira outros artigos de dica do Linux para obter mais dicas e informações.