Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

stream2

计算二维流线图数据

说明

示例

XY = stream2(X,Y,U,V,startX,startY) 以由向量场组成的二维矩阵形式返回流线图数据。输入 XY 是向量数据坐标,UV 是向量数据,而 startXstartY 是流线图的起始位置。

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

示例

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

示例

全部折叠

加载 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 数据集,其中包含北美地区的气流测量值。

  • 三维数组 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);

通过将步长从默认值 0.1 增大到 3 来降低流线图分辨率。

step = 3;

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

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

streamline 可视化向量场的二维矩阵。步长越大,流线图分辨率越低。

streamline(verts)

Figure contains an axes object. The axes object contains 4 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);

通过将步长从默认值 0.1 减小到 0.01 来提高流线图分辨率。

step = 0.01;

设置最大顶点数,以便计算完前 1000 个顶点后结束计算。

maxvert = 1000;

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

verts = stream2(x5,y5,u5,v5,startX,startY,[step maxvert]);

streamline 可视化向量场的二维矩阵。通过设置轴范围显示数据值的完整范围。计算完 1000 个顶点后,流线图结束,因此流线图会在显示完整范围的数据之前停止。

streamline(verts)
xlim([75 135])
ylim([15 65])

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

输入参数

全部折叠

向量数据的 x 轴坐标,指定为二维数组。它必须为单调的,但不需要等距。X 的大小必须与 YUV 相同。

您可以使用 meshgrid 函数创建 X

向量数据的 y 轴坐标,指定为二维数组。它必须为单调的,但不需要等距。Y 的大小必须与 XUV 相同。

您可以使用 meshgrid 函数创建 Y

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

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

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

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

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

  • step

  • [step maxvert]

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

默认步长为 0.1,默认流线图中的最大顶点数为 10,000

扩展功能

版本历史记录

在 R2006a 之前推出