相关文章推荐

streamslice

在切片平面中绘制流线图

  • Cartesian grid with plotted lines and arrows

说明

示例

streamslice( X , Y , Z , U , V , W , xslice , yslice , zslice ) 根据三维向量数据 U V W 绘制自动确定间距的流线图。指定 X Y Z 作为坐标数据。将 xslice yslice zslice 指定为与特定轴正交的切片位置。

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

示例

streamslice( X , Y , U , V ) 根据二维向量数据 U V 绘制自动确定间距的流线图。指定 X Y 作为坐标数据。

示例

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

示例

streamslice( ___ , arrowsmode ) (其中 arrowsmode 'noarrows' )不绘制方向箭头。 arrowsmode 的默认值为 'arrows' ,表示绘制方向箭头。此选项可与先前语法中的任何输入参数一起使用。

示例

streamslice( ___ , density ) 修改流线图的自动间距,其中 density 是正标量。默认值为 1 。值越大,在每个平面上生成的流线图越多。例如,默认情况下, 2 生成大约两倍的流线图,而 0.5 生成大约一半的流线图。

streamslice( ___ , method ) 指定插值方法,其中方法可以是 'linear' 'cubic' 'nearest'

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

示例

lineobj = streamslice( ___ ) 返回创建的 Line 对象。

示例

[ verts , averts ] = streamslice( ___ ) 以元胞数组形式返回用于绘制流线图和箭头的顶点。此语法不绘制流线图。

示例

全部折叠

加载 wind 数据集,该数据集加载三维数组 u v w x y z ,表示北美地区的气流。绘制沿 z = 5 的切片平面的流线图。

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

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

加载 wind 数据集,并沿切片平面(其中 z = 5 )绘制不带方向箭头的流线图。

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

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

加载 wind 数据集,并沿切片平面(其中 z = 5 )绘制流线图。使用 density 2 绘制大约两倍于默认值的流线图。

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

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

加载 wind 数据集并计算沿切片平面(其中 z = 1 、5 和 10)的流线图的顶点。

load wind
[verts, ~] = streamslice(x,y,z,u,v,w,[],[],[1,5,10]);

将这些顶点传递给 streamtube 以将线条可视化为管图。

streamtube(verts,1)
view(3)
axis tight
shading interp
camlight
lighting gouraud

Figure contains an axes object. The axes object contains 161 objects of type surface.

绘制流线图并将返回的 Line 对象存储在 l 中。

[x,y] = meshgrid(-10:10);
u = 2.*x.*y;
v = y.^2 - x.^2;
l = streamslice(x,y,u,v);
axis tight

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

将流线图的线宽设置为 2。将其颜色设置为红色。使用 set 函数可以同时更改所有流线图的属性。

set(l,'LineWidth',2)
set(l,'Color','r');

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

首先,创建一个曲面图。

z = peaks;
surf(z);
shading interp;

Figure contains an axes object. The axes object contains an object of type surface.

计算 z 的二维梯度。使用 x y 分量作为 streamslice 的向量数据输入。将流线图的颜色设置为黑色。

[u,v] = gradient(z);
l = streamslice(u,v);
set(l,'Color','k');

Figure contains an axes object. The axes object contains 153 objects of type surface, line.

z 轴上的流线图进行位移,使它们绘制在曲线的曲面上。

for i=1:length(l)
    zi = interp2(z,l(i).XData, l(i).YData);
    l(i).ZData = zi;
end

Figure contains an axes object. The axes object contains 153 objects of type surface, line.

输入参数

全部折叠

x 轴坐标数据,指定为二维或三维数组。它必须为单调的,但不需要等距。

X Y Z U V W 的大小必须相同。

您可以使用 meshgrid 函数创建 X Y Z 矩阵。

y 轴坐标数据,指定为二维或三维数组。它必须为单调的,但不需要等距。

X Y Z U V W 的大小必须相同。

您可以使用 meshgrid 函数创建 X Y Z 矩阵。

z 轴坐标数据,指定为三维数组。它必须为单调的,但不需要等距。

X Y Z U V W 的大小必须相同。

您可以使用 meshgrid 函数创建 X Y Z 矩阵。

向量数据的 x 分量,指定为二维或三维数组。

X Y Z U V W 的大小必须相同。

向量数据的 y 分量,指定为二维或三维数组。

X Y Z U V W 的大小必须相同。

向量数据的 z 分量,指定为三维数组。

X Y Z U V W 的大小必须相同。

x 轴切片值,以下列形式之一指定:

  • 标量 - 在指定位置绘制一个与 x 轴正交的切片平面。

  • 向量 - 在指定位置绘制多个与 x 轴正交的切片平面。

  • [] - 不绘制任何切片平面。

y 轴切片值,以下列形式之一指定:

  • 标量 - 在指定位置绘制一个与 y 轴正交的切片平面。

  • 向量 - 在指定位置绘制多个与 y 轴正交的切片平面。

  • [] - 不绘制任何切片平面。

z 轴切片值,以下列形式之一指定:

  • 标量 - 在指定位置绘制一个与 z 轴正交的切片平面。

  • 向量 - 在指定位置绘制多个与 z 轴正交的切片平面。

  • [] - 不绘制任何切片平面。

流线图的密度,指定为正标量。

默认值为 1 。值越大,在每个平面上生成的流线图越多。例如,默认情况下, 2 生成大约两倍的流线图,而 0.5 生成大约一半的流线图。

箭头显示模式,指定为下列值之一:

  • 'arrows' - 在流线图上绘制方向箭头。

  • 'noarrows' - 不在流线图上绘制方向箭头。

插值方法,指定为下列值之一:

  • 'linear' - 在每个维度的相邻网格点进行线性插值。

  • 'cubic' - 在每个维度的相邻网格点进行三次插值。

  • 'nearest' - 最近的网格点值。

目标坐标区,指定为 Axes 对象。如果未指定坐标区,则 streamslice 在当前坐标区中绘图。

输出参数

全部折叠

流线图和方向箭头的 Line 对象,以数组形式返回。

流线图的顶点,以元胞数组形式返回。元胞数组的每个元素均为一个线条的顶点矩阵。

您可以将这些值传递给任何流线图绘制函数( streamline streamribbon streamtube )。

箭头顶点,以元胞数组形式返回。元胞数组的每个元素均为一个箭头的顶点矩阵。如果 arrowsmode 'noarrows' ,则 averts 是空元胞数组。

您可以将这些值传递给 streamline

扩展功能

版本历史记录

在 R2006a 之前推出

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

MathWorks

Accelerating the pace of engineering and science

 
推荐文章