在matlab GUI中替换命令'set'

时间:2012-12-22 13:51:34

标签: matlab user-interface

如何在matlab中使用GUI中的命令'set',它可以保留以前的答案,而不是用新的答案替换它。例如,当我使用for循环并获得多个输出时,在普通的matlab代码中,它将保留所有输出并将其打印在屏幕中,如下所示:

for i=2:length(contextt)
if ~isequal(co1,co2)
if strcmp(q,pc) || ~ismember(tt1(length(tt1)),tt3)
       fprintf('RKC = { %s , %s }\n',pc,cc)

   set(textA,'string',['RKC = {',pc ,',', cc,'}']);            

end
end
end

结果将是以下结果:

 answer = { a0.b0.d6 , a0.c0 }
 answer = { a0.c0 , a0.c0.d5 }
 answer = { a0.c1.b2.d13 , a0.c1.c3 }

但在GUI版本中,当我输入:

set(textA,'string',['answer = {',x ,',', m,'}']); 

它只会给我最后的答案意味着每次for循环开始时它都会更新答案:

 answer={a0.d2.c2 , a0.d2.c2.d10}

所以在GUI中有任何命令可以保存答案并将每个答案放在一行中,就像fprintf一样..

谢谢

1 个答案:

答案 0 :(得分:1)

您可以创建一个新变量来保存以前的结果和新结果。

例如:

str='';
for i=1:6
str=[str; num2str(i)];
end

现在当你使用set(handle,'string',str)时,它将显示:

1
2
3
4
5
6