Using text function in a for loop

37 views (last 30 days)
Hi, what i want to ask is how can i use the text function inside a loop and make it print the number of iterations? like this
for i = 1:4
----some code----
text(pos1,pos2,i)
end
  1 Comment
Oleg Komarov
Oleg Komarov on 12 May 2012
Where do you want it printed? If on a graph, then you're on the right track. Do you want to keep the iteration already printed or you want to update it?
If you want to print it in the command window use disp or sprintf.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 12 May 2012
Don't use i (the imaginary variable) for your loop index.
I handle a number of situations below.
for k = 1:1000
caption = sprintf('The value of k is %d', k);
% Print to command window.
fprintf('%s\n', caption);
% Print to static text control on a GUI.
set(handleToText, 'String', caption);
% Print to the overlay of an image or plot.
text(5, 10, caption);
% Force it to repaint the screen immediately.
drawnow;
end
Note the use of drawnow. If you're in an intensive loop, it often won't take time out to repaint your GUI until it's done with the loop. Thus you won't see any update on your screen. To get around this, use the drawnow command to force it to update/refresh/repaint the screen each time it's called.

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!