How to use a loop to call function to same plot.
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Mahdi
2013-4-11
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.
Hope this helps!
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!