Writing data to a structure array without loop
Afficher commentaires plus anciens
% Let an array of axes be given
ax(1)=axes;
ax(2)=axes;
ax(3)=axes;
% Let's write something to axes user data in the "data" field
ax(1).UserData.data=1;
ax(2).UserData.data=1;
ax(3).UserData.data=1;
% Now change "data" in all axes to "2"
for i=1:numel(ax)
ax(i).UserData.data=2;
end
How can this be done without a loop?
I could write somethng like this:
s.data=2;
[ax.UserData] = deal(s);
But if there were another user data in these axes (e.g. ax(1).UserData.data1='something';), they will be gone. I need to change only one field, without affecting the other fields.
Réponse acceptée
Plus de réponses (1)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!