How can I graph a circle using a nested function in matlab?
1 view (last 30 days)
Show older comments
I am trying to plot a circle using a function function, but cannot seem to make it work. This is the code I have so far.
function cirpnts(P)
A=[-2*P(1,1) -2*P(1,2) 1; -2*P(2,1) -2*P(2,2) 1; -2*P(3,1) -
2*P(3,2) 1];
B=[-(P(1,1)^2+P(1,2)^2); -(P(2,1)^2+P(2,2)^2); -
(P(3,1)^2+P(3,2)^2)];
C = A\B;
a=C(1);
b=C(2);
r=sqrt(C(1)^2+C(2)^2-C(3));
circleplot(a,b,r)
axis equal
xlabel('x'), ylabel('y')
hold on
plot(P(:,1),P(:,2),'*','markersize',10)
hold off
function circleplot(x,y,R)
th=linspace(0,2*pi,100);
xp=x+R*sin(th);
yp=y+R*cos(th);
plot(xp,yp)
Can someone please help make this work?
2 Comments
Andrew Newell
on 25 Apr 2014
What exactly is going wrong? The function circleplot works fine if I use it separately, but I'm not sure what cirpnts is supposed to do.
Answers (2)
the cyclist
on 25 Apr 2014
Edited: the cyclist
on 25 Apr 2014
You have to do one of two things with the function circleplot:
- Have it within the same *.m file as cirpnts
- Have it in a different file but that file must be named circleplot.m
If the subfunction is not with the same *.m file, MATLAB is going to look for the filename.
0 Comments
Image Analyst
on 25 Apr 2014
I don't know what a "function-function" is. You can have both of those functions in the same m-file if you call it cirpnts.m. But when you call cirpnts(), you must pass in P. What is a typical value you are wanting to use for P?
0 Comments
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!