Matlab 中 polar 和 polarplot 的区别
Difference between polar and polarplot in Matlab
polar(theta,r) and polarplot(theta,r)都是MATLAB中的极坐标图
前者是旧标准,后者是R2016引入的。有谁知道为什么,或者有什么区别?
我在 MATLAB 的文档页面中看不到任何重大差异,因此令我惊讶的是他们维护了两个命令而不是静默更新 polar
的代码
我无法检查新的代码,因为我这里的 MATLAB (2015a) 太旧了,但从文档来看,它似乎实际上直接在圆圈中绘制了数据点。旧的将极坐标数据转换为 xy 并在图像上绘制所有其余部分(圆圈、辐条和标签)。
这意味着旧 polar
可以用作:
r = 1:100;
theta = 1:100;
polar(theta, r)
hold on
plot(r)
这将绘制一个奇怪的螺旋线和一条从中心到右上角(在极边界之外)的线。不确定这在代码中有多常见,但我可以理解为什么 Mathworks 不想提供会破坏现有代码的 "proper" 极坐标图 - 从文档来看,上面的内容似乎无法使用新 polarplot
(最后提示:To plot additional data in the polar axes, use the hold on command. However, you cannot plot data that requires Cartesian axes in a polar chart.
)
polar(theta,r) and polarplot(theta,r)都是MATLAB中的极坐标图
前者是旧标准,后者是R2016引入的。有谁知道为什么,或者有什么区别?
我在 MATLAB 的文档页面中看不到任何重大差异,因此令我惊讶的是他们维护了两个命令而不是静默更新 polar
我无法检查新的代码,因为我这里的 MATLAB (2015a) 太旧了,但从文档来看,它似乎实际上直接在圆圈中绘制了数据点。旧的将极坐标数据转换为 xy 并在图像上绘制所有其余部分(圆圈、辐条和标签)。
这意味着旧 polar
可以用作:
r = 1:100;
theta = 1:100;
polar(theta, r)
hold on
plot(r)
这将绘制一个奇怪的螺旋线和一条从中心到右上角(在极边界之外)的线。不确定这在代码中有多常见,但我可以理解为什么 Mathworks 不想提供会破坏现有代码的 "proper" 极坐标图 - 从文档来看,上面的内容似乎无法使用新 polarplot
(最后提示:To plot additional data in the polar axes, use the hold on command. However, you cannot plot data that requires Cartesian axes in a polar chart.
)