Recherche…


Tous et tout avec des tableaux vides

Des précautions particulières doivent être prises lorsqu'il est possible qu'un tableau devienne un tableau vide en ce qui concerne les opérateurs logiques. On s'attend souvent à ce que si all(A) est vrai, any(A) doit être vrai et que si any(A) est faux, all(A) doit également être faux. Ce n'est pas le cas dans MATLAB avec des tableaux vides.

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

Donc, si par exemple vous comparez tous les éléments d'un tableau avec un certain seuil, vous devez être conscient du cas où le tableau est vide:

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

Utilisez la fonction isempty pour vérifier les tableaux vides:

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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow