MATLAB Plotting in matlab

  • Thread starter Euclid
  • Start date
214
0
I am trying to write a function that will update a plot "on the fly". For instance, in the test function:
function colorplot
x = ones(100,100);
for i = 1:100
for j = 1:100
x(i,j)=uint8(255^((i+j)/200));
image(x); colormap(gray)
end
end
MATLAB will run the entire function before displaying the image in the matrix x. I want to get MATLAB to update the plot as soon as it changes a single pixel (or more generally, whenever I tell it to!). Does anyone know how to do this? The only way I have been able to close to getting this to happen is to use the "figure" command right before "image", but this just generates 100*100 images when I only want 1.

UPDATE: I found a function drawnow which performs what I want the plot to do, but it is extremely slow. drawnow redraws the whole plot but I am only updating a few pixels. Any ideas?
 
Last edited:

Want to reply to this thread?

"Plotting in matlab" You must log in or register to reply here.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top