環境など
Julia 1.1 に合わせて記事を更新した。
julia> versioninfo()
Julia Version 1.1.0
Commit 80516ca202 (2019-01-21 21:24 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, sandybridge)
using Plots
gr(size=(400, 400))
# gr(fmt=:png)
Plots のデフォルトでは、グラフは SVG 形式で出力される。しかし、描画点数が多くなってくると、ブラウザ(Jupyter クライアント)の表示のほうで負荷がかかってしまう。その場合は PNG 形式に変更するとよい。
座標系をつくる
ベクトル場を描く関数 quiver()
の引数は一次元配列である。それに合わせて、一次元の座標系をつくる。
xe = range(-1, 1, length=15)
ye = range(-1, 1, length=15)
x = repeat(xe, outer=length(ye))
y = repeat(ye, inner=length(xe));
julia> x
225-element Array{Float64,1}:
-1.0
-0.8571428571428571
-0.7142857142857143
...
0.8571428571428571
1.0
julia> y
225-element Array{Float64,1}:
-1.0
-1.0
-1.0
...
1.0
1.0
ベクトル場をつくる
u = y
v = x
ベクトル場を描く
見やすいように、適当な係数 k
をかけて矢印の長さを調節した。
k = 0.1
quiver(x, y, quiver=(k*u, k*v))
他の例
u = y
v = -x
もし配列が二次元だったら
配列を一次元に開いて quiver()
に渡せばよい。
quiver(x[:], y[:], quiver=(u[:], v[:]))