Effacer les filtres
Effacer les filtres

to which command refers ~isempty() to?

2 vues (au cours des 30 derniers jours)
Manuel Olschner
Manuel Olschner le 14 Oct 2013
Commenté : Jan le 14 Oct 2013
Sorry for the dumb question, but I am working on a matlab code I didn't write myself and several '~isempty(<1xn> cell in here)' are occuring. Since I am relatively new to matlab and programming, I just don't understand yet to what the isempty refers. I couldn't find any satisfying answers and so i thought maybe i could find help here. The isempty is always bound to an if loop.
like:
set (handles. ...
set (handles. ...
if ~isempty(ZoneElementProtNameUnder{1,1})
set(handles.protUnder,'String',ZoneElementProtNameUnder{1,1});
else ...
So does isempty work with the 'set handles' or with the 'ZoneElement...', or even with a previous command? Or what exactly is it doing?
I appreciate any answers or help, thanks!

Réponse acceptée

Cedric
Cedric le 14 Oct 2013
Modifié(e) : Cedric le 14 Oct 2013
ZoneElementProtNameUnder is a 2D cell array. ZoneElementProtNameUnder{1,1} is the content of cell on column 1 and row 1 (curly brackets = "content of" for cell arrays). As cells can have empty content, the condition in the IF statement
if ~isempty(ZoneElementProtNameUnder{1,1})
is just checking that this cell's content is not empty. If true, then the expression
set(handles.protUnder,'String',ZoneElementProtNameUnder{1,1});
is using the content.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 14 Oct 2013
In that code, ZoneElementProtNameUnder is a cell array that has at least one element. To access just that one element unwrapped from the cell array, you would code ZoneElementProtNameUnder{1,1} . If the entity that is stored there is empty, then isempty(ZoneElementProtNameUnder{1,1}) would be true, and ~isempty(ZoneElementProtNameUnder{1,1}) would be false; contrawise if ZoneElementProtNameUnder{1,1} had something in it, then isempty(ZoneElementProtNameUnder{1,1}) would be false and ~isempty(ZoneElementProtNameUnder{1,1}) would be true.
  2 commentaires
Manuel Olschner
Manuel Olschner le 14 Oct 2013
that explains it very well, thank you!
Jan
Jan le 14 Oct 2013
@Cedric and Walter: I appreciate your clear explanations of this basic question.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by