【发布时间】:2016-10-30 18:24:05
【问题描述】:
我正在 Matlab 中构建一个 GUI(我的第一个),我有 160 个静态文本框,标签名称为“tag_matrix_1, tag_matrix_2, etc”。我正在尝试构建一个循环,将所有标签名称放在一个向量中:
for i = 1:160
tagNames(i) = ['tag_matrix_' num2str(i)];
end
但我总是会收到错误消息:“在赋值 A(I) = B 中,B 和 I 中的元素数量必须相同。” 为什么?我该如何解决?
我的第二个问题是关于循环显示它。是否可以循环播放,所以我没有 160 行设置我的静态文本框? 喜欢:
for i = 1:160
set(handles."how can I implement tagNames(i) in there",'String',data2d(i,:);
end
【问题讨论】:
-
对于第一个问题:所有
tagNames的字符数都不相同(例如tag_matrix_1与tag_matrix_160),因此您会收到有关尺寸的错误。您最好使用单元格数组来存储它们,即tagNames{i}。或者使用具有动态名称引用的结构。 -
第二个问题没看懂;设置文本框中显示的名称的循环有什么问题?
-
首先感谢。 tagNames{i} 效果很好。我不知道如何将变量放入我的行中: set(handles.tagName{i},'String',data2d(i,:));不起作用。
标签: matlab loops user-interface tags matlab-figure