2013-12-09 30 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

相關問題