结构:字段名称必须是字符串

时间:2014-03-14 15:11:54

标签: arrays matlab struct

我做了一个巨大的,愚蠢的,无用的和复杂的功能,给了我很多结果。现在我想将输出放在一个结构中,这就是我正在使用的内容:

output=struct('Date',carray{:,1},'Price',carray{:,2},'Time',carray{:,3},'a',a,'b',b,'c',c,'d',d,'e',e,'f',f,'g',g,'FreqVec',dbin{:,1});

我收到以下错误:
字段名称必须是字符串 以下是我希望在一个结构中输出的一些信息:

variables from 'a' to 'g' are vectors of the same length (say 'n').
Date, Price and Time are three columns of a cellarray. 

列具有相同的行数' n'的向量
(但价格和时间的每个单元格都是一个长度可变的向量)

dbin is a cellarray with one column and 'n' rows.  

dbin中的每个单元格是具有可变长度的向量。

我真的不知道结构应该如何运作所以我不确定我是否向你们提供了解问题所需的所有信息。

希望你能帮我解决这个问题 感谢

1 个答案:

答案 0 :(得分:4)

尝试将{}替换为()

output=struct('Date',carray(:,1),'Price',carray(:,2),'Time',carray(:,3),'a',a,'b',b,'c',c,'d',d,'e',e,'f',f,'g',g,'FreqVec',dbin(:,1));

当您编写carray{:,1}时,您会获得单元格内容的逗号分隔列表(不是单元格数组的列),这可能是问题的根源。