Using cellfun() to set cell array of graphic objects 'Visible' Property to 'off'

3 Ansichten (letzte 30 Tage)
I have a 1xn cell array of graphic objects-- currently I have the logic in a for-loop
for j = 1:numel(uis)
uis{j}.Visible = 'off';
end
I've always had trouble with the syntax for the cellfun function...I know this is wrong, but I'm trying to do something like:
cellfun(@set,uis,'Visible','off')
*note: found out here:
that for loops are faster than cellfun(), but I would like to know the answer to my question anyway :)

Akzeptierte Antwort

Stephen23
Stephen23 am 12 Feb. 2019
Bearbeitet: Stephen23 am 12 Feb. 2019
You will need to define an anonymous function like this:
cellfun(@(g)set(g,'Visible','off'),your_cell_array_of_handles)
Note that you could easily have put all of the handles into one handle array, in which case your code is much simpler and more efficient:
set(array_of_handles,'Visible','off')
  4 Kommentare
Kevin Phung
Kevin Phung am 13 Feb. 2019
Did not know you can concatenate uis{:} in that way with [], this will be very useful knowledge-- thanks Jan!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by