How can I check existence of a variable in matlab app designer?
26 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(2 个)
Steven Lord
2018-4-10
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 个评论
MC
2018-4-10
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
2022-1-12
Hello Steven,
I have a similar question regarding ~isempty().
Would you mind having a look? I appreciate it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Handle Classes 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!