今天,给各位带来Matlab中可以将向量数组绘制为流线图的函数streamline。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)
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1893.html