You need to use the obscure syntax for set in which the first parameter is a vector of handles and the second input is a cell array of character vectors indicating the properties to change and the third parameter is a cell array of new values carefully arranged.
When you call set with a vector of handles and the next parameter is a character vector, then that is a request to set that property to the same value for all of the handles. set does *not* have a syntax like
set([h1, h2], 'YData', {h1ydata, h2ydata})
set([h1, h2], 'YData', [h1ydata(:), h2ydata(:)])
The only syntax for set() that permits different values for different handles on the same call is the cell array of character vectors one that is a bit confusing to set up.
Most of the time it is easier and clearer to just use a loop or arrayfun or cellfun. I only use the cell array of character vectors properties syntax if efficiency is especially important... Or sometimes with a scalar handle if I used get with a cell array of character vectors to query multiple properties.
Best Answer