quiver是matlab中绘制二维矢量场的
函数,使用该函数可以将
矢量用二维箭头绘制出来。
函数简介
函数功能
使用箭头绘制
矢量图。例如,该函数可用于绘制梯度图。
语法格式
quiver(x,y,u,v)
该函数使用箭头来直观的显示
矢量场。该调用格式表示通过在(x, y)指定的位置绘制小箭头来表示以该点为起点的向量(u,v)。
x、y、u、v的行数、列数必须对应相等。即x、y、u、v必须是同型矩阵。
需要注意的是,如果x、y不是矩阵,MATLAB会调用meshgrid函数将其扩展。然后再调用quiver函数。在这种情况下,x中元素的个数必须等于u、v的列数,y中元素个数必须等于u、v的行数(否则使用meshgrid扩展后无法满足x、y、u、v是同型矩阵,具体参见meshgrid函数)。
quiver(u,v)
在x-y面上绘制向量(u,v),由于没有指定向量的起点,所以,matlab将在x-y面上均匀的取若干个点作为起点。
quiver(...,scale)
自动缩放箭头大小以使它适合网格的大小,然后根据scale因子拉伸这些箭头。例如,scale = 2则使箭头的相对长度增大为原来的2倍,scale = 0.5则使箭头的长度缩短一半。scale = 0则关闭箭头大小的自动缩放。也可以在
箭头绘制完成后, 点击图形窗口
工具栏中的箭头按钮打开Plot Edit工具, 使用鼠标选择绘图窗口中的箭头对象, 右键
快捷菜单打开对象的属性
编辑器, 进而调整
箭头长度、线型等。
quiver(...,LineSpec)
其中LineSpec参数指定了线型、标志样式、颜色。quiver函数会把指定标志绘制在向量的起点。
quiver(...,LineSpec,'filled')
使用LineSpec指定的标志进行填充。
quiver(axes_handle,...)
h = quiver(...)
相关函数:contour,LineSpec, plot, quiver3
程序示例
示例一,不指定向量的起点,matlab在x-y平面内均匀的取若干个点作为起点。
u = [1 1 1; 1 1 1];
v = u;
quiver(u, v);
示例二,指定起点为(0, 0)
>> x = [0 0 0 0];
>> y = x;
>> u = [1 0 -1 0];
>> v = [0 1 0 -1];
>> quiver(x, y, u, v);