Main Content

streamline

基于二维或三维向量数据绘制流线图

  • Three-dimensional space with plotted streamlines

说明

示例

streamline(X,Y,Z,U,V,W,startX,startY,startZ) 返回为三维向量数据绘制的流线图。输入 XYZ 是向量数据坐标,UVW 是向量数据,而 startXstartYstartZ 是流线图的起始位置。

streamline(U,V,W,startX,startY,startZ) 使用 UVW 的默认坐标数据。UVW 中每个元素的 (x,y,z) 位置分别基于列、行和页面索引。

示例

streamline(X,Y,U,V,startX,startY) 返回为二维向量数据绘制的流线图。输入 XY 是向量数据坐标,UV 是向量数据,而 startXstartY 是流线图的起始位置。

streamline(U,V,startX,startY) 使用 UV 的默认坐标数据。UV 中每个元素的 (x,y) 位置分别基于列索引和行索引。

示例

streamline(verts) 从顶点绘制流线图,指定为顶点数组的元胞数组(由 stream2stream3streamslice 返回)。

streamline(___,options) 使用指定的选项绘制流线图,定义为一元素向量或二元素向量,其形式为 step[step maxvert],其中 step 是用于对向量数据进行插值的以数据单元表示的步长,maxvert 是流线图中顶点的最大数量。将此参数与上述语法中的任何输入参数组合一起使用。

streamline(ax,___) 在指定坐标区中而不是当前坐标区对象 (gca) 中绘制流线图。

示例

lineobj = streamline(___) 返回由一个或多个 Line 对象组成的向量。创建流线图后,使用 lineobj 修改流线图的属性。有关属性列表,请参阅 Line 属性

示例

全部折叠

加载 wind 数据集,其中包含北美地区的气流测量值。

  • 三维数组 xyz 表示气流测量值的位置。

  • 三维数组 uvw 表示三维向量场中气流的速度。

定义 16 个假想粒子的起始位置。在本例中,粒子都从 x = 80 处开始,起始 y 位置的范围是从 20 到 50,起始 z 位置的范围是从 0 到 15。

load wind
[startX,startY,startZ] = meshgrid(80,20:10:50,0:5:15);

startXstartYstartZ 中的起始位置集合处,计算放入气流中的一个假想粒子的三维流线图顶点数据。

verts = stream3(x,y,z,u,v,w,startX,startY,startZ);

streamline 可视化向量场的三维体。返回变量 lineobj 中的线条对象,以便以后可以更改其属性。

lineobj = streamline(verts);
view(3)

Figure contains an axes object. The axes object contains 16 objects of type line.

要更改特定线条的各个方面,请对返回的线条对象之一设置属性。例如,将第十个线条的颜色更改为绿色,将其粗细更改为 3

lineobj(10).Color = "g";
lineobj(10).LineWidth = 3;

Figure contains an axes object. The axes object contains 16 objects of type line.

加载 wind 数据集,其中包含北美地区的气流测量值。

  • 三维数组 xy 表示气流测量值的位置。

  • 三维数组 uv 表示三维向量场中气流的速度。

使用数组的第五页。定义四个假想粒子的起始位置。在本例中,四个起始位置是 (80, 20)、(80, 30)、(80, 40) 和 (80, 50)。

load wind
x5 = x(:,:,5);
y5 = y(:,:,5);
u5 = u(:,:,5);
v5 = v(:,:,5);
[startX,startY] = meshgrid(80,20:10:50);

stream2 计算放入气流中的假想粒子的二维流线图顶点数据。

verts = stream2(x5,y5,u5,v5,startX,startY);

通过调用 streamline 可视化二维向量场矩阵。返回变量 lineobj 中的线条对象,以便以后可以更改其属性。

lineobj = streamline(verts);

Figure contains an axes object. The axes object contains 4 objects of type line.

要更改特定线条的各个方面,请对返回的线条对象之一设置属性。例如,将第二个线条的颜色更改为品红色,将其线型更改为虚线。

lineobj(2).Color = "m";
lineobj(2).LineStyle = "--";

Figure contains an axes object. The axes object contains 4 objects of type line.

加载 wind 数据集并计算从平面 x = 80 上的等距点开始的流线图的顶点。然后,基于顶点数据绘制流线图。

load wind
[startX,startY,startZ] = meshgrid(80,20:10:50,0:5:15);
verts = stream3(x,y,z,u,v,w,startX,startY,startZ);
streamline(verts)
axis tight
view(3);

Figure contains an axes object. The axes object contains 16 objects of type line.

输入参数

全部折叠

向量数据的 x 轴坐标,指定为二维或三维数组,可以与 Y(以及可选的 Z)组合形成坐标网格。您可以使用 meshgrid 函数创建这些数组。

X 必须与 YZUVW 大小相同。

向量数据的 y 轴坐标,指定为二维或三维数组,可以与 X(以及可选的 Z)组合形成坐标网格。您可以使用 meshgrid 函数创建这些数组。

Y 必须与 XZUVW 大小相同。

向量数据的 z 轴坐标,指定为三维数组,可以与 XY 组合形成坐标网格。您可以使用 meshgrid 函数创建这些数组。

Z 必须与 XYUVW 大小相同。

向量数据的 x 分量,指定为二维或三维数组。U 的大小必须与 XYZVW 相同。

向量数据的 y 分量,指定为二维或三维数组。V 的大小必须与 XYZUW 相同。

向量数据的 z 分量,指定为三维数组。W 的大小必须与 XYZUV 相同。

x 轴流线图起始位置,指定为向量或矩阵。startX 必须为标量,或大小与 startYstartZ 相同。

y 轴流线图起始位置,指定为向量或矩阵。startY 必须为标量,或大小与 startXstartZ 相同。

z 轴流线图起始位置,指定为向量或矩阵。startZ 必须为标量,或大小与 startXstartY 相同。

流线图的顶点,指定为元胞数组(由 stream2stream3streamslice 返回)。元胞数组的每个元素均为一个线条的顶点矩阵。

流线图选项,指定为一元素向量或二元素向量,采用以下形式之一:

  • step

  • [step,maxvert]

step 是用于调整流线图分辨率和确定进行流线图速度插值的顶点位置的步长。maxvert 是在计算完成之前为流线图计算的最大顶点数。

默认步长为 0.1,默认最大顶点数为 10,000

目标坐标区,指定为 Axes 对象。如果未指定坐标区,则 streamline 函数使用当前坐标区。

扩展功能

版本历史记录

在 R2006a 之前推出