Homeグラフ › (20) quiverでベクトル場を描く

(20) quiverでベクトル場を描く

始点(x,y)=(1,2)から、XY方向成分(3,2)のベクトルと、
始点(x,y)=(3,5)から、XY方向成分(-1,-4)のベクトルを quiver で描いてみる。

(1)まずは1本ずつ描く場合

octave:1> quiver(1,2,3,2)
octave:2> hold on
octave:3> quiver(3,5,-1,-4)
octave:4> hold off

https://octave.dogrow.net/wp-content/uploads/2013/08/20130828_02_001.jpg

(2)2本のベクトルを行列でまとめて記述する場合

octave:5> v=[1 2 3 2;3 5 -1 -4]
v =
   1   2   3   2
   3   5  -1  -4

octave:6> quiver(v(:,1),v(:,2),v(:,3),v(:,4))

https://octave.dogrow.net/wp-content/uploads/2013/08/20130828_02_002.jpg
両ベクトルの始点は上記(1)と同じだが、上記(1)とはベクトルの長さが異なる…
なぜか?

これは、quiver 内部でベクトル同士が重なり合わないように線の長さ(=scale)を自動調整してくれているから
quiverの第5パラメーターでこのscaleを指定可能。

例えば、両ベクトルの長さを自動調整した長さの30%(scale=0.3)に縮めてみる。

octave:7> quiver(v(:,1),v(:,2),v(:,3),v(:,4),0.3)

https://octave.dogrow.net/wp-content/uploads/2013/08/20130828_02_003.jpg

自動調整をやめさせたい場合は scale=0 を指定すればよい。

octave:8> quiver(v(:,1),v(:,2),v(:,3),v(:,4),0)

https://octave.dogrow.net/wp-content/uploads/2013/08/20130828_02_001.jpg
これで上記(1)と同じように表示された。

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>