【发布时间】:2013-07-02 15:59:46
【问题描述】:
所以我有一个结构体 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
但是,我收到错误消息“无法从单元格转换为字符。”。有什么想法吗?
【问题讨论】:
-
您能否详细说明“好像它是一个变量”的含义?您想消除什么差异?
-
我认为他们在谈论如果他们创建一个名为
counter的变量,那么输入counter将给出输出counter = 1,而输入settings.counter将给出输出@ 987654326@。 @user2540113 输出所说的内容不会有所作为。您可以将值保存到另一个变量中。像这样:counter = settings.counter. -
当您键入要查看的表达式时 MATLAB 显示的名称并不重要。 settings.counter 正是你想要的。如果您想以某种自动方式在值旁边打印名称,请单独解释该问题...
-
settings = struct('counter', counter); -
Dan455 有。我认为使用结构来存储所有变量会更容易在文件和函数之间传递变量。这就是为什么我不想将值保存到另一个变量中,我想在结构中编辑它的值。让我感到困惑的是,使用结构而不是单独的变量会给我带来不同的结果。
标签: matlab variables data-structures