极坐标画图rho如何变为负数
画一个方向图,rho全部为负数,假如最里圈为-80,最外圈为0,怎么能够画出?谢谢回复 #1 jojocleo 的帖子
polar绘图,如果向量长度为负则相当与方向相反,只改变角度。因此绘出来的图标注的长度都是正值即 POLAR(THETA, -RHO)等价于POLAR(-THETA, RHO)
[ 本帖最后由 花如月 于 2007-10-3 17:35 编辑 ] 那怎么解决呢?怎么能让显示的为负数呢? 原帖由 jojocleo 于 2007-10-3 21:14 发表 http://www.chinavib.com/forum/images/common/back.gif
那怎么解决呢?怎么能让显示的为负数呢?
呵呵,支个笨招:先加上一个足够大的正数,然后将径向标注都手都减去这个正数.
回复 #4 w89986581 的帖子
当然最简便的方式就是在图形窗口里修改下标注,如果需要程序修改会麻烦些。我对polar修改后存为mypolar,然后用它绘制r为负的极坐标图。其实极坐标里r正负同时出现几乎的情况是没有什么意义的,因为楼主需要负的坐标所以献丑了:lol具体做法如下edit polar。在打开的m文件里找到这段
% draw radial circles
c82 = cos(82*pi/180);
s82 = sin(82*pi/180);
rinc = (rmax-rmin)/rticks;
for i=(rmin+rinc):rinc:rmax
hhh = line(xunit*i,yunit*i,'linestyle',ls,'color',tc,'linewidth',1,...
'handlevisibility','off','parent',cax);
text((i+rinc/20)*c82,(i+rinc/20)*s82, ...
[' - ' num2str(i)],'verticalalignment','bottom',...
'handlevisibility','off','parent',cax)%这句就是用来标注半径的,在前边加个符号就可以了
end
set(hhh,'linestyle','-') % Make outer circle solid
然后另存为mypolar.m
在命令行测试如下:
>> r=1:5;tho=0:pi/2:2*pi;mypolar(tho,r)
>>
结果见附图
[ 本帖最后由 花如月 于 2007-10-4 14:52 编辑 ] {:{39}:} 極座標繪圖的相關技巧, 可參考
(From http://home.vibunion.com/blog-63979-18250.html)
4.Half polar coordinates figure plot function : halfPolarhttp://www.mathworks.com/matlabcentral/fileexchange/27230-half-polar-coordinates-figure-plot-function-halfpolar
极坐标绘图 http://forum.vibunion.com/thread-93586-1-1.html
极坐标坐标轴设置的问题 http://forum.vibunion.com/thread-74599-1-1.html
极坐标画图rho如何变为负数 http://forum.vibunion.com/thread-52635-1-1.html
matlab中极坐标系的控制 http://forum.vibunion.com/thread-31193-1-1.html
怎么在极坐标中界定坐标的最大值 http://forum.vibunion.com/thread-90045-1-1.html
polar2.m http://www.mathworks.com/matlabcentral/fileexchange/23589-polar-2
3D Polar Plot http://www.mathworks.com/matlabcentral/fileexchange/13200-3d-polar-plot
页:
[1]