adding empty numerical fields in structure array

9 ビュー (過去 30 日間)
Octavian
Octavian 2014 年 12 月 25 日
編集済み: per isakson 2014 年 12 月 25 日
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

採用された回答

per isakson
per isakson 2014 年 12 月 25 日
編集済み: per isakson 2014 年 12 月 25 日
Yes, that's simple:
A.field4 = [];
A.field5 = [];
&nbsp
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 件のコメント
per isakson
per isakson 2014 年 12 月 25 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by