Szukaj…


Wszystkie i dowolne z pustymi tablicami

Szczególną ostrożność należy zachować, gdy istnieje możliwość, że tablica stanie się pustą tablicą, jeśli chodzi o operatory logiczne. Często oczekuje się, że jeśli all(A) są prawdziwe, to any(A) musi być prawdziwe, a jeśli any(A) jest fałszywe, all(A) również muszą być fałszywe. Tak nie jest w przypadku MATLAB-a z pustymi tablicami.

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

Jeśli na przykład porównujesz wszystkie elementy tablicy z określonym progiem, musisz pamiętać o przypadku, gdy tablica jest pusta:

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

Użyj wbudowanej funkcji isempty aby sprawdzić puste tablice:

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow