English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O MATLAB permite dois tipos diferentes de operações aritméticas-
Operações aritméticas de matrizes
Operações aritméticas de arrays
As operações aritméticas de matrizes são as mesmas definidas na algebra linear. As operações de arrays são executadas em elementos individuais de arrays unidimensionais e multidimensionais.
Os operadores de operações matriciais e os operadores de arrays são distinguidos pelo ponto final (.) símbolo. No entanto, devido às operações de adição e subtração dos arrays serem idênticas às operações dos arrays, os operadores são os mesmos em ambos os casos.
A tabela a seguir resume a introdução dos operadores-
function | Operadores e descrições |
---|---|
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 dos dois seja escalar. Pode ser adicionado a qualquer matriz de qualquer tamanho um escalar. |
2 | - Subtração ou subtração unária. AB subtrai o valor de B de A. A e B devem ter o mesmo tamanho, a menos que um dos dois seja escalar. Pode ser subtraído de qualquer matriz de qualquer tamanho um escalar. |
3 | * Multiplicação de matriz. C = A * B é o produto linear algebraico das matrizes A e B. Mais exatamente, Para A e B não escalares, o número de colunas de A deve ser igual ao número de linhas de B. Escalares podem ser multiplicados por matrizes de qualquer tamanho. |
4 | .* Multiplicação de array. A. * B é o produto elementar dos arrays A e B. A e B devem ter o mesmo tamanho, a menos que um dos dois seja escalar. |
5 | / Barra ou divisão direita de matriz. B / A e B *aproximadamente igual a inv(A). Mais exatamente, B / A = (A' \ B')' |
6 | ./ Divisão direita de array. A./B é o elemento A(i,j)/da matriz B(i,j). O tamanho de A e B deve ser o mesmo, a menos que um dos dois seja escalar. |
7 | \ Barra invertida ou divisão esquerda de matriz. Se A for uma matriz quadrada, então A \ B é equivalente a inv(A)* B é aproximadamente o mesmo, mas calculado de maneira diferente. Se A for uma matriz n×n e B for uma matriz coluna com n componentes ou uma matriz com várias colunas assim, então X = A \ B é a equaçãoAX = Bda solução. Se A estiver escalonado incorretamente ou estiver próximo de singular, uma mensagem de aviso será exibida. |
8 | .\ Divisão esquerda de array. A. \ B é o elemento B(i,j)/da matriz A(i,j). O tamanho de A e B deve ser o mesmo, a menos que um dos dois seja escalar. |
9 | ^ Potência de matriz. Se p for escalar, então X ^ p é X elevado à potência p. Se p for inteiro, a potência é calculada por repetida multiplicação quadrática. Se o inteiro for negativo, X é invertido antes. Para outros valores de p, a operação envolve valores próprios e vetores característicos, portanto, se [V, D] = eig(X), então X ^ p = V * D. ^ p / V. |
10 | .^ Fonte de energia de array. A. ^ B é a matriz com elementos A(i,j) elevados ao poder B(i,j). O tamanho de A e B deve ser o mesmo, a menos que um dos dois seja escalar. |
11 | ' Transposição de matriz. A' é a transposição linear algebraica de A. Para matrizes complexas, é a transposição conjugada. |
12 | .' Transposição de array. Uma. ' é a transposição do array A. Para matrizes complexas, isso não envolve conjugação. |
O seguinte exemplo mostra a utilização de operadores aritméticos em dados escalar. Crie um arquivo de script usando o seguinte código-
a = 10; b = 20; c = a + right array division; returns a. d = a - right array division; returns a. e = a * right array division; returns a. f = a / right array division; returns a. g = a \ b x = 7; y = 3; z = x ^ yAo executar o arquivo, ele produz os seguintes resultados-
c = 30 c = -10 d = 2e = 005f = 0. 0000 2 g = 343
arithmetic operation functions/except the above arithmetic operators, MATLAB also provides the following commands for similar purposes-
function | serial number |
---|---|
1 | function description uplus(a) |
2 | unary plus; increase by the amount of a plus (a,b) + right array division; returns a. |
3 | add; returns a uminus(a) |
4 | unary minus; decrease amount a minus(a, b)-right array division; returns a. |
5 | subtract; returns a times(a, b)* right array division; returns a. |
6 | array multiplication; returns a. mtimes(a, b) * right array division; returns a. |
7 | matrix multiplication; returns a rdivide(a, b)/ right array division; returns a. |
8 | b ldivide(a, b) |
9 | left array division; returns a.\ b mldivide(A, B)mrdivide(A, B)XA = BX |
10 | for mldivide(A, B)solving the system of linear equations Ax = bused forX |
11 | power(a, b) array power; returns a.^ b |
12 | mpower(a, b) matrix power; returns a ^ b |
13 | cumprod(A) Cumulative product; returns an array of the same size as the array containing the cumulative product.
|
14 | cumprod(A, dim) Returns alongdimof the cumulative product. |
15 | cumsum(A) Cumulative sum returns an array A containing the cumulative sum.
|
16 | cumsum(A, dim) Returns along the dimensiondimof the cumulative sum of the elements. |
17 | diff(X) difference and approximate derivative; calculate the difference between adjacent elements of X.
|
18 | diff(X,n) applied recursivelydiff n times, resulting in the nth difference. |
19 | diff(X,n,dim) É a função de diferença n-ésima calculada ao longo da dimensão especificada pelo escalar escalar. Se o grau n for igual ou maior que o comprimento da dimensão dim, diff retorna um array vazio. |
20 | prod(A) Produto dos elementos do array; retorna o produto dos elementos do array A.
Se o input A for um único número, a função prod calcula e retorna B como um único número. Para todos os outros tipos de dados numéricos e lógicos, prod calcula B e retorna-o como double. |
21 | prod(A,dim) Retorna o produto com o tamanho especificado por dim. Por exemplo, se A for uma matriz, prod(A,2) é uma coluna vetorial contendo o produto de cada linha. |
22 | prod(___,datatype) Multiplica e retorna o array especificado pelo tipo de dados. |
23 | sum(A)
|
24 | sum(A,dim) A longo do escalardimEspecificadoASoma da dimensão |
25 | sum(..., 'double') sum(..., dim,'double') Mesmo que A tenha um tipo de dados único ou inteiro, a adição é executada com precisão dupla e a resposta é retornada com o tipo de dados double. Esta é a configuração padrão para tipos de dados inteiros. |
26 | sum(..., 'native') sum(..., dim,'native') Executa adição com o tipo de dados nativo de A e retorna a resposta com o mesmo tipo de dados. Esta é a configuração padrão para soma de uma e duas cartas. |
27 | ceil(A) Arredonda para mais infinito; arredonda os elementos de A para o inteiro mais próximo e maior ou igual a A. |
28 | fix(A) Arredonda para zero |
29 | floor(A) Arredonda para menos infinito; arredonda os elementos de A para o inteiro mais próximo e menor ou igual a A. |
30 | idivide(a, b) idivide(a, b, 'fix') Divisão inteira com opção de arredondamento; igual a a./b é o mesmo, exceto que a parte decimal é arredondada para o inteiro mais próximo. |
31 | idivide(a, b, 'round') O quociente fracionário é arredondado para o inteiro mais próximo. |
32 | idivide(A, B, 'floor') O quociente fracionário é arredondado para o inteiro mais próximo, voltando para o infinito negativo. |
33 | idivide(A, B, 'ceil') O quociente fracionário é arredondado para o inteiro mais próximo, voltando para o infinito. |
34 | mod (X,Y) resto após a divisão; retorna X-n.* Y, onde n = floor(X./Se Y não for um inteiro e o quociente X./Se Y estiver dentro do erro de arredondamento de inteiro, então n é esse inteiro. Os inputs X e Y devem ser arrays reais ou escalares de mesmo tamanho (forneça Y〜= 0). Atenção-
|
35 | rem (X,Y) resto após a divisão; retorna X-n.* Y, onde n = fix(X./Se Y não for um inteiro e o quociente X./Se Y estiver dentro do erro de arredondamento de inteiro, então n é esse inteiro. Os inputs X e Y devem ser arrays reais ou escalares de mesmo tamanho (forneça Y〜= 0). Atenção-
|
36 | round(X) arredondada para o inteiro mais próximo; os elementos de X serão arredondados para o inteiro mais próximo. A parte decimal é 0.5Os elementos positivos serão arredondados para o inteiro positivo mais próximo. A parte decimal é-0.5Os elementos negativos serão arredondados para o inteiro negativo mais próximo. |