我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MATLAB中quiver函数用法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

        如图所示:

禁用自动缩放

        默认情况下,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)

        如图所示:

绘制梯度和等高线

        绘制函数 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 oncontour(X,Y,Z)axis equalhold off

        如图所示:

指定箭头颜色

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

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

        如图所示:

指定箭头图的坐标区

        创建一个由 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 equaltitle(ax1,'Left Plot')ax2 = nexttile;quiver(ax2,X,Y,U2,V2)axis equaltitle(ax2,'Right Plot')

        如图所示:

在创建后修改箭头图

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

[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 = '.';

        如图所示:

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

提示
        要使用极坐标创建箭头图,请首先使用 pol2cart 函数将其转换为笛卡尔坐标。​​​​​​​        

来源地址:https://blog.csdn.net/jk_101/article/details/128780075

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MATLAB中quiver函数用法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MATLAB中normrnd函数的使用方法

MATLAB中的normrnd函数用于生成服从正态分布的随机数。其使用方法如下:1. 语法:X = normrnd(mu, sigma) 或者 X = normrnd(mu, sigma, M, N, ...)- mu:正态分布的均值。-
2023-09-14

Matlab的imfilter函数用法

imfilter函数是Matlab中用于图像滤波的函数,其使用方法如下:im_out = imfilter(im_in, h, shape, boundary, fillval)其中,im_in是输入图像,h是滤波器,shape是输出图像的
2023-09-02

MATLAB中imfilter函数的用法是什么

imfilter函数是MATLAB中用于对图像进行滤波处理的函数。它可以使用不同的滤波算子对图像进行卷积操作,从而实现图像的模糊、边缘检测、锐化等效果。imfilter函数的基本用法如下:im_out = imfilter(im_in, h
2023-09-12

matlab中randn函数的用法是什么

randn函数是Matlab中的一个随机数生成函数,用于生成符合标准正态分布(均值为0,方差为1)的随机数。其用法为:y = randn(n),其中n为一个整数,表示需要生成的随机数的个数。函数将返回一个大小为n的行向量或列向量y,其中的每
2023-10-18

matlab中legend函数的用法是什么

在MATLAB中,legend函数用于为图形添加图例。图例是用于解释图形中不同元素的标签。该函数的语法如下:legend(string1,string2,string3,...)其中,string1、string2、string3等是用于标
2023-10-19

matlab中firls函数的用法是什么

在MATLAB中,firls函数用于设计最优线性相位滤波器。它可以根据给定的频率响应要求和窗函数类型,计算出最佳的滤波器系数。firls函数的语法如下:h = firls(n, f, a)其中,n是滤波器的阶数(必须为偶数),f是频率点的向
2023-10-18

matlab中norm函数的用法是什么

在MATLAB中,`norm`函数用于计算向量或矩阵的范数。具体使用方式为:1. 计算向量的范数:`n = norm(v, p)`,其中`v`是一个向量,`p`是指定的范数类型。常见的范数类型包括:- `p = 2`:欧几里得范数(默认值)
2023-09-22

matlab中norm函数怎么用

在MATLAB中,norm函数用于计算向量或矩阵的范数。它的用法如下:1. 计算向量的范数:norm(v, p),其中v为输入的向量,p为范数的类型。- 如果p为2,默认为欧几里德范数(二范数),即向量各元素的平方和的平方根。- 如果p为1
2023-10-10

matlab中colorbar函数怎么使用

在MATLAB中,colorbar函数用于在图像或图表上添加颜色条。使用方法如下:1. 绘制图像或图表。2. 在绘图完成后,使用colorbar函数来添加颜色条。语法如下:```colorbar```默认情况下,colorbar将在图像或图
2023-10-08

matlab中argmin函数怎么使用

在MATLAB中,argmin函数用于返回一个向量或矩阵中的最小元素的索引值。argmin函数的语法如下:index = argmin(vector)其中,vector是一个向量或矩阵,index是最小元素的索引值。需要注意的是,argmi
2023-09-12

matlab中polyder函数怎么使用

在MATLAB中,polyder函数用于计算多项式的导函数。它的使用方法如下:1. 创建一个多项式系数向量,例如:p = [2 -3 1] 表示多项式2x^2 - 3x + 1。2. 调用polyder函数并传入多项式系数向量作为输入参数,
2023-09-12

MATLAB中plot函数怎么使用

在MATLAB中,plot函数用于绘制二维图形。以下是plot函数的使用方法:1. 绘制简单的曲线:plot(y):绘制向量y的值,x轴为1:length(y)。plot(x, y):绘制向量y的值,x轴为向量x的值。2. 绘制多个曲线:p
2023-09-13

matlab中qammod函数怎么使用

在MATLAB中,可以使用qammod函数来生成QAM调制信号。该函数的基本语法如下:y = qammod(x,M)其中,x是一个向量,表示要调制的数据;M是一个整数,表示QAM调制的阶数。函数返回一个向量y,表示QAM调制后的信号。下面是
2023-09-18

matlab中freqz函数如何使用

在MATLAB中,可以使用freqz函数来计算和绘制数字滤波器的频率响应。freqz函数的基本用法如下:```matlabfreqz(b,a,n,fs)```其中,b和a是数字滤波器的系数,n是频率响应的点数,fs是采样频率。具体步骤如下:
2023-09-21

matlab中size函数如何使用

在MATLAB中,size函数用于获取矩阵的大小。size函数的使用方法如下:1. 获取矩阵的行数和列数:可以直接使用size函数,例如size(A),其中A是要获取大小的矩阵。该函数返回一个包含矩阵行数和列数的行向量。2. 获取矩阵的指定
2023-09-21

matlab中griddata函数怎么使用

griddata函数用于在非规则网格上进行插值,它可以根据已知数据点的坐标和值,计算出对应网格点的值。griddata的基本语法为:Vq = griddata(X, Y, V, Xq, Yq)其中,X和Y是已知数据点的坐标,V是对应数据点的
2023-09-25

MATLAB中print函数如何使用

今天小编给大家分享一下MATLAB中print函数如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。print函数的功能
2023-07-05

matlab中rand函数怎么使用

在MATLAB中,可以使用rand函数生成一个具有均匀分布的随机数。其语法如下:1. 生成一个随机数:x = rand2. 生成一个n行m列的随机矩阵:A = rand(n, m)需要注意的是,rand函数生成的随机数或矩阵的取值范围是[0
2023-08-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录