【julia】ベクトル場
2020年5月20日
ベクトル場を描いてみます。
$$x_1(t+1)=A_1x_1(t)+B_1x_2(t)$$ $$x_2(t+1)=A_2x_1(t)+B_2x_2(t)$$コードは下の通り。A1の値を少しずつ変えてgifアニメを作成しています。
using Plots
import ProgressMeter
gr()
n = 100 # フレーム数
prog = ProgressMeter.Progress(n,1)
A1=1.0
B1=0.01
A2=-0.2
B2=-0.005
x_n(x1,x2,A,B)= x1 + x1*(A - B*x2)
anim = @animate for A1 in 0.1:0.1:1.2
global p =plot(xlabel="x1",ylabel="x2",xlims=(0,150),ylims=(0,150))
for i in 1:10 ,j in 1:10
global p=plot!([10*i,x_n(10*i,10*j,A1, B1)],[10*j,x_n(10*j,10*i,A2, B2)],arrow = 2, label="", linecolor = "blue", xlabel="x1",ylabel="x2",xlims=(0,150),ylims=(0,150))
end
ProgressMeter.next!(prog)
p
end
fps = 1
filename = "plot.gif"
gif(anim, filename, fps = fps)
