How to assign values to a struct array with fields?

111 vues (au cours des 30 derniers jours)
SeaMoon Kim
SeaMoon Kim le 13 Jan 2017
Commenté : madhan ravi le 4 Juin 2019
Is there any way to write down a one-line script for assigning values to a struct array with fields?
x(1).a=1; x(2).a=2;
I'd like to change each value to 10 and 20 respectively. (I mean x(1).a=10, x(2).a=20) [x.a]=[10 20]; <- This causes an error.

Réponse acceptée

Vandana Rajan
Vandana Rajan le 16 Jan 2017
Modifié(e) : madhan ravi le 4 Juin 2019
Hi,
>> x = struct('a',{10,20});
This will create x(1).a = 10 and x(2).a = 20
To modify an already existing structure array,
>> new_val = num2cell([10,20]);
>> [x.a] = new_val{:};
Please see the following link
  2 commentaires
SeaMoon Kim
SeaMoon Kim le 16 Jan 2017
Thanks for your comment, Vandana. It works perfectrly! But I found that there is no way to assign struct array in one line. :-(
madhan ravi
madhan ravi le 4 Juin 2019
+1

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by