matlab在极坐标中画圆,圆心为(0,0)和(1,1),怎么画?

如题,注意是在极坐标中,用polar
半径就为2吧

第1个回答  2014-02-14

参考代码:

t=linspace(0,2*pi,50);
r=2*ones(size(t));
z=1+2*cos(t)+i*(1+2*sin(t));
polar(angle(z),abs(z),'g')
hold on
polar(t,r,'r')

 

说明:

1、其实要点就在于怎样计算出曲线各点对应的极坐标值;

2、如果要在同一图中绘制,应该先画矢径范围更大的那条曲线,否则会显示不完整。

追问

请问:1)第三行i是什么意思?
2)用此代码做图发现圆心不在(1,1)上,什么情况?如何改?

追答

1、i是虚数单位,计算极坐标的过程,其实就是先计算直角坐标然后转换过来;

2、圆心不会不在那个点上吧,你再仔细看看?

或者你可以在后面加一句:

    polar(pi/4,sqrt(2),'o')

把圆心标出来会更清楚些。

追问

嗯,你是对的。最后一个问题,如果我要把圆心的坐标变为(m,n),是不是改动第三行的两个1?

追答

没错,把那两个1分别改成m、n即可。

本回答被提问者采纳