Ricerca…


Tutti e Tutti con array vuoti

È necessario prestare particolare attenzione quando esiste la possibilità che un array diventi un array vuoto quando si tratta di operatori logici. Spesso è previsto che se all(A) è vero allora any(A) deve essere vero e se any(A) è falso, anche all(A) deve essere falso. Questo non è il caso in MATLAB con array vuoti.

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

Quindi, se per esempio stai confrontando tutti gli elementi di una matrice con una certa soglia, devi essere consapevole del caso in cui la matrice è vuota:

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

Utilizzare la funzione built-in è isempty per verificare la presenza di array vuoti:

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow