Reputation: 329
how can I use the command 'set' in the GUI in matlab that it can keep the previous answer and not to replace it with the new one. like for example, when I use a for loop and get more than one output, in the normal matlab code it will keep all outputs and print it in the screen as the following:
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
the result will be the follwoing:
answer = { a0.b0.d6 , a0.c0 }
answer = { a0.c0 , a0.c0.d5 }
answer = { a0.c1.b2.d13 , a0.c1.c3 }
but in the GUI version, when I type:
set(textA,'string',['answer = {',x ,',', m,'}']);
it will give me only the last answer means that it updates the answer every time the for loop begins:
answer={a0.d2.c2 , a0.d2.c2.d10}
so is there any command in GUI that can keep answers and put each answer in one line like the fprintf does..
Thank you
Upvotes: 0
Views: 232
Reputation: 89
You can create a new variable that saves the previous result and the new one.
for example:
str='';
for i=1:6
str=[str; num2str(i)];
end
now when you use set(handle,'string',str) it will show:
1
2
3
4
5
6
Upvotes: 1