ベクトル場を描く

Masahiro Mizutani
2012 Oct 5

調和振動子

バネ常数 k=(ω^2) の変位 x が満たす方程式
(d/dt)(({{x}, {y}}))=(({{y}, {-(ω^2) x}}))
が定義するベクトル場 (y,(ω^2) x) を描く

field[x_,y_]={y, -0.5 x}

VectorPlot[field[x,y],{x,-3,3},{y,-3,3}]

StreamPlot[field[x,y],{x,-3,3},{y,-3,3}]

単振動

長さL,重力 g ((ω^2)=g/L)のもとで運動する振り子の垂線からの角度 x  が満たす方程式
(d/dt)(({{x}, {y}}))=(({{y}, {-(ω^2) sin x}}))
が定義するベクトル場 (y,(ω^2)sin x) を描く

field[x_,y_]={y, -0.5 Sin[x]}

VectorPlot[field[x,y],{x,-3,3},{y,-3,3}]

StreamPlot[field[x,y],{x,-3,3},{y,-3,3}]

Lotka-Volterra方程式

被食者 x と捕食者 y が満たす方程式。被食者については被食者の自然増（x）と捕食者にほる減少（-xy）、捕食者については、共食い（-y）と被食者を食べて増加（xy）。
(d/dt)(({{x}, {y}}))=(({{x - xy}, {-y + xy}}))
が定義するベクトル場 (x - xy, -y+ xy) を描く

field[x_,y_]={x - x y, -y+ x y}

VectorPlot[field[x,y],{x,-3,5},{y,-3,5}]

StreamPlot[field[x,y],{x,-3,5},{y,-3,5}]

特殊なセパラトリックスをもつ

(d/dt)(({{x}, {y}}))=(({{y}, {x-(x^3)}}))

field[x_,y_]={y, x-(x^3)}

StreamPlot[field[x,y],{x,-1.8,1.8},{y,-1,1}]

van del Pol方程式

(d/dt)(({{x}, {y}}))=(({{y }, {εy(1-(x^2))-x}}))
原点の線形化の固有値 (Subscript[λ, ±])=(1/2)(ε±(Sqrt[(ε^2)-4]))から、|ε|<2で極限周期軌道を持つ
原点は -2≤ε<0で渦状沈点、0<ε⩽2で渦状源点。

ε > 0 で原点は不安定となり安定な極限周期軌道

StreamPlot[{y,y(1-(x^2))-x},{x,-3,3},{y,-3,3}]

ε <0 で原点は安定となり安定な極限周期軌道

StreamPlot[{y,-y(1-(x^2))-x},{x,-3,3},{y,-3,3}]

ε < 0 で安定な極限周期軌道が現れる

StreamPlot[{y, - y(1-(x^2))-x},{x,-4,4},{y,-4,4}]

Lorenz方程式

(d/dt)(({{x}, {y}, {z}}))=(({{-σx+σy}, {R x - y -x z}, {-b z + x y}}))
σ=10, b=(8/3),Rをパラメータ.

field[x_,y_,Z_,R_]={-10x+10y,R x - y -x ,-8/3 z + x y}

VectorPlot3D[field[x,y,z,28],{x,-40,40},{y,-40,40},{z,-40,40}]

Lorenz=NDSolve[{x'[t]==-10 x[t]+10 y[t],y'[t]==28.0 x[t]-y[t] -x[t] z[t],z'[t]==-8/3  z[t]+x[t] y[t],
x[0]==z[0]==0.0,y[0]==1.0},{x,y,z},{t,0,100},MaxSteps->∞]

ParametricPlot3D[Evaluate[{x[t],y[t],z[t]}/.Lorenz],{t,0,10}]