How to use a loop to call function to same plot.

Illustration
Andersonwilliams - 2020-09-12T13:19:58+00:00
Question: How to use a loop to call function to same plot.

i have a function that draws a random shape but i want to be able to call it 10 times to the same plot so 10 different shapes are drawn around the same point and on the same figure how do I do this? function plotfunc() figure(); prompt = {'Enter Number of vertices:',} numberOfVertices = str2num(cell2mat(inputdlg(prompt, 'enter a number', 5))) %numberOfVertices = 7; % Fixed at 7 for this demo. coordinates = rand(numberOfVertices, 2); coordinates(1,:) = [0, 0]; % Force first coord to 0,0 coordinates(end+1,:) = [0, 0]; % Force last coord to 0,0 hold on; plot(coordinates(:,1), coordinates(:,2)); hold on plot(coordinates(:,1), -coordinates(:,2)); hold on plot(-coordinates(:,1), coordinates(:,2)); hold on plot(-coordinates(:,1), -coordinates(:,2)); grid off; randomColor = rand(1,3); patch(coordinates(:,1), coordinates(:,2), randomColor); % Can use fill() also. patch(coordinates(:,1), -coordinates(:,2), randomColor); % Can use fill() also. patch(-coordinates(:,1), coordinates(:,2), randomColor); % Can use fill() also. patch(-coordinates(:,1), -coordinates(:,2), randomColor); % Can use fill() also. axis off; end

Expert Answer

Profile picture of Kshitij Singh Kshitij Singh answered . 2025-11-20

Just use a loop, after the first line (after figure()), use

for i=1:10
...%Put code here
end

Make sure to add the end. You might want to move the position where the for loop starts till after the numberOfVertices line so the user doesn't put a new number of vertices every time.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!