Check if all values in cell array are 'on'
이전 댓글 표시
I created an array of objects in app designer. They're all images.
images=[app.Image1,app.Image2,.......,app.ImageX];
now I get their visible property
check=get(images,'Visible');
that gives me a cell array of 'on' and 'off' values. I want to check if all the values in the array are 'on'. How do I do that? I tried combining it into a matrix, but got errors.
채택된 답변
추가 답변 (2개)
Image Analyst
2021년 4월 26일
Try this:
>> ca = {'on', 'on', 'on'}
ca =
1×3 cell array
{'on'} {'on'} {'on'}
>> allOn = all(ismember(ca, {'on'}))
allOn =
logical
1
>> ca = {'on', 'on', 'off'}
ca =
1×3 cell array
{'on'} {'on'} {'off'}
>> allOn = all(ismember(ca, {'on'}))
allOn =
logical
0
댓글 수: 3
Vojtech Siler
2021년 4월 26일
Image Analyst
2021년 4월 27일
You changed something. My code works. I don't have 34 lines in my code. I had only 2 lines and they worked. You don't need anonymous functions, strcmp(), cellfun(), etc. All you need is the single line of code I gave you that calls ismember().
Vojtech Siler
2021년 4월 27일
One easy way to do this is to use a string.
A = {'on', 'on', 'on'};
all(A == "on")
댓글 수: 2
Vojtech Siler
2021년 4월 26일
DGM
2021년 4월 27일
It depends what version you have. This usage with the double quoted string needs R2016b to work (IIRC). At least it doesn't work for me in R2015b.
카테고리
도움말 센터 및 File Exchange에서 Entering Commands에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!