我试图在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];
答案 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);
要了解您可以设置起点的位置,可以使用quiver
。然后,您会看到表示数据集中已定义点的速度的箭头。根据具体情况,您可以决定使用哪个起点。
quiver(x,y,vx,vy);