MATLAB - Operadores

Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas ou lógicas específicas. O MATLAB é projetado para operar principalmente em matrizes e arrays inteiros. Portanto, os operadores no MATLAB funcionam com dados escalares e não escalares. O MATLAB permite os seguintes tipos de operações elementares -

  • Operadores aritméticos
  • Operadores Relacionais
  • Operadores lógicos
  • Operações bit a bit
  • Operações de conjunto

Operadores aritméticos

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, em array unidimensional e multidimensional.

Os operadores de matriz e operadores de matriz 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 -

Mostrar exemplos

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.

Operadores Relacionais

Os operadores relacionais também podem trabalhar com dados escalares e não escalares. Operadores relacionais para matrizes realizam comparações elemento por elemento entre duas matrizes e retornam uma matriz lógica do mesmo tamanho, com elementos definidos como lógico 1 (verdadeiro) onde a relação é verdadeira e elementos definidos como 0 lógico (falso) onde é não.

A tabela a seguir mostra os operadores relacionais disponíveis no MATLAB -

Mostrar exemplos

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

<

Menor que

2

<=

Menos que ou igual a

3

>

Maior que

4

>=

Melhor que ou igual a

5

==

Igual a

6

~=

Diferente de

Operadores lógicos

O MATLAB oferece dois tipos de operadores lógicos e funções -

  • Por elemento - esses operadores operam em elementos correspondentes de matrizes lógicas.

  • Curto-circuito - Esses operadores operam em expressões escalares e lógicas.

Operadores lógicos de elemento operam elemento por elemento em matrizes lógicas. Os símbolos &, | e ~ são os operadores lógicos de matriz AND, OR e NOT.

Operadores lógicos de curto-circuito permitem curto-circuito em operações lógicas. Os símbolos && e || são os operadores lógicos de curto-circuito AND e OR.

Mostrar exemplos

Operações bit a bit

Operadores bit a bit trabalham em bits e executam operações bit a bit. As tabelas de verdade para &, | e ^ são as seguintes -

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Suponha que A = 60; e B = 13; Agora, em formato binário, eles serão os seguintes -

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~ A = 1100 0011

O MATLAB fornece várias funções para operações bit a bit como operações 'bit a bit e', 'bit a bit ou' e 'não bit a bit', operação de deslocamento, etc.

A tabela a seguir mostra as operações bit a bit comumente usadas -

Mostrar exemplos

Função Objetivo
bitand (a, b) E bit a bit de inteiros a e b
bitcmp (a) Complemento bit-a-bit de um
bitget (a, pos) Obtém o bit na posição especificada pos , na matriz de inteiros a
bitor (a, b) OR bit a bit de inteiros a e b
bitset (a, pos) Defina a broca na posição específica pos de um
bitshift (a, k) Retorna a deslocado para a esquerda por k bits, equivalente a multiplicar por 2 k . Os valores negativos de k correspondem ao deslocamento dos bits para a direita ou à divisão por 2 | k | e arredondamento para o número inteiro mais próximo em direção ao infinito negativo. Quaisquer bits de estouro são truncados.
bitxor (a, b) XOR bit a bit de inteiros a e b
swapbytes Trocar ordem de byte

Operações de conjunto

O MATLAB fornece várias funções para operações de conjunto, como união, interseção e teste para associação de conjunto, etc.

A tabela a seguir mostra algumas operações de conjunto comumente usadas -

Mostrar exemplos

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

intersect(A,B)

Defina a interseção de duas matrizes; retorna os valores comuns a A e B. Os valores retornados estão em ordem de classificação.

2

intersect(A,B,'rows')

Trata cada linha de A e cada linha de B como entidades únicas e retorna as linhas comuns a A e B. As linhas da matriz retornada estão em ordem de classificação.

3

ismember(A,B)

Retorna uma matriz do mesmo tamanho de A, contendo 1 (verdadeiro) onde os elementos de A são encontrados em B. Em outro lugar, retorna 0 (falso).

4

ismember(A,B,'rows')

Trata cada linha de A e cada linha de B como entidades únicas e retorna um vetor contendo 1 (verdadeiro), onde as linhas da matriz A também são linhas de B. Em outro lugar, ele retorna 0 (falso).

5

issorted(A)

Retorna 1 lógico (verdadeiro) se os elementos de A estão em ordem de classificação e 0 lógico (falso) caso contrário. A entrada A pode ser um vetor ou uma sequência de células N por 1 ou 1 por N.A is considered to be sorted if A e a saída de sort (A) são iguais.

6

issorted(A, 'rows')

Retorna 1 lógico (verdadeiro) se as linhas da matriz bidimensional A estão em ordem de classificação e 0 lógico (falso) caso contrário. Matrix A is considered to be sorted if A e a saída de sortrows (A) são iguais.

7

setdiff(A,B)

Define a diferença de dois arrays; retorna os valores em A que não estão em B. Os valores na matriz retornada estão em ordem de classificação.

8

setdiff(A,B,'rows')

Trata cada linha de A e cada linha de B como entidades únicas e retorna as linhas de A que não estão em B. As linhas da matriz retornada estão em ordem de classificação.

A opção 'linhas' não oferece suporte a matrizes de células.

9

setxor

Define OR exclusivo de duas matrizes

10

union

Define a união de duas matrizes

11

unique

Valores únicos na matriz