Matlab streamline将向量绘制为流线图

4.5
(4)

今天,给各位带来Matlab中可以将向量数组绘制为流线图的函数streamline。streamline函数可以将二维或三维向量数据完美的绘制成流线图,而这也属于Matlab可视化绘图中的一种。本文将主要介绍streamline函数的常见用法、语法说明、以及流线图的绘制。流线图,即由很多箭头指向组成的路径流向,一般用于表示某一瞬间气流运行状况。

Matlab streamline将向量绘制为流线图

下面,我们首先给出Matlab中关于streamline函数的帮助文档如下:

>> help streamline
 streamline  Streamlines from 2D or 3D vector data.
    streamline(X,Y,Z,U,V,W,STARTX,STARTY,STARTZ) creates streamlines
    from 3D vector data U,V,W. The arrays X,Y,Z define the coordinates for
    U,V,W and must be monotonic and 3D plaid (as if produced by MESHGRID). 
    STARTX, STARTY, and STARTZ define the starting positions of the stream
    lines.
    
    streamline(U,V,W,STARTX,STARTY,STARTZ) assumes 
          [X Y Z] = meshgrid(1:N, 1:M, 1:P) where [M,N,P]=SIZE(U). 
    
    streamline(XYZ) assumes XYZ is a precomputed cell array of vertex
        arrays (as if produced by STREAM3).
    
    streamline(X,Y,U,V,STARTX,STARTY) creates streamlines from 2D
    vector data U,V. The arrays X,Y define the coordinates for U,V and
    must be monotonic and 2D plaid (as if produced by MESHGRID). STARTX
    and STARTY define the starting positions of the streamlines. A vector
    of line handles is returned.
    
    streamline(U,V,STARTX,STARTY) assumes 
          [X Y] = meshgrid(1:N, 1:M) where [M,N]=SIZE(U). 
    
    streamline(XY) assumes XY is a precomputed cell array of vertex
        arrays (as if produced by STREAM2).
    
    streamline(AX,...) plots into AX instead of GCA.
 
    streamline(...,OPTIONS) specifies the options used in creating
    the streamlines. OPTIONS is specified as a one or two element vector
    containing the step size and maximum number of vertices in a stream
    line.  If OPTIONS is not specified the default step size is 0.1 (one
    tenth of a cell) and the default maximum number of vertices is
    10000. OPTIONS can either be [stepsize] or [stepsize maxverts].
    
    H = streamline(...) returns a vector of line handles.
 
    Example:
       load wind
       [sx sy sz] = meshgrid(80, 20:10:50, 0:5:15);
       h=streamline(x,y,z,u,v,w,sx,sy,sz);
       set(h,'Color','red');
       view(3);

常见用法

streamline(X,Y,Z,U,V,W,startx,starty,startz)
streamline(U,V,W,startx,starty,startz)
streamline(XYZ)
streamline(X,Y,U,V,startx,starty)
streamline(U,V,startx,starty)
streamline(XY)
streamline(...,options)
streamline(axes_handle,...)
h = streamline(...)

语法说明

streamline(X,Y,Z,U,V,W,startx,starty,startz) 根据三维向量数据 U、V 和 W 绘制流线图。

数组 X、Y 和 Z 用于定义 U、V 和 W 的坐标,它们必须是单调的,无需间距均匀。X、Y 和 Z 必须具有相同数量的元素,就像由 meshgrid 生成一样。

startx、starty 和 startz 定义流线图的起始位置。

streamline(U,V,W,startx,starty,startz) 假定数组 X、Y 和 Z 定义为 [X,Y,Z] = meshgrid(1:N,1:M,1:P),其中 [M,N,P] = size(U)。

streamline(XYZ) 假定 XYZ 是预先计算的顶点数组的元胞数组(由 stream3 生成)。

streamline(X,Y,U,V,startx,starty) 根据二维向量数据 U、V 绘制流线图。

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

startx 和 starty 定义流线图的起始位置。输出参数 h 包含一个线条句柄向量,每个流线图一个句柄。

streamline(U,V,startx,starty) 假定数组 X 和 Y 定义为 [X,Y] = meshgrid(1:N,1:M),其中 [M,N] = size(U)。

streamline(XY) 假定 XY 是预先计算的顶点数组的元胞数组(由 stream2 生成)。

streamline(…,options) 指定在创建流线图时使用的选项。将 options 定义为一个一元素向量或二元素向量,其中包含步长或步长和一条流线中的最大顶点数。

[stepsize]

或

[stepsize, max_number_vertices]

如果未指定值,MATLAB® 将使用默认值:

  • 步长 = 0.1(一个元胞的十分之一)
  • 最大顶点数 = 1000

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

h = streamline(…) 返回一个线条句柄向量,每个流线图一个句柄。

绘制流线图

定义数组 x、y、u 和 v。

[x,y] = meshgrid(0:0.1:1,0:0.1:1);
u = x;
v = -y;

创建数据的箭头图。绘制沿线条 y=1 上的不同点开始的流线图。

figure
quiver(x,y,u,v)

startx = 0.1:0.1:1;
starty = ones(size(startx));
streamline(x,y,u,v,startx,starty)
Matlab streamline将向量绘制为流线图

共计4人评分,平均4.5

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/1893.html

(2)
微信公众号
古哥的头像古哥管理团队
上一篇 2021年02月23日 21:24
下一篇 2021年02月24日 23:04

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号