MATLAB Answers

Plotting seperate figure in for loop

13 views (last 30 days)
sam moor
sam moor on 23 Feb 2017
Commented: sam moor on 23 Feb 2017
I have matlab script which gives me a vector( name as PSa) of 3991x44. I do have another vector (name as PSa_avg) of 3991x1 (it's average of PSa). Now, I have vector T of 1x3991. Now, I want to have a for loop for PSa so that I can plot each column of PSa with T and then in same plot I would like to plot PSa_avg with T and so on for all 44 columns in 44 figure using for loop. Let me know your suggestions. Thank you.
  2 Comments
sam moor
sam moor on 23 Feb 2017
I mean I want to plot 44 figures using for loop(i.e. T Vs PSA )and in all 44 figures I also want to plot T vs PSA_avg

Sign in to comment.

Accepted Answer

Peter O
Peter O on 23 Feb 2017
44 separate figures? Be aware that this many figures can make MATLAB unhappy to the point of Java crashing, particularly on lower memory systems or those without a dedicated video card. But it's easy to accomplish in a for loop:
n = size(PSa,2)
for ix=1:n
nm = sprintf('PSa #%u',ix);
fh = figure('Name',sprintf('Data Column %u',ix));
ha = axes('Parent',fh);
plot(ha,T,PSa(:,ix),T,PSa_avg);
title(ha,nm);
legend(ha,nm,'PS Avg');
end

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by