Main Content

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

stream3

计算三维流线图数据

说明

示例

XYZ = stream3(X,Y,Z,U,V,W,startX,startY,startZ) 以由向量场组成的二维矩阵形式返回流线图数据。输入 XYZ 是向量数据坐标,UVW 是向量数据,而 startXstartYstartZ 是流线图的起始位置。

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

示例

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

示例

全部折叠

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

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

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

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

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

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

step = 3;

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

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

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

streamline(verts)
view(3)

Figure contains an axes object. The axes object contains 16 objects of type 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);

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

step = 0.01;

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

maxvert = 1000;

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

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

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

streamline(verts)
xlim([75 135])
ylim([15 65])
zlim([0 15])
view(3)

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

输入参数

全部折叠

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

您可以使用 meshgrid 函数创建 X

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

您可以使用 meshgrid 函数创建 Y

向量数据的 z 轴坐标,指定为三维数组。它必须为单调的,但不需要等距。Z 的大小必须与 XYUVW 相同。

您可以使用 meshgrid 函数创建 Z

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

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

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

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

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

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

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

  • step

  • [step maxvert]

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

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

扩展功能

版本历史记录

在 R2006a 之前推出