How to assign values to a struct array with fields?

113 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Vandana Rajan
Vandana Rajan il 16 Gen 2017
Modificato: madhan ravi il 4 Giu 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 Commenti
SeaMoon Kim
SeaMoon Kim il 16 Gen 2017
Thanks for your comment, Vandana. It works perfectrly! But I found that there is no way to assign struct array in one line. :-(

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by