MATLAB中quiver函数用法

这篇具有很好参考价值的文章主要介绍了MATLAB中quiver函数用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

语法

说明

示例

创建箭头图

禁用自动缩放

绘制梯度和等高线

指定箭头颜色

指定箭头图的坐标区

在创建后修改箭头图


        quiver函数的功能是绘制箭头图或向量图。

语法

quiver(X,Y,U,V)
quiver(U,V)
quiver(___,scale)
quiver(___,LineSpec)
quiver(___,LineSpec,'filled')
quiver(___,Name,Value)
quiver(ax,___)
q = quiver(___)

说明

quiver(X,Y,U,V) 在由 X 和 Y 指定的笛卡尔坐标上绘制具有定向分量 U 和 V 的箭头。例如,第一个箭头源于点 X(1) 和 Y(1),按 U(1) 水平延伸,按 V(1) 垂直延伸。默认情况下,quiver 函数缩放箭头长度,使其不重叠。

quiver(U,V) 在等距点上绘制箭头,箭头的定向分量由 U 和 V 指定。

  • 如果 U 和 V 是向量,则箭头的 x 坐标范围是从 1 到 U 和 V 中的元素数,并且 y 坐标均为 1。

  • 如果 U 和 V 是矩阵,则箭头的 x 坐标范围是从 1 到 U 和 V 中的列数,箭头的 y 坐标范围是从 1 到 U 和 V 中的行数。

quiver(___,scale) 调整箭头的长度:

  • 当 scale 为正数时,quiver 函数会自动调整箭头的长度,使其不重叠,然后将箭头长度拉伸 scale 倍。例如,scale 为 2 会使箭头长度加倍,scale 为 0.5 会使箭头长度减半。

  • 当 scale 为 'off' 或 0 时,如 quiver(X,Y,U,V,'off'),则禁用自动缩放。

quiver(___,LineSpec) 设置线型、标记和颜色。标记出现在由 X 和 Y 指定的点上。如果使用 LineSpec 指定标记,则 quiver 不显示箭尖。要指定标记并显示箭尖,请改为设置 Marker 属性。

quiver(___,LineSpec,'filled') 填充由 LineSpec 指定的标记。

quiver(___,Name,Value) 使用一个或多个名称-值对组参数指定箭头图属性。有关属性列表,请参阅 Quiver 属性。在所有其他输入参数之后指定名称-值对组参数。名称-值对组参数应用于箭头图中的所有箭头。

quiver(ax,___) 在 ax 指定的坐标区中而不是当前坐标区 (gca) 中创建箭头图。参数 ax 可以置于前面的语法中的任何输入参数组合之前。

q = quiver(___) 返回 Quiver 对象。此对象对于在创建箭头图后控制其属性非常有用。

示例

创建箭头图

        加载表示北美上空气流的采样数据。对于此示例,选择该数据的子集。

load('wind','x','y','u','v')
X = x(11:22,11:22,1);
Y = y(11:22,11:22,1);
U = u(11:22,11:22,1);
V = v(11:22,11:22,1);

        创建所选子集的箭头图。向量 X 和 Y 表示每个箭头的起始点位置,U 和 V 表示每个箭头的定向分量。默认情况下,quiver 函数会缩短箭头,使其不重叠。调用 axis equal 以沿每个轴使用相等的数据单位长度。这会使箭头指向正确的方向。

quiver(X,Y,U,V)
axis equal

        如图所示:

MATLAB中quiver函数用法

禁用自动缩放

        默认情况下,quiver 函数会缩短箭头长度,使其不重叠。将 scale 参数设置为 0 可禁用自动缩放,从而完全由 U 和 V 来确定箭头长度。

        例如,使用 meshgrid 函数创建一个由 X 和 Y 值组成的网格。使用这些值指定定向分量。然后,创建一个没有自动缩放的箭头图。

[X,Y] = meshgrid(0:6,0:6);
U = 0.25*X;
V = 0.5*Y;
quiver(X,Y,U,V,0)

        如图所示:

MATLAB中quiver函数用法

绘制梯度和等高线

        绘制函数 z=xe−x2−y2 的梯度和等高线。使用 quiver 函数绘制梯度,使用 contour 函数绘制等高线。

        首先,创建一个由等间距的 x 和 y 值组成的网格。使用它们来计算 z。然后,通过指定点之间的间距,求得 z 的梯度。

spacing = 0.2;
[X,Y] = meshgrid(-2:spacing:2);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z,spacing);

        将梯度向量显示为一个箭头图。然后,在相同的坐标区中显示等高线。通过调用 axis equal,调整显示以使梯度向量垂直于等高线。

quiver(X,Y,DX,DY)
hold on
contour(X,Y,Z)
axis equal
hold off

        如图所示:

MATLAB中quiver函数用法

指定箭头颜色

        创建一个箭头图,并指定箭头的颜色。

[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi);
U = sin(Y);
V = cos(X);
quiver(X,Y,U,V,'r')

        如图所示:

MATLAB中quiver函数用法

指定箭头图的坐标区

        创建一个由 X 和 Y 值以及两组 U 和 V 定向分量组成的网格。

[X,Y] = meshgrid(0:pi/8:pi,-pi:pi/8:pi);
U1 = sin(X);
V1 = cos(Y);
U2 = sin(Y);
V2 = cos(X); 

        创建一个具有两个坐标区 ax1 和 ax2 的分块布局图。想每个坐标区添加一个箭头图和标题。(在 R2019b 之前,使用 subplot 而不是 tiledlayout 和 nexttile。)

