MATLAB基本操作(九):可视化矩阵的矢量场quiver函数

来源:互联网 发布:全球营销网络分布图 编辑:程序博客网 时间:2024/04/30 06:23
矩阵的矢量化显示
Last Edit 2014/3/5
这里所说的矢量化显示是指为矩阵中的每一个点标注出该点的运动方向,或者其他矢量。如下图所示


下同通过一个基本的例子来说明一个大致的过程
假设有一个矩阵A=[1 2 3 ;4 5 6],在每一个处沿水平方向的速度为u=[1 1 1;1 1 1],沿垂直方向的速度为v=[1 0 1;0 1 0];
首先要做的就是确定一个矩阵坐标,这样就可以将u,v分别对应到这个坐标点上去。我们可以用两个矩阵来表示,一个矩阵代表横坐标,一个矩阵代表纵坐标,两个矩阵一一对应就可以确定出一个坐标点的位置了。那么怎么样才能生成这样的矩阵呢。
以上面的矩阵A为例,其横坐标x[1 1 1;2 2 2],纵坐标y=[1 2 3;1 2 3],这样两个矩阵就可以表示出A中各个的坐标了。对于简单的矩阵,可以直接写出,对于复杂的就没那么容易了。可以利用matlab提供的meshgrid函数,为我们自动生成。


>> A=[1 2 3;4 5 6];>> [height,width]=size(A);>> [y,x]=meshgrid(1:width,1:height)y =     1     2     3     1     2     3x =     1     1     1     2     2     2>> u=[1 1 1;1 1 1];>> v=[1 0 1;0 1 0];>> quiver(x,y,u,v)>> grid




0 0