matlab:箭头图或速度图绘制函数quiver

matlab官方quiver介绍

速度场

在平面直角座标系中,两个点(x1,y1)(x_1,y_1)(x2,y2)(x_2,y_2)唯一地确定一个矢量或速度,现在将这个矢量平移到以(0,0)(0,0)为起点得到得两个点座标为(0,0)(0,0)(x2x1,y2y1)(x_2-x_1,y_2-y_1),令x2x1=x,y2y1=yx_2-x_1 = x , y_2-y_1 = y,则在matlab绘图时,实际上只需要给出xxyy就能画出这个矢量。

代码实例

下面的代码中,首先生成一个5*5的网格,然后统一将所有速度场调整为向右,也就是x任意正数y0

[x,y] = meshgrid(0:0.5:2,0:0.5:2);
u = [0.5 0.5 0.5 0.5 0.5]'*[0.5 0.5 0.5 0.5 0.5];
v = [0 0 0 0 0]'*[0 0 0 0 0];

figure
quiver(x,y,u,v)
grid on

得到的图形如下
在这里插入图片描述
现在要使箭头方向相反,直接在x前加负号就行

[x,y] = meshgrid(0:0.5:2,0:0.5:2);
u = -[0.5 0.5 0.5 0.5 0.5]'*[0.5 0.5 0.5 0.5 0.5];
v = [0 0 0 0 0]'*[0 0 0 0 0];

figure
quiver(x,y,u,v)
grid on

在这里插入图片描述
其他矢量方向也可以根据xy的比例调整,举个最简单的例子,将部分xy调整成一样的数值,那么非常明显,矢量的方向为斜向上45°

[x,y] = meshgrid(0:0.5:2,0:0.5:2);
u = [0.5 0.5 0.5 0.5 0.5]'*[0.5 0.5 0.5 0.5 0.5];
v = [0.5 0.5 0 0 0]'*[0.5 0.5 0 0 0];

figure
quiver(x,y,u,v)
grid on

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章