Is it possible to create a structure with fields but without defined values?
조회 수: 39 (최근 30일)
이전 댓글 표시
Is it possible to create a structure with fields but without defined values? and add values to the structure later?
댓글 수: 0
답변 (2개)
Walter Roberson
2015년 7월 2일
Muthu's answer is completely correct for producing a structure array with one member with defined fields which have been initialized to [] .
Sometimes, though, what you want is to create a structure with no members but which has defined fields. The method for doing that is not obvious but is
z = struct('fieldname1',{},'fieldname2',{})
the output of that would be a 0 x 0 structure which has the given fields.
Pre-defining an empty structure can be important in some cases involving copying members between structures, or appending structure members. For example, using the z I defined here:
>> cell2mat({[], struct('fieldname1', 3, 'fieldname2', 'hello')})
Error using cell2mat (line 45)
All contents of the input cell array must be of the same data type.
>> cell2mat({z, struct('fieldname1', 3, 'fieldname2', 'hello')})
ans =
fieldname1: 3
fieldname2: 'hello'
댓글 수: 0
Muthu Annamalai
2015년 7월 1일
Yes.
z = struct('fieldname1',[],'fieldname2',[])
z.fieldname1
z.fieldname2
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!