Clear Filters
Clear Filters

Live script fprintf temporarily not printing whole line

24 views (last 30 days)
Zel Hurewitz
Zel Hurewitz on 23 Aug 2024 at 18:42
Commented: dpb on 24 Aug 2024 at 14:19
While doing a bunch of file IO in a Live Script, and printing with fprintf, sometimes the line does not complete printing. Temporarily, it looks like the image below until the next iteration begins.
I was able to sort of recreate the effect with the code below, but what can be only a flicker in the execution of this snippet is much more noticable on my other project.
for i= 1:10
fprintf("Hello %d\n",i)
B= inv(rand(3000)+ 2*eye(3000));
end
Hello 1 Hello 2 Hello 3 Hello 4 Hello 5 Hello 6 Hello 7 Hello 8 Hello 9 Hello 10
Is this a bug or am I missing something?
  2 Comments
Walter Roberson
Walter Roberson on 23 Aug 2024 at 19:38
This does not surprise me.
Output within Live Script is buffered. There are weird effects. For example
hold on
for i = 1 : 10
plot(rand(1,5));
fprintf("Hello\n");
end
plot(0.5,1,'*');
will display all of the text first and the plot at the end, but
hold on
for i = 1 : 10
plot(rand(1,5));
fprintf("Hello\n");
end
will display all except one of the text first, then the plot, then the last text.
dpb
dpb on 24 Aug 2024 at 14:19
Never use live script so no experience, but...I don't suppose a drawnow will make any difference here? Does disp act any differently?

Sign in to comment.

Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!