旋转MATLAB的极坐标图?

3
我想使用MATLAB命令polar,似乎它从右侧以0度开始,角度逆时针增加。
然而,我想改变这个,使得极坐标系从0度“北”方开始,角度顺时针增加。有没有简单的方法来实现这个目标?
编辑:我希望MATLAB显示一个极坐标图,其中0度从“北”方开始,角度顺时针增加。

可能是MATLAB指南针北的重复问题。 - bla
2个回答

5

按照通常的方式创建极坐标图,然后调用view(90, -90)。这将改变视角而不改变图表的其他任何内容。


那会旋转它,但不会翻转逆时针方向。有没有简单的方法来翻转左右方向?那将是比我的答案更简单的答案。 - RussH

1

找到polar.m并复制一份(我把它命名为mypolar.m,我是通过运行polar引发错误并点击错误消息中的行号链接找到它的)。编辑以下行:

第133-134行:

    % plot spokes
    th = (1 : 6) * 2 * pi / 12;
    cst = sin(th);
    snt = cos(th);
    cs = [-cst; cst];
    sn = [-snt; snt];

第180-181行:

    % transform data to Cartesian coordinates.
    xx = rho .* sin(theta);
    yy = rho .* cos(theta);

你需要交换正弦和余弦两次。我认为这样就可以了...

抱歉,也许我没有表达清楚。我知道如何补偿不同的坐标系。 :-) 我想要的是改变 MATLAB 使用的实际基础极坐标图。即使我做你所做的,MATLAB 也不会显示我想要的内容。 - Spacey
Russ,没有提供代码。如果你只是简单地执行polar(theta,rho),那么你会得到一个图形,其中0在右手边,角度逆时针增加。我不想要这个。我希望极坐标系统从北方开始为0,角度顺时针增加。 - Spacey
1
Russ,我只接受另一个答案,因为它更简单,但还是非常感谢你的帖子,我也从中学到了东西。 :-) - Spacey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接