tiledlayout(1,2)

ax1 = nexttile;
quiver(ax1,X,Y,U1,V1)
axis equal
title(ax1,'Left Plot')

ax2 = nexttile;
quiver(ax2,X,Y,U2,V2)
axis equal
title(ax2,'Right Plot')

        如图所示:

MATLAB中quiver函数用法

在创建后修改箭头图

        创建一个箭头图并返回箭头图对象。然后,删除箭尖并在每个箭尖的起始点添加点标记。

[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi);
U = sin(Y);
V = cos(X);

q = quiver(X,Y,U,V);
q.ShowArrowHead = 'off';
q.Marker = '.';

        如图所示:

MATLAB中quiver函数用法

  X — 箭头起始点的 x 坐标,Y — 箭头起始点的 y 坐标,U — x 分量,V — y 分量,LineSpec — 线型、标记和颜色,scale — 箭头缩放因子,ax — 目标坐标区。

提示
        要使用极坐标创建箭头图,请首先使用 pol2cart 函数将其转换为笛卡尔坐标。​​​​​​​        文章来源地址https://www.toymoban.com/news/detail-480715.html

到了这里,关于MATLAB中quiver函数用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • C++ 默认参数与引用传递:语法、用法及示例

    在 C++ 中,函数参数可以拥有默认值。这意味着,在调用函数时,如果省略了某个参数,那么将使用为该参数指定的默认值。 默认参数值使用等号 = 符号进行设置,位于参数声明的类型之后。例如: 在这个例子中, country 是一个参数,它的默认值为 \\\"Norway\\\" 。这意味着,如果

    2024年04月15日
    浏览(7)
  • 【docker常用命令系列】Docker Build语法用法示例详解

    Docker Build是Docker提供的一个命令,用于根据Dockerfile构建自定义的镜像。通过Docker Build,可以将应用程序、环境和依赖项打包到一个可移植的容器中,使得应用在不同环境下都能以相同的方式运行。 docker build [OPTIONS] PATH | URL | - 是 docker build 命令的语法说明。下面解释每个部分

    2024年04月14日
    浏览(10)
  • PyTorch中view()函数用法说明

    首先,view( ) 是对 PyTorch 中的 Tensor 操作的,若非 Tensor 类型,可使用 data = torch.tensor(data)来进行转换。 (1) 作用:该函数返回一个有相同数据但不同维度大小的 Tensor。也就是说该函数的功能是改变矩阵维度,相当于 Numpy 中的 resize() 或者 Tensorflow 中的 reshape() 。 (2) 参数:view

    2024年04月09日
    浏览(10)
  • Matlab中switch语句的用法及示例

    Matlab中switch语句的用法及示例 在Matlab中,switch语句是一种用于根据不同情况执行不同代码块的控制结构。它可以用于替代多个if-else语句,使代码更加简洁和可读性更高。本文将详细介绍Matlab中switch语句的用法,并提供一些示例代码来说明其工作原理。 switch语句的基本语法如

    2024年02月07日
    浏览(8)
  • Spark SQL示例用法所有函数示例权威详解一【建议收藏】

    Spark中所有功能的入口点是 SparkSession 类。要创建一个基本的 SparkSession ,只需使用 SparkSession.builder() : 完整示例代码可在Spark存储库的“examples/src/main/scala/org/apache/spark/examples/sql/SparkSQLExample.scala”中找到。 在Spark 2.0中, SparkSession 提供了 对Hive功能的内置支持 ,包括 使用Hi

    2024年02月05日
    浏览(10)
  • Python中的vars()函数用法及示例

    在Python中, vars() 是一个 内置函数 ,用于返回对象的属性和属性值的字典形式。 具体而言, vars() 函数可以接受一个对象作为参数,然后返回该对象的属性和属性值组成的字典。如果没有传递参数给 vars() 函数,则默认返回当前作用域的局部变量的字典。 以下是 vars() 函数的

    2024年01月16日
    浏览(11)
  • 【MySQL】MySQL的IFNULL()、ISNULL()、NULLIF()函数用法说明

    MySQL IFNULL 函数是 MySQL 控制流函数之一。 它有两个参数,第一个参数不为 NULL 时返回。 否则,IFNULL 函数返回第二个参数。 这两个参数可以是文字值或表达式。 如果 expression1 不为 NULL,则 IFNULL 函数返回 expression1 ,否则返回 expression2 。 MySQL ISNULL() 函数用于检查表达式 是否为

    2024年02月12日
    浏览(9)
  • 【移动端网页布局】flex 弹性布局子项目属性 ① ( flex 属性用法说明 | 代码示例 : 占有剩余布局 / 平均分成若干等份 )

    【移动端网页布局】flex 弹性布局子项目属性 ① ( flex 属性用法说明 | 代码示例 : 占有剩余布局 / 平均分成若干等份 )

    flex 子项目 的常用属性 : flex 属性 : flex 子项目 在 flex 父容器 中 占有的 份数比例 , 如果都设置 1 , 那么将对应尺寸平分即可 ; align-self 属性 : 控制 flex 子项目 在 侧轴 的排列方式 ; order 属性 : 控制 flex 子项目 的排列顺序 ; 主要是修改前后顺序 , 原来是 1 - 2 - 3 排列顺序 , 可以

    2024年02月09日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包