MATLAB - Operações Aritméticas

O MATLAB permite dois tipos diferentes de operações aritméticas -

  • Operações aritméticas de matriz
  • Operações aritméticas de matriz

As operações aritméticas de matriz são as mesmas definidas na álgebra linear. As operações de array são executadas elemento por elemento, tanto em array unidimensional quanto multidimensional.

Os operadores de matriz e operadores de matrizes são diferenciados pelo símbolo de ponto (.). No entanto, como a operação de adição e subtração é a mesma para matrizes e arrays, o operador é o mesmo para ambos os casos.

A tabela a seguir fornece uma breve descrição dos operadores -

Sr. Não. Operador e descrição
1

+

Adição ou adição unária. A + B adiciona os valores armazenados nas variáveis ​​A e B. A e B devem ter o mesmo tamanho, a menos que um seja escalar. Um escalar pode ser adicionado a uma matriz de qualquer tamanho.

2

-

Subtração ou menos unário. AB subtrai o valor de B de A. A e B devem ter o mesmo tamanho, a menos que um seja escalar. Um escalar pode ser subtraído de uma matriz de qualquer tamanho.

3

*

Multiplicação da matriz. C = A * B é o produto algébrico linear das matrizes A e B. Mais precisamente,

Para A e B não escalares, o número de colunas de A deve ser igual ao número de linhas de B. Um escalar pode multiplicar uma matriz de qualquer tamanho.

4

.*

Multiplicação de matriz. A. * B é o produto elemento por elemento das matrizes A e B. A e B devem ter o mesmo tamanho, a menos que um deles seja escalar.

5

/

Corte ou divisão à direita da matriz. B / A é quase igual a B * inv (A). Mais precisamente, B / A = (A '\ B') '.

6

./

Array divisão certa. A./B é a matriz com os elementos A (i, j) / B (i, j). A e B devem ter o mesmo tamanho, a menos que um deles seja escalar.

7

\

Barra invertida ou divisão à esquerda da matriz. Se A é uma matriz quadrada, A \ B é aproximadamente o mesmo que inv (A) * B, exceto que é calculado de uma maneira diferente. Se A é um N-a-n matriz e B é um vector de coluna com n componentes, ou uma matriz com vários de tais colunas, então X = A \ B é a solução para a equação AX = B . Uma mensagem de aviso é exibida se A estiver mal dimensionado ou quase singular.

8

.\

Array deixou a divisão. A. \ B é a matriz com os elementos B (i, j) / A (i, j). A e B devem ter o mesmo tamanho, a menos que um deles seja escalar.

9

^

Poder da matriz. X ^ p é X elevado à potência p, se p for um escalar. Se p for um número inteiro, a potência é calculada por quadratura repetida. Se o número inteiro for negativo, X será invertido primeiro. Para outros valores de p, o cálculo envolve autovalores e autovetores, de modo que se [V, D] = eig (X), então X ^ p = V * D. ^ p / V.

10

.^

Poder do array. A. ^ B é a matriz com os elementos A (i, j) à potência B (i, j). A e B devem ter o mesmo tamanho, a menos que um deles seja escalar.

11

'

Transposição de matriz. A 'é a transposta algébrica linear de A. Para matrizes complexas, essa é a transposta conjugada complexa.

12

.'

Transposição de matriz. UMA.' é a transposta da matriz de A. Para matrizes complexas, isso não envolve conjugação.

Exemplo

Os exemplos a seguir mostram o uso de operadores aritméticos em dados escalares. Crie um arquivo de script com o seguinte código -

a = 10;
b = 20;
c = a + b
d = a - b
e = a * b
f = a / b
g = a \ b
x = 7;
y = 3;
z = x ^ y

Quando você executa o arquivo, ele produz o seguinte resultado -

c =  30
d = -10
e =  200
f =  0.50000
g =  2
z =  343

Funções para operações aritméticas

Além dos operadores aritméticos mencionados acima, o MATLAB fornece os seguintes comandos / funções usados ​​para fins semelhantes -

Sr. Não. Descrição da função
1

uplus(a)

Mais unário; incrementos pelo valor a

2

plus (a,b)

Mais; retorna a + b

3

uminus(a)

Menos unário; diminui pela quantidade a

4

minus(a, b)

Menos; retorna a - b

5

times(a, b)

Array multiply; retorna a. * b

6

mtimes(a, b)

Multiplicação da matriz; retorna a * b

7

rdivide(a, b)

Divisão de array à direita; retorna a ./ b

8

ldivide(a, b)

Divisão da matriz à esquerda; retorna a. \ b

9

mrdivide(A, B)

Resolva sistemas de equações lineares xA = B para x

10

mldivide(A, B)

Resolva sistemas de equações lineares Ax = B para x

11

power(a, b)

Poder do array; retorna a. ^ b

12

mpower(a, b)

Poder da matriz; retorna a ^ b

13

cumprod(A)

Produto cumulativo; retorna uma matriz do mesmo tamanho que a matriz A contendo o produto cumulativo.

  • Se A for um vetor, cumprod (A) retorna um vetor contendo o produto cumulativo dos elementos de A.

  • Se A for uma matriz, então cumprod (A) retorna uma matriz contendo os produtos cumulativos para cada coluna de A.

  • Se A for um array multidimensional, então cumprod (A) atua ao longo da primeira dimensão não singleton.

14

cumprod(A, dim)

Retorna o produto cumulativo ao longo da dimensão dim .

15

cumsum(A)

Soma cumulativa; retorna uma matriz A contendo a soma cumulativa.

  • Se A for um vetor, cumsum (A) retorna um vetor contendo a soma cumulativa dos elementos de A.

  • Se A for uma matriz, então cumsum (A) retorna uma matriz contendo as somas cumulativas para cada coluna de A.

  • Se A for uma matriz multidimensional, então cumsum (A) atua ao longo da primeira dimensão não-individual.

