流线不在MATLAB中显示

时间:2016-07-25 09:04:38

标签: matlab plot matlab-figure

我试图在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];

1 个答案:

答案 0 :(得分:2)

您提供的范围不正确,因为当您的数据包含<的值时,您希望在 1 5 的范围内绘制 x em> x 的范围从 0 0.5

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

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

result

要了解您可以设置起点的位置,可以使用quiver。然后,您会看到表示数据集中已定义点的速度的箭头。根据具体情况,您可以决定使用哪个起点。

quiver(x,y,vx,vy);

quiver-plot