adding empty numerical fields in structure array
42 views (last 30 days)
Show older comments
Dear All,
I am sure this is trivial for you wizzes. I have a structure A with fields A.field1,A.field2, A.field3, with fields 1 and 2 cell arrays, and field3 numerical double array. How do I add two empty, numerical double, fields named 'field4' and 'field5', to A, that I can fill later separately?
Thank you,
Octavio
0 Comments
Accepted Answer
per isakson
on 25 Dec 2014
Edited: per isakson
on 25 Dec 2014
Yes, that's simple:
A.field4 = [];
A.field5 = [];
 
In response to comment
>> clear A
>> A.f1=1;
>> A.f2=2;
>> A.field5 = [];
>> A.field4 = [];
>> A
A =
f1: 1
f2: 2
field5: []
field4: []
>>
So far so good.
>> A=[A,A]
A =
1x2 struct array with fields:
f1
f2
field5
field4
f3
>> A.f4 = []
Incorrect number of right hand side elements in dot name assignment.
Missing [] around left hand side is a likely cause.
Ok, I missed that you have a struct array
>> A(1).f4 = []
A =
1x2 struct array with fields:
f1
f2
field5
field4
f3
f4
>> A(1).f4
ans =
[]
>> A(2).f4
ans =
[]
Or better
>> [A.f5] = deal([])
A =
1x2 struct array with fields:
f1
f2
field5
field4
f3
f4
f5
1 Comment
per isakson
on 25 Dec 2014
moved from an answer by per isakson
Dear Per,
Trying A.field4 = [];
I get the error:
Incorrect number of right hand side elements in dot name assignment. Missing [] around left hand side is a likely cause. Please advise
More Answers (0)
See Also
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!