0

如何在 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 一样。

谢谢

4

1 回答 1

1

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

例如:

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

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

1
2
3
4
5
6
于 2012-12-22T14:02:45.013 回答