Octaveやってみる!

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

5,028 views

この記事は最終更新から 2190日 が経過しています。

始点(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

(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))


両ベクトルの始点は上記(1)と同じだが、上記(1)とはベクトルの長さが異なる…
なぜか?

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

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

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

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

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


これで上記(1)と同じように表示された。


アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済
  • 2025-10-25: 2回
  • 2025-10-24: 3回
  • 2025-10-23: 0回
  • 2025-10-22: 0回
  • 2025-10-21: 0回
  • 2025-10-20: 0回
  • 2025-10-19: 0回
  • モバイルバージョンを終了