Plotting circles in a for loop using a time step
12 views (last 30 days)
Show older comments
Hannah Haynie
on 16 Sep 2019
Commented: Hannah Haynie
on 23 Sep 2019
Hi there,
I am looking for enlightenment and I am not even sure if this will make sense, but I am trying to plot some cells to help me with reducing costs in a Biology lab. I would like to create a Matlab for loop that plots circles with origin on the circumference of the original plotted circle this will happen at each timestep. This is to mimic cell division.
My original code is:
clear all
close all
clc
for k = 1:5 %numberofruns
x0=2;
y0=1;
r=1;
theta=-pi:0.01:pi;
x=r*cos(theta)+x0;
y=r*sin(theta)+y0;
plot(x,y)
hold on
scatter(x0,y0,'or')
% axis square
% ----------------------------------------
% divide your circle to n sectors
n=2
tet=linspace(-pi,pi,n+1)
xi=r*cos(tet)+x0
yi=r*sin(tet)+y0
plot(xi,yi)
x0=1;
y0=1;
r=1;
theta=-pi:0.01:pi;
x=r*cos(theta)+x0;
y=r*sin(theta)+y0;
plot(x,y)
hold on
scatter(x0,y0,'or')
% axis square
% ----------------------------------------
% divide your circle to n sectors
n=2
tet=linspace(-pi,pi,n+1)
xi=r*cos(tet)+x0
yi=r*sin(tet)+y0
plot(xi,yi)
% for k=1:numel(xi)
% plot([x0 xi(k)],[y0 yi(k)])
% hold on
% end
x0=3;
y0=1;
r=1;
theta=-pi:0.01:pi;
x=r*cos(theta)+x0;
y=r*sin(theta)+y0;
plot(x,y)
hold on
scatter(x0,y0,'or')
% axis square
% ----------------------------------------
% divide your circle to n sectors
n=2
tet=linspace(-pi,pi,n+1)
xi=r*cos(tet)+x0
yi=r*sin(tet)+y0
plot(xi,yi)
pause(1) %timeinsec
shg
end
Thanks in advance!
0 Comments
Accepted Answer
the cyclist
on 16 Sep 2019
Your code runs fine for me, and creates a figure. What's the problem? What's your question?
I'm going to take a stab at an answer, though. The default axes will mean your mathematical circles will not look like circles. Try
axis equal
to fix that.
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots 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!