Producing multiple figures in a 'for' loop

2 views (last 30 days)
Hello,
I would like to produce mutliple figures (i.e figure 1,2,3..n on separate windows). I am using different values of 'n' in my code and this means the plotting graph changes. How do I go about getting separate windows for each iteration? Currently the final iteration is produced only. Thanks! Note I am calling function 'myfunc' that I have made and produces a vector that I plot.
Code:
clear
for n=1:20
x=linspace(-5,5,n+1) %linear spacing of n+1 x values on [-5,5]
y=cos(x) %function points given exactly
z=linspace(-5,5,200) %equally spaced vector of 200 points on [-5,5]
p=myfunc(x,y,z) %calling 'myfunc' produces points to be plotted against z
fig=plot(x,y,'o',z,cos(z),'-b',z,p,'--r')
set(fig(1),'MarkerFaceColor','g')
end
Thanks for any help!

Accepted Answer

Walter Roberson
Walter Roberson on 6 Mar 2014
Right after the "for", use
thisfig = figure();
I also recommend parenting all the graphics updates; see http://www.mathworks.co.uk/matlabcentral/answers/22208-show-figure
  2 Comments
Jay
Jay on 6 Mar 2014
Thank you, that works fully. Much appreciated!
Mahesh Yumnam
Mahesh Yumnam on 17 Nov 2020
Thank you. This solved my problem

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!