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];
您提供的范围不正确,因为您想在 1 到 5[ 的范围内绘制 x =35=] 当您的数据包含 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);
我正在尝试按照 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 到 5[ 的范围内绘制 x =35=] 当您的数据包含 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);