Plotting from function per for-loop iteration

1 view (last 30 days)
I need to produce calculations and plots for a series of parameters. I have read that producing a new plot per for-loop iteration is not advised, but that is what I need. For example, I have the following function and code:
Function:
function test_function(input_test)
x = input_test.x;
y = input_test.y;
x+y
figure(1)
scatter(x,y)
figure(2)
scatter(x+y,y)
end
Code:
a = [1,2,3];
b = [1,2,4];
for i=1:3
for j = 1:3
input_test.x=a(i)
input_test.y=b(j)
test_function(input_test)
end
end
I want to call the function and output the calculation and plots for each iteration of the for-loop (ie: 9 calculations of x+y & 18 different plots). Right now this code can produce the 9 calculations of x+y but I am only getting the 2 plots of the last iteration at the bottom of the output window.
Any suggestions or other methods on how to produce a series of individual calculations and plots?

Accepted Answer

Matt J
Matt J on 26 Jun 2022
Edited: Matt J on 26 Jun 2022
If you want new figure windows for each plot, don't specify a number for them:
figure
scatter(x,y)
figure
scatter(x+y,y)
  2 Comments
Dominic Hernandez
Dominic Hernandez on 27 Jun 2022
Thank you! This works for the example code I posted here. My main code is still running but hopefully it works too.
Matt J
Matt J on 27 Jun 2022
You're welcome. If it does work though, please click Accept.

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!