首页 > 解决方案 > Matlab:在箭袋图中绘制流线

问题描述

在 Matlab 中,我想在箭袋图中画一条流线。也就是说,我从

quiver(X,Y,u,v)

其中 X、Y、u、v 的大小为 198 x 1。

现在,我想从 X(1) 和 Y(1) 开始画一条流线,即我写了

hold on;
streamline(X,Y,u,v,X(1),Y(1))

但这不起作用。我收到错误消息

Error using stream2 (line 46)
U,V must all be size 2x2 or greater.
Error in streamline (line 62)
      verts = stream2(x,y,u,v,sx,sy,options);

Error in computation (line 261)
streamline(X,Y,u,v,X(1),Y(1))

你能帮我么?

标签: matlab

解决方案


streamline 期望完整矢量场的数据,并期望进行一些插值以在该场内绘制任意流线。请参阅文档

如果您只想绘制一条遵循 X 和 Y 中给出的点的单一流线,您可以使用 plot 或 line 来创建它。

如果 X 和 Y 只是分散在您拥有数据的域中的点,则需要将其重组为流线期望的格式(meshgrid 的输出)。您可以使用scatterinterpolant 从您的分散数据中得到


推荐阅读