Gloria
Gloria

Reputation: 329

replace the command 'set' in matlab GUI

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

Answers (1)

Muhammad
Muhammad

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

Related Questions