Main Content

all

Determinar si todos los elementos de un arreglo son distintos a cero o true

Descripción

ejemplo

B = all(A) prueba en la primera dimensión del arreglo de A cuyo tamaño no es igual a 1 y determina si los elementos son distintos de cero o 1 lógicos (true). En la práctica, all es una extensión natural del operador lógico AND.

  • Si A es un vector, all(A) devuelve 1 lógico (true) si todos los elementos son distintos de cero y devuelve 0 lógico (false) si uno o más elementos son cero.

  • Si A es una matriz que no está vacía, all(A) trata las columnas de A como vectores y devuelve un vector fila de 1 y 0 lógicos.

  • Si A es una matriz de 0 por 0 vacía, all(A) devuelve 1 lógico (true).

  • Si A es un arreglo multidimensional, all(A) actúa en la primera dimensión del arreglo cuyo tamaño no es igual a 1 y devuelve un arreglo de valores lógicos. El tamaño de esta dimensión se convierte en 1, mientras que los tamaños de todas las demás dimensiones se mantienen iguales.

B = all(A,'all') prueba todos los elementos de A. Esta sintaxis es válida para las versiones R2018b y posteriores de MATLAB®.

ejemplo

B = all(A,dim) prueba todos los elementos de la dimensión dim. La entrada dim es un escalar entero positivo.

ejemplo

B = all(A,vecdim) prueba elementos basándose en las dimensiones especificadas en el vector vecdim. Por ejemplo, si A es una matriz, all(A,[1 2]) prueba todos los elementos de A, puesto que todos los elementos de una matriz están incluidos en la parte del arreglo que establecen las dimensiones 1 y 2.

Ejemplos

contraer todo

Cree una matriz de 3 por 3 y, a continuación, pruebe cada columna para hallar todos los elementos distintos de cero.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

B = all(A)
B = 1x3 logical array

   0   0   1

Cree un vector de valores decimales y pruebe qué valores son inferiores a 0.5.

A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69];
B = (A < 0.5)
B = 1x7 logical array

   0   0   1   1   1   1   0

La salida es un vector de valores lógicos. La función all reduce este vector de valores lógicos a una condición única. En este caso, B = all(A < 0.5) produce un 0 lógico.

Esto hace que all sea particularmente útil en instrucciones if.

if all(A < 0.5)

%do something

else

%do something else

end

El código se ejecuta en función de una condición única en lugar de un vector de condiciones que pueden entrar en conflicto.

Cree un arreglo multidimensional de 3 por 7 por 5 y pruébelo para ver si todos sus elementos son menores que 3.

A = rand(3,7,5) * 5;
B = all(A(:) < 3)
B = logical
   0

También puede probar el arreglo para elementos que sean mayores que cero.

B = all(A(:) > 0)
B = logical
   1

La sintaxis A(:) convierte los elementos de A en un vector columna único, así que puede utilizar este tipo de instrucción en un arreglo de cualquier tamaño.

Cree una matriz de 3 por 3.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

Pruebe las filas de A para hallar todos los elementos distintos de cero especificando dim = 2.

B = all(A,2)
B = 3x1 logical array

   0
   0
   0

Cree un arreglo 3D y determine si todos los elementos de cada página de datos (filas y columnas) son cero.

A(:,:,1) = [2 1; 3 5];
A(:,:,2) = [0 0; 0 0];
A(:,:,3) = [-2 9; 4 1];
B = all(A,[1 2])
B = 1x1x3 logical array
B(:,:,1) =

   1


B(:,:,2) =

   0


B(:,:,3) =

   1

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como escalar, vector, matriz o arreglo multidimensional.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Soporte de números complejos:

Dimensión en la que operar, especificada como escalar entero positivo. Si no especifica la dimensión, el valor predeterminado es la primera dimensión del arreglo de tamaño mayor que 1.

Considere un arreglo de entrada bidimensional, A:

  • all(A,1) opera en elementos sucesivos de las columnas de A y devuelve un vector fila de valores lógicos.

  • all(A,2) opera en elementos sucesivos de las filas de A y devuelve un vector columna de valores lógicos.

all(A,1) column-wise computation and all(A,2) row-wise computation.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Vector de dimensiones, especificado como vector de enteros positivos. Cada elemento representa una dimensión del arreglo de entrada. Las longitudes de la salida en las dimensiones operativas especificadas son 1, mientras que las demás se mantienen iguales.

Considere un arreglo de entrada de 2 por 3 por 3, A. En ese caso, all(A,[1 2]) devuelve un arreglo de 1 por 1 por 3 cuyos elementos indican valores distintos de cero para cada página de A.

all(A,[1 2]) collapses the pages of a 2-by-3-by-3 array into a 1-by-1-by-3 array.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Argumentos de salida

contraer todo

Arreglo lógico, devuelto como escalar, vector, matriz o arreglo multidimensional. La dimensión de A sobre la que actúa all tiene el tamaño 1 en B.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a