How can I graph a circle using a nested function in matlab?

조회 수: 2 (최근 30일)
Chelsea
Chelsea 2014년 4월 25일
답변: Image Analyst 2014년 4월 25일
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
Andrew Newell
Andrew Newell 2014년 4월 25일
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.
Chelsea
Chelsea 2014년 4월 25일
It is supposed to put little stars on the outside of the circle. Basically, when I try to use it as a function-function it doesn't work. I need to have them in the same script. Am I saving it wrong?

댓글을 달려면 로그인하십시오.

답변 (2개)

the cyclist
the cyclist 2014년 4월 25일
편집: the cyclist 2014년 4월 25일
You have to do one of two things with the function circleplot:
  1. Have it within the same *.m file as cirpnts
  2. 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.

Image Analyst
Image Analyst 2014년 4월 25일
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?

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by