2013-12-09 63 views
0

我想要一个包含字符串和单元格数组的字符串的结构体。包含字符串和单元格的结构的MATLAB行为

这按预期工作:

x = struct('field1','one','field2','two'); 
>> x.field1 
ans =  
one 

,但只要我有一个字符串单元阵列,这是输出为x.field1

x = struct('field1','one','field2',{'two','three'}); 
>> x.field1  
ans =  
one 
ans =  
one 

你能告诉我如何正确地结合起来字符串和单元格数组到单个结构?谢谢!

+0

我和倍频试了一下,这样的定义似乎导致了一个1x2的阵列结构两个与field1相关的条目的值为'one'。如果你将x定义如下,则不同:'x = struct('field1','one','field2',struct('subfield1','two','subfield2','three'));'。 –

回答

2

添加两个大括号的单元阵列周围,以防止从Matlab的发布内容到结构数组:

>>x = struct('field1','one','field2',{{'two','three'}}) 
x = 
    field1: 'one' 
    field2: {'two' 'three'} 
+0

工作完美,谢谢! – Lisa

相关问题