Buscar..


All and Any con arreglos vacíos

Se debe tener especial cuidado cuando existe la posibilidad de que una matriz se convierta en una matriz vacía cuando se trata de operadores lógicos. A menudo se espera que si all(A) es verdadero, entonces any(A) debe ser verdadero y si any(A) es falso, all(A) también debe ser falso. Ese no es el caso en MATLAB con matrices vacías.

>> any([])
ans =
     0
>> all([])
ans =
     1

Entonces, si por ejemplo está comparando todos los elementos de una matriz con un cierto umbral, debe tener en cuenta el caso en el que la matriz está vacía:

>> A=1:10;
>> all(A>5)
ans =
     0
>> A=1:0;
>> all(A>5)
ans =
     1

Use la función incorporada isempty para verificar las matrices vacías:

a = [];
isempty(a)
ans =
1


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow