MATLAB Answers

How to add more values to an existing structure?

조회 수: 14(최근 30일)
Benson Gou
Benson Gou 2021년 6월 10일
댓글: dpb 2021년 6월 10일
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.
  댓글 수: 3
dpb 2021년 6월 10일
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

댓글을 달려면 로그인하십시오.

채택된 답변

Max Heiken
Max Heiken 2021년 6월 10일
A.existingField = [A.existingField; newValues];

추가 답변(0개)


Community Treasure Hunt

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

Start Hunting!

Translated by