如何在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一样..
谢谢
答案 0 :(得分:1)
您可以创建一个新变量来保存以前的结果和新结果。
例如:
str='';
for i=1:6
str=[str; num2str(i)];
end
现在当你使用set(handle,'string',str)时,它将显示:
1
2
3
4
5
6