本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

streamslice

在切片平面中绘制流线图

语法

streamslice(X,Y,Z,U,V,W,startx,starty,startz)
streamslice(U,V,W,startx,starty,startz)
streamslice(X,Y,U,V)
streamslice(U,V)
streamslice(...,density)
streamslice(...,'arrowsmode')
streamslice(...,'method')
streamslice(axes_handle,...)
h = streamslice(...)
[vertices arrowvertices] = streamslice(...)

说明

streamslice(X,Y,Z,U,V,W,startx,starty,startz) 在与轴对齐的 xyz 平面中根据向量数据 UVW 绘制间隔合适的流线图(具有方向箭头),流线图以向量 startxstartystartz 中的点为起始点。

数组 XYZ 用于定义 UVW 的坐标,它们必须是单调的,无需间距均匀。XYZ 必须具有相同数量的元素,就像由 meshgrid 生成一样。UVW 必须是 m×n×p 三维体数组。

不要假定流动情况与切片平面平行。例如,在常量值 z 位置的流切片中,当计算该平面的流线图时,向量场 Wz 分量将被忽略。

流切片可用于确定开始绘制流线图、流管和流带的位置。

streamslice(U,V,W,startx,starty,startz) 假定 XYZ 由以下表达式确定

[X,Y,Z] = meshgrid(1:n,1:m,1:p)

其中 [m,n,p] = size(U)

streamslice(X,Y,U,V) 根据向量三维体数据 UV 绘制间距合适的流线图(带方向箭头)。

数组 XY 用于定义 UV 的坐标,它们必须是单调的,无需间距均匀。XY 必须具有相同数量的元素,就像由 meshgrid 生成一样。

streamslice(U,V) 假定 XYZ 由以下表达式确定

[X,Y,Z] = meshgrid(1:n,1:m,1:p)

其中 [m,n,p] = size(U)

streamslice(...,density) 修改流线图的自动间距设置。density 必须大于 0。默认值是 1;值越大在每个平面上生成的流线图越多。例如,2 生成大约两倍的流线图,而 0.5 生成大约一半的流线图。

streamslice(...,'arrowsmode') 确定是否具有方向箭头。arrowmode 可以是

  • arrows - 在流线图上绘制指向箭头(默认值)。

  • noarrows - 不绘制指向箭头。

streamslice(...,'method') 指定要使用的插值方法。method 可以是

  • linear - 线性插值(默认值)

  • cubic - 三次插值

  • nearest - 最近邻点插值

有关插值方法的详细信息,请参阅 interp3

streamslice(axes_handle,...) 将图形绘制到句柄为 axes_handle 的坐标区对象中,而不是当前坐标区对象 (gca) 中。

h = streamslice(...) 返回所创建的线条对象的句柄向量。

[vertices arrowvertices] = streamslice(...) 返回用于绘制流线图和箭头的两个顶点元胞数组。您可以将这些值传递给任何流线图绘制函数(streamlinestreamribbonstreamtube)。

示例

全部折叠

加载 wind 数据集,这会加载三维数组 uvwxyz。绘制沿 z = 5 的切片平面的流线图。

load wind
streamslice(x,y,z,u,v,w,[],[],5)
axis tight

扩展功能

在 R2006a 之前推出