我在Matlab GUI中打印文本很困难。
我的回调中有这样的代码:
if Lia == ismember(handles.T(1:3),(1,1,1))
set(handles.t1, 'String', 'good day');
end
问题是,我不知道如何检查我的数组索引是否从1到3我得到了这个数字:1,1,1。我正在查看文档,但它似乎没有说明(或者我根本找不到正确的答案)。
答案 0 :(得分:1)
您可以简单地使用all
并检查数组前三个插槽中的每个元素是否与显式值1匹配。我不知道你的阵列的形状,所以我要强迫它成为一个列向量。如果数组的前三个槽是一个行或列向量,如果我们假设值1分别是一个列或行向量,那么你将会得到一个相当令人不快的惊喜:
h = handles.T(1:3);
if all(h(:) == [1; 1; 1])
set(handles.t1, 'String', 'good day');
end
请注意,我可以简单地完成all(h(:) == 1)
作为特例,因为我们正在使用单个值对数组中的每个元素进行比较。但是,我觉得这可能会对你有所改变,所以我决定明确地制作一个1s的向量,这样你就可以在以后改变你想要比较的内容。