0001 function [x,y]=circle(x0,y0,r,npts,uflag)
0002
0003
0004
0005
0006
0007
0008
0009
0010 if(~exist('npts'))
0011 npts=[];
0012 end
0013
0014 if(~exist('uflag'))
0015 uflag=[];
0016 end
0017
0018 if(isempty(npts))
0019 npts=50;
0020 end
0021
0022 if(isempty(uflag))
0023 uflag=0;
0024 end
0025
0026 if(all(size(r)==1))
0027 r=r*ones(size(x0));
0028 end
0029
0030
0031
0032 x0=x0(:)'; y0=y0(:)'; r=r(:)';
0033
0034
0035 s=2*pi/npts; t=[0:s:2*pi-s]';
0036
0037
0038 x0=repmat(x0,size(t,1),1);
0039 y0=repmat(y0,size(t,1),1);
0040 r =repmat(r, size(t,1),1);
0041 t =repmat(t, 1,size(x0,2));
0042
0043 [x,y]=pol2cart(t,r);
0044 x=x+x0;
0045 y=y+y0;
0046
0047
0048 if(uflag==1)
0049 x=[x;x(1,:)];
0050 y=[y;y(1,:)];
0051 end