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.
|
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.
|
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.
|
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.
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)
|
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 -
|
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 -
|
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. |