How to add more values to an existing structure?

97 views (last 30 days)
Benson Gou
Benson Gou on 10 Jun 2021
Commented: dpb on 10 Jun 2021
Dear All,
I have an existing structure A which has several fields. Each field have 100 values. Now I want to add 20 more values to each existing field for the existing structure A. I used the following code but I got 2 structures which is not what I want.
A = [A; struct(fileds, values)]
Thanks for your help.
dpb on 10 Jun 2021
Oh, ok.
Use either setfield() or the dot notation referencing the desired field. NB: you can reference fields via variables via parentheses syntax such as
S.X=randi(10,4,1); % create dummy struct
vn='X'; % variable containing field name
S.(vn)=[S.(vn); randi(23,12,1)]; % add another dozen elements
Remember you can also get the struct fieldnames programmatically so don't have to write explicit strings as above with
>> vn=fieldnames(S)
vn =
1×1 cell array

Sign in to comment.

Accepted Answer

Max Heiken
Max Heiken on 10 Jun 2021
A.existingField = [A.existingField; newValues];

More Answers (0)


Community Treasure Hunt

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

Start Hunting!