Create a Warning in GUI if statement
7 次查看(过去 30 天)
显示 更早的评论
Hi,
I'm trying to create a warning in a GUI I wrote, if all values in a column of a cell array are greater than a number display a warning.
I've tried this but it isn't working
if c{:,2}>10
warndlg('string')
end
Any help is appreciated.
1 个评论
dpb
2016-5-17
What does "not working" mean, precisely? The construct appears it should be fine. Is the array _c_ in context to the callback, perhaps?
回答(2 个)
Walter Roberson
2016-5-17
if all(cellfun(@(C) ~isempty(C) && isnumeric(C) && all(C(:) > 10), c(:,2) ))
warndlg('string')
end
I have made the assumption here that items that are not numeric should not be counted as being > 10, and the additional assumption that empty cells are not to be counted as being > 10. However, in either of those cases, since the cell would not be counted as having a value greater than 10, it would not be true that all the values in the cell array column were greater than 10 so no warning would be produced.
I did not assume that the entries in the cell array were all the same size or the same number of dimensions.
0 个评论
Image Analyst
2016-5-17
Tip: to have it wait for you to click OK, wrap the warndlg() in a uiwait():
uiwait(warndlg('Hey, you really messed up!!!')); % Wait for user to click OK.
Otherwise it goes blasting ahead without waiting.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!