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

在這裏插入圖片描述

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