English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Operação lógica do MATLAB

Operadores do Matlab

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

  • Elemento a elemento-Esses operadores operam em elementos correspondentes de arrays lógicos.

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

Operadores lógicos de elemento a elemento operam elemento a elemento em arrays lógicos. Os símbolos & e | são operadores de operação de array lógico AND e OR.

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

Exemplo online

Crie um arquivo de script e insira o seguinte código-

a =; 5;
b =; 20;
   if ((a && b))
      disp('Linha 1 - Condição é verdadeira');
   fim
   if ((a || b))
      disp('Linha 2 - Condição é verdadeira');
   fim
   
   % vamos mudar o valor de a e b 
   a = 0;
   b =; 10;
   
   if ((a && b))
      disp('Linha 3 - Condição é verdadeira');
   else
      disp('Linha 3 - Condição não é verdadeira');
   fim
   
   if ((~(a && b)))
   
      disp('Linha 4 - Condição é verdadeira');
   fim
Quando você executar o arquivo, ele produzirá os seguintes resultados-
Linha 1 - Condição é verdadeira
Linha 2 - Condição é verdadeira
Linha 3 - Condição não é verdadeira
Linha 4 - Condição é verdadeira

Funções de operação lógica

Além dos operadores lógicos acima, o MATLAB também oferece os seguintes comandos ou funções para o mesmo propósito-

Número de ordemDescrição da função
1

and(A, B)

Localizar a lógica e de array ou escalar entrada; realiza a lógica e em todos os arrays de entrada A, B, etc., e retorna um array contendo elementos definidos como lógica1Elementos (verdadeiro) ou lógica 0 (falsa). Se todos os arrays de entrada contiverem elementos não zero na mesma posição, os elementos do array de saída serão definidos como1Caso contrário, o elemento é definido como 0.

2

not(A)

Localizar a lógica não de array ou escalar entrada; realiza a lógica não no array de entrada A e retorna um array contendo elementos definidos como lógica1Elementos (verdadeiro) ou lógica 0 (falsa). Se qualquer array de entrada contiver elementos zero na mesma posição do array de saída, os elementos do array de saída serão definidos como1Caso contrário, o elemento é definido como 0.

3

or(A, B)

Localizar a lógica ou de array ou escalar entrada; realiza a lógica ou em todos os arrays de entrada A, B, etc., e retorna um array contendo elementos definidos como lógica1Array de elementos (verdadeiro) ou lógica 0 (falso). Se qualquer array de entrada contiver elementos não zero na mesma posição do array de saída, os elementos do array de saída serão definidos como1Caso contrário, o elemento é definido como 0.

4

xor(A, B)

Operação lógica de exclusão XOR; realiza a operação XOR nos elementos correspondentes dos arrays A e B. Se A(i,j,...) ou B(i, j, ...) forem diferentes, mas não ambos não zero.

5

all(A)

Determinar se todos os elementos do array A são não nulos ou verdadeiros.

  • Se A for um vetor, all(A) retorna lógico1(verdadeiro), se um ou mais elementos forem zero, retorna lógico 0 (falso).

  • Se A for uma matriz não vazia, considera as colunas de Aall(A) como vetores e retorna lógico1e uma matriz vetorial de 0.

  • Se A for uma matriz 0×0 vazia, o all(A) retorna lógico1(verdadeiro).

  • Se A for uma matriz multidimensional, o all(A) executa a operação ao longo da primeira dimensão não unidimensional e retorna um array de valores lógicos. O tamanho dessa dimensão diminui para1Manter o tamanho de todas as outras dimensões inalterado.

6

all(A, dim)

ao longo do escalardimTestar a dimensão especificada de A.

7

any(A)

Determinar se há algum elemento de array não nulo; caso contrário, 0. Testar se qualquer elemento de qualquer dimensão do array é um número não nulo ou lógico1(true). A função any ignora entradas NaN (não numéricas).

  • Se A for um vetor, se qualquer elemento de any(A) for um número não nulo ou lógico1(verdadeiro), então retorna lógico1(verdadeiro), se todos os elementos forem zero, retorna lógico 0 (falso).

  • Se A for uma matriz não vazia, considera as colunas de Aany(A) como vetores e retorna lógico1e uma matriz vetorial de 0.

  • Se A for uma matriz 0×0 vazia, o any(A) retorna lógico 0 (falso).

  • Se A for uma matriz multidimensional, o any(A) executa a operação ao longo da primeira dimensão não unidimensional e retorna um array de valores lógicos. O tamanho dessa dimensão diminui para1Manter o tamanho de todas as outras dimensões inalterado.

8

any(A,dim)

ao longo do escalardimTestar a dimensão especificada de A.

9

false

Lógico 0(false)

10

false(n)

É uma matriz lógica de zero de tamanho n×n.

11

false(m, n)

É uma matriz lógica de zero de tamanho m×n.

12

false(m, n, p, ...)

É um array lógico de zero de tamanho m×n×p×....

13

false(size(A))

É um array lógico de zero com o mesmo tamanho que o array A.

14

false(...,'like',p)

É um array lógico de zero com o mesmo tipo de dados e sparsity que o array lógico p.

15

ind  = find(X)

Procurar os índices e valores dos elementos não nulos; encontrar todos os elementos não nulos do array X e retornar os índices lineares desses elementos no vetor. Se X for uma matriz linear, a matriz retornada é uma matriz linear; caso contrário, retorna X. Caso contrário, retorna uma matriz colunar. Se X não contiver elementos não nulos ou for um array vazio, retorna um array vazio.

16

ind = find(X, k)

ind = find(X, k, 'first')

O retorno é o número máximo de entradas não nulas correspondentes a X, dos primeiros k índices. k deve ser um inteiro positivo, mas pode ser de qualquer tipo de dados numéricos.

17

ind = find(X, k, 'last')

Retorna no máximo os últimos k índices correspondentes aos elementos não nulos do X.

18

[row,col] = find(X, ...)

Retorna o índice de linha e coluna dos elementos não nulos da matriz X. Este sintaxe é especialmente útil quando se usa matrizes esparças. Se X for N> 2Se o array for de N dimensões, o col contém o índice linear da coluna.

19

[row,col,v] = find(X, ...)

Retorna a matriz v de elementos não nulos da coluna ou linha do X e os índices de linha e coluna. Se X for uma expressão lógica, v é um array lógico. A saída v contém os elementos não nulos do array lógico obtido pela avaliação da expressão X.

20

islogical(A)

Determina se a entrada é um array lógico; se A for um array lógico, retorna true, caso contrário, retorna false. Se A for uma instância de uma classe derivada da classe lógica, também retorna true.

21

logical(A)

Converte números em valores lógicos; retorna um array que pode ser usado para índices lógicos ou testes lógicos.

22

true

Lógico1(true)

23

true(n)

É uma matriz n×n de matrizes lógicas.

24

true(m, n)

É uma matriz n×n de matrizes lógicas.

25

true(m, n, p, ...)

É um array de arrays de logic array m×n×p×....

26

true(size(A))

É um array lógico cujo tamanho é o mesmo que o array A.

27

true(...,'like', p)

É um array lógico com o mesmo tipo de dados e sparsity que o array lógico p.

Operadores do Matlab