0

所以我有一个结构体settings,它包含三个字段averageValue、heightLabels 和heights。

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

但是,我收到错误“无法从单元格转换为字符。”。有任何想法吗?

4

2 回答 2

1

好吧,我现在明白你的问题了。假设您有变量 A、B、C、D,您想将它们组合在一个结构变量中。这是你如何做到的:

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

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

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

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

于 2013-07-01T18:55:10.237 回答
0

好吧,伙计们,我想通了。这是一个数据类型问题;我的结构字段应该是一个单元格,但它是一个字符串。比较尴尬。

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

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

谢谢你的帮助!

于 2013-07-02T07:59:46.400 回答