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 |