Clear Filters
Clear Filters

How can I check existence of a variable in matlab app designer?

31 views (last 30 days)
I'm creating an app designer UI. Every time I run below code in app designer, the answer is zero:
if true
% code
% Button pushed function: PreviewButton
function PreviewButtonPushed(app, event)
app.z = videoinput('winvideo',1,'RGB24_960x720');
app.x = getsnapshot(app.z);
a = exist('app.x','var');
end
On the other hand while I run this code in editor the is true:
if true
% code
z = videoinput('winvideo',1,'RGB24_960x720');
x = getsnapshot(z);
a = exist('x','var')
end
How shoud I use existence function?

Answers (2)

Steven Lord
Steven Lord on 10 Apr 2018
The expression "app.x" is not a variable name. In this context it is an expression referring to the property x of an object stored in the variable app. [There are other potential meanings, but that's the one that's relevant here.]
If you want to check if the object stored in the variable app has a property x, use isprop.
isprop(app, 'x')
If you want to check if the property app.x exists and is non-empty:
isprop(app, 'x') && ~isempty(app.x)
If you know that the object app must have a property x (because it appears in the class definition file rather than being a dynamic property added using addprop on a class that subclasses dynamicprops) you can omit the first part of that test.
~isempty(app.x)
  2 Comments
MC
MC on 10 Apr 2018
Hi Steven,
Many thanks for your prompt and full explanation. ~isempty() works perfectly for me.
This is my first time using appdesigner (only used guide previously).
Off to read up on properties now...
Best regards, Mark.
reaujahn
reaujahn on 12 Jan 2022
Hello Steven,
I have a similar question regarding ~isempty().
Would you mind having a look? I appreciate it.

Sign in to comment.


MC
MC on 10 Apr 2018
Edited: MC on 10 Apr 2018
I have the same problem.
I can evaluate the variable I am looking for while in debug mode, but 'exist' returns 0 nonetheless.
Edit: I got around it by using
try
app.x;
% continue ...
catch
% if x doesn't exist
return
end

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!