MATLAB 中未显示流线

Streamlines not being displayed in MATLAB

我正在尝试按照 documentation 绘制流线图。我的数据采用 meshgrid 格式,如此处所述。

然而,当我尝试使用 streamline(x,y,vx,vy) 绘制它时,我得到的只是一个从 0 到 1 的空数字。当我添加起点时,它仍然是空白streamline(x,y,vx,vy, 1:5,0*(1:5))

绘制流线图我缺少什么?

这是我的数据:

x =  [0         0.0125    0.0250    0.0375    0.0500,
      0         0.0125    0.0250    0.0375    0.0500,
      0         0.0125    0.0250    0.0375    0.0500,
      0         0.0125    0.0250    0.0375    0.0500,
      0         0.0125    0.0250    0.0375    0.0500];

y =  [0         0         0         0         0,
      0.0125    0.0125    0.0125    0.0125    0.0125,
      0.0250    0.0250    0.0250    0.0250    0.0250,
      0.0375    0.0375    0.0375    0.0375    0.0375,
      0.0500    0.0500    0.0500    0.0500    0.0500];

vx = [0.0009   -0.0019   -0.0058   -0.0040   -0.0028,
      0.0012    0.0159    0.1207    0.1465    0.0985,
      0.0007    0.0018   -0.0367    0.2432   -0.0053,
      0.0004    0.0920    0.1796    0.3807    0.0338,
     -0.0006    0.1708    0.1764    0.2567    0.1256];

vy = [0.0002    0.0000   -0.0001   -0.0001   -0.0001,
     -0.0003   -0.0156   -0.0076   -0.0251   -0.0433,
     -0.0008   -0.0113   -0.0218   -0.0519   -0.0720,
     -0.0006   -0.0091   -0.0326   -0.0778   -0.1087,
     -0.0003   -0.0026   -0.0025   -0.0416   -0.1048];

您提供的范围不正确,因为您想在 15[ 的范围内绘制 x =35=] 当您的数据包含 x 的值,范围从 00.5.

如果您将起点设置得更合理,您将获得预期的流线。例如,我们可以使用 x = 0.015y = 0.01 ... 0.05,如下例所示:

streamline(x,y,vx,vy, ones(1,5)*0.015, 0.01:0.01:0.05);


要了解可以在哪里设置起点,可以使用 quiver。然后您会看到代表数据集中定义点处速度的箭头。根据这一点,您可以决定使用哪些起点。

quiver(x,y,vx,vy);