MATLAB:无法从单元格转换为char

时间:2013-07-01 18:50:46

标签: matlab variables data-structures

所以我有一个struct,settings,包含三个字段,averageValue,heightLabels和height。

settings.averageValue = 7.5121 7.2742 7.4602 settings.heights = 105.1000 105.2000 105.3000

我使用以下代码循环遍历这些代码:

for m = 1:length(settings.averageValue)
    settings.heightLabels(m) = {sprintf{'%.1f %s', settings.heights(m), 'm')};
end

但是,我收到错误“无法从单元格转换为char。”。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

好吧,我现在回答你的问题。假设你有变量A,B,C,D,你想在一个struct变量中聚集在一起。这是你如何做到的:

settings.A = A;
settings.B = B;
settings.C = C;
settings.D = D;

settings现在是一个struct变量,如果你想访问A,你可以将它称为:

disp(settings.A) %display A
settings.A = 10; %edit A
newA = settings.A; %assign A to a new variable

将设置传递给函数,做任何事情。

答案 1 :(得分:0)

好的家伙我明白了。这是一个数据类型的问题;我的struct字段应该是一个单元格,但它是一个字符串。相当尴尬。

我在创建结构字段时使用以下代码解决了这个问题:

settings.averageValue = {};
settings.heightLabels = {};

感谢您的帮助!