在matlab上用向量绘制坐标

Plotting coordinates with vectors on matlab

我有两个向量 xy

我想将它们都绘制为坐标,例如:(x1,y1) ; (x2,y2),每个点用一个点表示。我不知道该怎么做。

我尝试使用 meshgrid 函数,但没有成功。

如果您打算将它们绘制为来自原点的向量,MATLAB 的 plotv 函数(神经网络工具箱附带)可以让您做到这一点。

以下应该有效:

M = [x1 x2 ; ...
     y1 y2];
plotv(M)

您可以在 MATLAB plotv page 找到文档。

但是,如果您只想绘制点,则可以使用散点图。您可以使用以下内容:

X = [x1 x2];
Y = [y1 y2];
scatter(X, Y)

散点图的文档可以在 MATLAB scatter page 找到。

如果您打算绘制从 (x1, y1) 到 (x2, y2) 的向量,以下使用 MATLAB 的 quiver 函数应该会有所帮助:

quiver(x1,y1,(x2 - x1),(y2 - y1),0)

请在 this page 上查找 quiver 的文档。在我讨论的示例中,0 用于关闭自动缩放。

您可能想看看 File Exchange 上 Paul Mennen 的 plt 包裹。

这包括一个辅助函数 Pquiv(已记录 here),它允许绘制矢量。

示例图片位于 this 位置,该图的源代码作为 'demo' 文件之一提供。

这个项目的文档非常好,虽然我还在努力适应设置,但它确实有助于解决 Matlab 中的许多绘图相关问题。

作者(使用 help plt 安装后可用的电子邮件地址)也能快速回复人们提出的问题,其中一些问题也可以在 File Exchange 的评论中看到。

为什么这不起作用?

plot(x,y,'o','MarkerFaceColor','b'); axis square; hold on

最佳