所以我有一个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。”。有什么想法吗?
答案 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 = {};
感谢您的帮助!