16

cumsum(A, dim)

Retorna a soma cumulativa dos elementos ao longo da dimensão dim .

17

diff(X)

Diferenças e derivadas aproximadas; calcula diferenças entre elementos adjacentes de X.

  • Se X for um vetor, então diff (X) retorna um vetor, um elemento menor que X, de diferenças entre elementos adjacentes: [X (2) -X (1) X (3) -X (2) ... X (n) -X (n-1)]

  • Se X for uma matriz, então diff (X) retornará uma matriz de diferenças de linha: [X (2: m,:) - X (1: m-1, :)]

18

diff(X,n)

Aplica diff recursivamente n vezes, resultando na enésima diferença.

19

diff(X,n,dim)

É a enésima função de diferença calculada ao longo da dimensão especificada por dim escalar. Se a ordem n é igual ou superior ao comprimento da dimensão dim, diff retorna uma matriz vazia.

20

prod(A)

Produto de elementos da matriz; retorna o produto dos elementos da matriz de A.

  • Se A for um vetor, prod (A) retorna o produto dos elementos.

  • Se A é uma matriz não vazia, então prod (A) trata as colunas de A como vetores e retorna um vetor linha dos produtos de cada coluna.

  • Se A for uma matriz 0 por 0 vazia, prod (A) retornará 1.

  • Se A for uma matriz multidimensional, então prod (A) atua ao longo da primeira dimensão não singleton e retorna uma matriz de produtos. O tamanho desta dimensão reduz para 1, enquanto os tamanhos de todas as outras dimensões permanecem os mesmos.

A função prod calcula e retorna B como único se a entrada, A, for única. Para todos os outros tipos de dados numéricos e lógicos, prod calcula e retorna B como o dobro.

21

prod(A,dim)

Retorna os produtos ao longo da dimensão dim. Por exemplo, se A é uma matriz, prod (A, 2) é um vetor coluna contendo os produtos de cada linha.

22

prod(___,datatype)

multiplica e retorna um array na classe especificada por tipo de dados.

23

sum(A)

  • Soma dos elementos da matriz; retorna somas ao longo de diferentes dimensões de uma matriz. Se A é ponto flutuante, isto é duplo ou simples, B é acumulado nativamente, que está na mesma classe de A, e B tem a mesma classe de A. Se A não é ponto flutuante, B é acumulado em duplo e B tem classe dupla.

  • Se A for um vetor, sum (A) retorna a soma dos elementos.

  • Se A for uma matriz, sum (A) trata as colunas de A como vetores, retornando um vetor linha das somas de cada coluna.

  • Se A for uma matriz multidimensional, sum (A) trata os valores ao longo da primeira dimensão não-singleton como vetores, retornando uma matriz de vetores de linha.

24

sum(A,dim)

Soma ao longo da dimensão de A especificada por dim escalar .

25

sum(..., 'double')

sum(..., dim,'double')

Realize adições em precisão dupla e retorne uma resposta do tipo double, mesmo se A tiver tipo de dados único ou um tipo de dados inteiro. Este é o padrão para tipos de dados inteiros.

26

sum(..., 'native')

sum(..., dim,'native')

Execute adições no tipo de dados nativo de A e retorne uma resposta do mesmo tipo de dados. Este é o padrão para simples e duplo.

27

ceil(A)

Arredondar em direção ao infinito positivo; arredonda os elementos de A para os números inteiros mais próximos maiores ou iguais a A.

28

fix(A)

Arredondar para zero

29

floor(A)

Arredondar em direção ao infinito negativo; arredonda os elementos de A para os números inteiros mais próximos menores ou iguais a A.

30

idivide(a, b)

idivide(a, b,'fix')

Divisão inteira com opção de arredondamento; é o mesmo que a./b, exceto que os quocientes fracionários são arredondados para zero para os números inteiros mais próximos.

31

idivide(a, b, 'round')

Os quocientes fracionários são arredondados para os números inteiros mais próximos.

32

idivide(A, B, 'floor')

Os quocientes fracionários são arredondados em direção ao infinito negativo para os números inteiros mais próximos.

33

idivide(A, B, 'ceil')

Os quocientes fracionais são arredondados para o infinito para os números inteiros mais próximos.

34

mod (X,Y)

Módulo após divisão; retorna X - n. * Y onde n = floor (X./Y). Se Y não for um inteiro e o quociente X./Y estiver dentro do erro de arredondamento de um inteiro, então n é esse inteiro. As entradas X e Y devem ser matrizes reais do mesmo tamanho ou escalares reais (desde que Y ~ = 0).

Observe -

  • mod (X, 0) é X
  • mod (X, X) é 0
  • mod (X, Y) para X ~ = Y e Y ~ = 0 tem o mesmo sinal de Y
35

rem (X,Y)

Restante após a divisão; retorna X - n. * Y onde n = fix (X./Y). Se Y não for um inteiro e o quociente X./Y estiver dentro do erro de arredondamento de um inteiro, então n é esse inteiro. As entradas X e Y devem ser matrizes reais do mesmo tamanho ou escalares reais (desde que Y ~ = 0).

Observe que -

  • rem (X, 0) é NaN
  • rem (X, X) para X ~ = 0 é 0
  • rem (X, Y) para X ~ = Y e Y ~ = 0 tem o mesmo sinal de X.
36

round(X)

Arredonde para o número inteiro mais próximo; arredonda os elementos de X para os números inteiros mais próximos. Os elementos positivos com uma parte fracionária de 0,5 são arredondados para o número inteiro positivo mais próximo. Elementos negativos com uma parte fracionária de -0,5 são arredondados para o número inteiro negativo mais próximo.