DStabilityConditions[eqn,x[t],t]
微分方程式の不動点と安定条件を与える.
DStabilityConditions[{eqn1,eqn2,…},{x1[t],x2[t],…},t]
微分方程式系の不動点と安定条件を与える.
DStabilityConditions[{eqn1,eqn2,…},{x1[t],x2[t],…},t,{pnt1,pnt2,…}]
指定された不動点についてのみ安定条件を与える.
DStabilityConditions
DStabilityConditions[eqn,x[t],t]
微分方程式の不動点と安定条件を与える.
DStabilityConditions[{eqn1,eqn2,…},{x1[t],x2[t],…},t]
微分方程式系の不動点と安定条件を与える.
DStabilityConditions[{eqn1,eqn2,…},{x1[t],x2[t],…},t,{pnt1,pnt2,…}]
指定された不動点についてのみ安定条件を与える.
詳細とオプション
- 安定性は近似安定性として,不動点は平衡点または停留点としても知られている.
- DStabilityConditionsは,不動点近くの長期的な挙動の定性的解析によく使われる.系が安定しているなら,十分近ければ解は不動点に収束する.
- 微分方程式の系
の点
は,
のときかつそのときに限って不動点である.事実,初期値
は不動点のままで,
で初期化したなら
に留まる. - 不動点
は,
で
のときに限り,漸近的に安定している.十分小さい
について
である. - DStabilityConditionsは{{{
,
,…},cond},…} の形のリストを返す.ただし,{
,
,…}は不動点である. - 高階常微分方程式系は,高階微分に対応する変数を追加した一次常微分方程式系として扱われる.この場合,不動点はネストしたリスト{{x,x',…},{y,y',…},…}として与えられる.
- DStabilityConditionsは不動点の局所的な安定性に十分な条件を与える.線形系については,これらの条件は大域的安定性の条件でもある.
- DStabilityConditionsは線形および非線形の常微分方程式に使うことができる.
- 次は,使用できるオプションである.
-
Assumptions $Assumptions パラメータについての仮定
例題
すべて開く すべて閉じる例 (5)
DStabilityConditions[x'[t] == -2x[t], x[t], t]DStabilityConditions[x'[t] == 2x[t] + 1, x[t], t]DStabilityConditions[y'[t] == a y[t], y, t]sol = DSolveValue[{y'[t] == a y[t], y[0] == -1}, y[t], t]Table[Plot[sol, {t, 0, 4}, PlotLabel -> Row[{"a=", a}]], {a, {-1.1, 1.1}}]DStabilityConditions[{x'[t] == b x[t] + y[t], y'[t] == -2 x[t] + a y[t]}, {x, y}, t]RegionPlot[%[[1, 2]], {a, -5, 5}, {b, -5, 5}]points = DFixedPoints[y[t]^2 + 3 y'[t] + y''[t] == 2, y, t]DStabilityConditions[y[t]^2 + 3 y'[t] + y''[t] == 2, y, t, {points[[1]]}]DStabilityConditions[y[t]^2 + 3 y'[t] + y''[t] == 2, y, t, {points[[2]]}]スコープ (25)
線形方程式 (5)
DStabilityConditions[x'[t] == -3 x[t], x, t]DStabilityConditions[y'[t] == a y[t] + 5, y, t]sol = DSolveValue[{y'[t] == a y[t] + 5, y[0] == 1}, y[t], t];
Plot[sol /. a -> 0.5, {t, 0, 10}]sol = DSolveValue[{y'[t] == a y[t] + 5, y[0] == 1}, y[t], t];
Plot[sol /. a -> -0.5, {t, 0, 10}]DStabilityConditions[y''[t] + a y'[t] + b y[t] == 0, y, t]RegionPlot[%[[1, 2]], {a, -2, 2}, {b, -2, 2}, Rule[...]]DStabilityConditions[y'''[t] + a y''[t] + b y'[t] + c y[t] == 0, y, t]RegionPlot3D[%[[1, 2]], {b, -2, 2}, {c, -2, 2}, {a, -2, 2}]DStabilityConditions[y'''[x] + 5y''[x] + 3y'[x] + 6y[x] == 3, y, x]DSolve[{y'''[x] + 5y''[x] + 3y'[x] + 6y[x] == 3, y[0] == 1 / 2, y'[0] == 0, y''[0] == 0}, y[x], x]非線形方程式 (3)
DStabilityConditions[x'[t] == x[t]^2 + 3x[t], x, t]StreamPlotを使って安定性を示す:
StreamPlot[{1, x^2 + 3x}, {t, 0, 10}, {x, -4, 1}]DStabilityConditions[x'[t] == x[t]^2 - 5x[t] + 6, x, t]sol = DSolveValue[{x'[t] == x[t]^2 - 5x[t] + 6, x[0] == 5 / 2}, x[t], t]Plot[sol, {t, 0, 10}, PlotRange -> All]StreamPlotを使って
における安定性を示す:
StreamPlot[{1, x^2 - 5x + 6}, {t, 0, 10}, {x, 0, 4}]eqn = y[x]^2 + 3 y'[x] + y''[x] == 2;DSolveは,この方程式を解くことができない:
DSolve[eqn, y, x]DStabilityConditionsを使ってこの方程式の安定性を解析する:
DStabilityConditions[eqn, y, x]sys = {y'[x] == y1[x], y[x]^2 + 3 y1[x] + y1'[x] == 2};StreamPlot[{y1, 2 - y^2 - 3y1}, {y, -3, 3}, {y1, -3, 3}, ...]線形系 (12)
DStabilityConditions[{x'[t] == -x[t], y'[t] == -y[t]}, {x, y}, t]StreamPlot[{-x, -y}, {x, -3, 3}, {y, -3, 3}, ...]DStabilityConditions[{x'[t] == x[t], y'[t] == y[t]}, {x, y}, t]StreamPlot[{x, y}, {x, -3, 3}, {y, -3, 3}, ...]DStabilityConditions[{x'[t] == -x[t] - y[t], y'[t] == 2x[t] - y[t]}, {x, y}, t]StreamPlotを使って安定性を可視化する:
StreamPlot[{-x - y, 2x - y}, {x, -3, 3}, {y, -3, 3}, ...]DStabilityConditions[{x'[t] == 3x[t] - 4y[t], y'[t] == x[t] - y[t]}, {x, y}, t]StreamPlot[{3x - 4y, x - y}, {x, -3, 3}, {y, -3, 3}, Rule[...]]DStabilityConditions[{x'[t] == -y[t], y'[t] == x[t]}, {x, y}, t]StreamPlot[{-y, x}, {x, -3, 3}, {y, -3, 3}, Rule[...]]A = {{1, 2}, {-5, -1}};Eigenvalues[A]DStabilityConditions[Thread[{x'[t], y'[t]} == A.{x[t], y[t]}], {x, y}, t]StreamPlotを使って安定性を可視化する:
StreamPlot[A.{x, y}, {x, -3, 3}, {y, -3, 3}, Rule[...]]DStabilityConditions[{x'[t] == x[t] + y[t] - 2, y'[t] == x[t] - y[t]}, {x, y}, t]StreamPlot[{x + y - 2, x - y}, {x, -3, 3}, {y, -3, 3}, Rule[...]]DStabilityConditions[{x'[t] == -x[t] - y[t] - 1, y'[t] == 2x[t] - y[t] + 5}, {x, y}, t]StreamPlot[{-x - y - 1, 2x - y + 5}, {x, -3, 3}, {y, -3, 3}, Rule[...]]sol = DSolveValue[{x'[t] == -x[t] - y[t] - 1, y'[t] == 2x[t] - y[t] + 5, x[0] == 2, y[0] == 0}, {x[t], y[t]}, t]Plot[sol, {t, 0, 10}]2つの2階常微分方程式の系について,不動点はネストしたリスト{{y,y'},{z,z'}}で与えられる:
DStabilityConditions[{-z[t] - 3 y'[t] + y''[t] == 2, z''[t] == y[t] + z'[t] - z[t] - 3}, {y, z}, t]DStabilityConditions[{x'[t] == β y[t] + α, y'[t] == δ x[t] - γ}, {x, y}, t]Assumptionsを使って安定性条件を簡約する:
DStabilityConditions[{x'[t] == β y[t] + α, y'[t] == δ x[t] - γ}, {x, y}, t, Assumptions -> β > 0 && δ > 0]DStabilityConditions[{Derivative[1][x][t] == 2 x[t] - 5 y[t], Derivative[1][y][t] == x[t] - 2 y[t], Derivative[1][u][t] == u[t] + 2 v[t], Derivative[1][v][t] == -5 u[t] - v[t]}, {x, y, u, v}, t]sol = DSolveValue[{Derivative[1][x][t] == 2 x[t] - 5 y[t], Derivative[1][y][t] == x[t] - 2 y[t], Derivative[1][u][t] == u[t] + 2 v[t], Derivative[1][v][t] == -5 u[t] - v[t]}, {x[t], y[t], u[t], v[t]}, t]Plot[Evaluate[sol /. {C[1] -> 1, C[2] -> 2, C[3] -> 3, C[4] -> 4}], {t, 0, 10}]ランダムな定数係数を持つ10×10線形系の安定性を解析する:
SeedRandom[1234];
m = RandomInteger[10, {10, 10}];
g = RandomInteger[10, 10];dep = {x1[t], x2[t], x3[t], x4[t], x5[t], x6[t], x7[t], x8[t], x9[t], x10[t]};sys = Thread[D[dep, t] == m.dep + g];DStabilityConditions[sys, dep, t]非線形系 (5)
DStabilityConditions[{x'[t] == −x[t] + 2x[t] y[t], y'[t] == y[t]−x[t]^2−y[t]^2}, {x, y}, t]StreamPlotを使って安定性を可視化する:
StreamPlot[{−x + 2x y, y−x^2−y^2}, {x, -2, 2}, {y, -1, 2}, Rule[...]]DStabilityConditions[{x'[t] == y[t], y'[t] == Sin[x[t]]}, {x, y}, t]StreamPlot[{y, Sin[x]}, {x, -4Pi, 4Pi}, {y, -6, 6}, Rule[...]]DStabilityConditions[{y[t] + x[t](1−x[t]^2−y[t]^2) == x'[t], −x[t] + y[t](1−x[t]^2−y[t]^2) == y'[t]}, {x, y}, t]StreamPlot[{y + x(1−x^2−y^2), −x + y(1−x^2−y^2)}, {x, -3, 3}, {y, -3, 3}, Rule[...]]DStabilityConditions[{x''[t] == -2(x[t]^2 + y[t]^2)x'[t] - x[t] - 1, y''[t] == -2(x[t]^2 + y[t]^2)y'[t] - y[t]}, {x, y}, t]DStabilityConditions[{σ(−x[t] + y[t]) == x'[t], r x[t]−y[t]−x[t] z[t] == y'[t], −b z[t] + x[t] y[t] == z'[t]}, {x, y, z}, t]Simplify[%, b > 0 && r > 1 && σ > 0]オプション (2)
Assumptions (2)
Assumptionsがないと,安定性についてのパラメータの条件が付く:
DStabilityConditions[y'[t] == a y[t], y, t]Assumptionsを使うと,条件が簡約されることが多い:
DStabilityConditions[y'[t] == a y[t], y, t, Assumptions -> a < 0]DStabilityConditions[{x'[t] == y[t], y'[t] == Sin[x[t]]}, {x, y}, t]Assumptionsを使って従属変数の範囲を指定する:
DStabilityConditions[{x'[t] == y[t], y'[t] == Sin[x[t]]}, {x, y}, t, Assumptions -> -4 < x[t] < 4]アプリケーション (11)
物理学 (5)
DStabilityConditions[m u''[t] + c u'[t] + k u[t] == 0, u, t]DStabilityConditions[m u''[t] + c u'[t] + k u[t] == 0, u, t, Assumptions -> m > 0 && c > 0 && k > 0]sol = DSolveValue[{m u''[t] + c u'[t] + k u[t] == 0, u[0] == 1, u'[0] == 0}, u[t], t]Plot[sol /. {m -> 1, k -> 1, c -> 0.5}, {t, 0, 20}, PlotRange -> All]DStabilityConditions[l i''[t] + r i'[t] + (1/c) i[t] == 0, i, t]sol = DSolveValue[{l i''[t] + r i'[t] + (1/c) i[t] == 0, i[0] == 1, i'[0] == 0}, i[t], t]Plot[sol /. {r -> 0.1, l -> 5 10^-2, c -> 0.1}, {t, 0, 10}, PlotRange -> All]DStabilityConditions[θ''[t] + 1 / 5 θ'[t] + 9 Sin[θ[t]] == 0, θ, t]StreamPlot[{θ1, -1 / 5θ1 - 9Sin[θ]}, {θ, -3Pi, 3Pi}, {θ1, -10, 10}, ...]sol = NDSolve[{θ''[t] + 1 / 5 θ'[t] + 9 Sin[θ[t]] == 0, θ[0] == Pi / 2, θ'[0] == 0}, θ[t], {t, 0, 20}];
Plot[θ[t] /. sol, {t, 0, 20}, PlotRange -> All]σ = 10;
b = 8 / 3;
r = 15;
eqns = {σ(−x[t] + y[t]) == x'[t], r x[t]−y[t]−x[t] z[t] == y'[t], −b z[t] + x[t] y[t] == z'[t]};DStabilityConditions[eqns, {x, y, z}, t]StreamPlot3D を使ってLorenzアトラクタを可視化する:
StreamPlot3D[{σ(−x + y), r x−y−x z, −b z + x y}, {x, -10, 10}, {y, -10, 10}, {z, 0, 20}]σ = 10;
b = 8 / 3;
r = 28;
eqns = {σ(−x[t] + y[t]) == x'[t], r x[t]−y[t]−x[t] z[t] == y'[t], −b z[t] + x[t] y[t] == z'[t]};DStabilityConditions[eqns, {x, y, z}, t]sol = NDSolve[{eqns, x[0] == 10, y[0] == 10, z[0] == 20}, {x[t], y[t], z[t]}, {t, 0, 200}];ParametricPlot3D[{x[t], y[t], z[t]} /. sol, {t, 0, 200}, ...]生物学 (3)
捕食者被食者モデル(Lotka–Volterra方程式)の安定性解析:
DStabilityConditions[{x'[t] == x[t](1 - 1 / 2y[t]), y'[t] == y[t](-3 / 4 + 1 / 4x[t])}, {x, y}, t]StreamPlot[{x(1 - 1 / 2y), y(-3 / 4 + 1 / 4x)}, {x, 0, 8}, {y, 0, 4}, Rule[...]]sol = NDSolve[{x'[t] == x[t](1 - 1 / 2y[t]), y'[t] == y[t](-3 / 4 + 1 / 4x[t]), x[0] == 2, y[0] == 1}, {x[t], y[t]}, {t, 0, 30}]Plot[Evaluate[{x[t], y[t]} /. sol], {t, 0, 30}, ...]Rosenzweig–MacArthurの捕食者被食者モデル:
eqns = {n'[t] == n[t](1 - n[t] / k) - an p[t]n[t] / (n[t] + h), p'[t] == p[t](ap n[t] / (n[t] + h) - m)};params = {an -> 1, ap -> 2, h -> 1, m -> 1, k -> 4};DStabilityConditions[eqns /. params, {n, p}, t]StreamPlot[{n(1 - n / k) - an p n / (n + h), p(ap n / (n + h) - m)} /. params, {n, 0, 4}, {p, 0, 4}, Rule[...]]ケモスタットモデルは,微生物が非生物資源で成長する生物学的系を表す:
model = {x'[t] == (k x[t]y[t]/1 + y[t]) - x[t], y'[t] == -(x[t]y[t]/1 + y[t]) - y[t] + q};DStabilityConditions[model /. {k -> 2, q -> 2}, {x, y}, t]StreamPlot[{(k x y/1 + y) - x, -(x y/1 + y) - y + q} /. {k -> 2, q -> 2}, {x, 0, 4}, {y, 0, 3}, Rule[...]]化学 (1)
sys = {x'[t] == x[t]^2y[t] - (b + 1)x[t] + a, y'[t] == -x[t]^2y[t] + b x[t]};DFixedPoints[sys, {x, y}, t]DStabilityConditions[sys /. {a -> 1, b -> 3 / 2}, {x, y}, t]StreamPlot[{x^2y - (b + 1)x + a, -x^2y + b x} /. {a -> 1, b -> 3 / 2}, {x, 0, 3}, {y, 0, 4}, Rule[...]]DStabilityConditions[sys /. {a -> 1, b -> 5 / 2}, {x, y}, t]StreamPlot[{x^2y - (b + 1)x + a, -x^2y + b x} /. {a -> 1, b -> 5 / 2}, {x, 0, 3}, {y, 0, 4}, Rule[...]]制御系 (2)
eqns = Table[Subscript[j, i[[1]]] Subscript[ω, i[[1]]]'[t] - (Subscript[j, i[[2]]] - Subscript[j, i[[3]]])Subscript[ω, i[[2]]][t]Subscript[ω, i[[3]]][t] == Subscript[τ, i[[1]]][t], {i, {{x, y, z}, {y, z, x}, {z, x, y}}}] /. {Subscript[j, x] -> 300, Subscript[j, y] -> 320, Subscript[j, z] -> 270}DStabilityConditions[eqns /. {Subscript[τ, x][t] -> -27 / 400, Subscript[τ, y][t] -> 3 / 200, Subscript[τ, z][t] -> 1 / 50}, {Subscript[ω, x], Subscript[ω, y], Subscript[ω, z]}, t]opPt = {Subscript[ω, x0] -> (1/30Sqrt[3]), Subscript[ω, y0] -> (3Sqrt[3]/100), Subscript[ω, z0] -> (3Sqrt[3]/200), Subscript[τ, x0] -> -(27/400), Subscript[τ, y0] -> (3/200), Subscript[τ, z0] -> (1/50)};ssm = StateSpaceModel[eqns, {{Subscript[ω, x][t], Subscript[ω, x0]}, {Subscript[ω, y][t], Subscript[ω, y0]}, {Subscript[ω, z][t], Subscript[ω, z0]}}, {{Subscript[τ, x][t], Subscript[τ, x0]}, {Subscript[τ, y][t], Subscript[τ, y0]}, {Subscript[τ, z][t], Subscript[τ, z0]}}, {Subscript[ω, x][t], Subscript[ω, y][t], Subscript[ω, z][t]}, t, SystemsModelLabels -> {{Subscript[τ, x], Subscript[τ, y], Subscript[τ, z]}, {Subscript[ω, x], Subscript[ω, y], Subscript[ω, z]}, {Subscript[ω, x], Subscript[ω, y], Subscript[ω, z]}}] /. opPtOutputResponse[{ssm, {0.2, -0.1, 0.35}}, {0, 0, 0}, {t, 0, 3000}];
Plot[%, {t, 0, 3000}, PlotRange -> All, PlotLegends -> {Subscript[ω, x], Subscript[ω, y], Subscript[ω, z]}]ControllableModelQ[ssm]ラグランジュ(Lagrangian)を使って倒立振子について調べる:
Subscript[r, p] = Composition[TranslationTransform[{x[t], 0, 0}], RotationTransform[θ[t], {0, 0, 1}]][{0, 1, 0}]Subscript[v, p] = D[Subscript[r, p], t]𝒦 = (1/2)Subscript[m, 1] x'[t]^2 + (1/2)Subscript[m, 2]Subscript[v, p].Subscript[v, p]𝒰 = Subscript[m, 2]g Subscript[r, p][[2]]ℒ = 𝒦 - 𝒰{Subscript[f, x], Subscript[f, θ]} = D[f[t] δx - Subscript[b, x]x'[t]δx - Subscript[b, θ]θ'[t]δθ, {{δx, δθ}}]eqns = Table[Subscript[∂, t]D[ℒ, q'[t]] - D[ℒ, q[t]] == Subscript[f, q], {q, {x, θ}}]//Simplifyssm = StateSpaceModel[eqns, {x[t], x'[t], θ[t], θ'[t]}, f[t], {x[t], θ[t]}, t, SystemsModelLabels -> {f, {x, θ}, {x, Derivative[1][x], θ, Derivative[1][θ]}}]Eigenvalues[First[Normal[ssm /. {Subscript[m, 1] -> 1 / 2, Subscript[m, 2] -> 1 / 10, l -> 3 / 10, g -> 10, Subscript[b, x] -> 15 / 100, Subscript[b, θ] -> 1 / 100}]]]//NDFixedPoints[eqns /. {Subscript[m, 1] -> 1 / 2, Subscript[m, 2] -> 1 / 10, l -> 3 / 10, g -> 10, Subscript[b, x] -> 15 / 100, Subscript[b, θ] -> 1 / 100, f[t] -> 0}, {x, θ}, t]DStabilityConditions[eqns /. {Subscript[m, 1] -> 1 / 2, Subscript[m, 2] -> 1 / 10, l -> 3 / 10, g -> 10, Subscript[b, x] -> 15 / 100, Subscript[b, θ] -> 1 / 100, f[t] -> 0}, {x, θ}, t, {{1, 0, 2Pi, 0}, {1, 0, 3Pi, 0}}]特性と関係 (9)
DStabilityConditionsは,微分方程式の不動点と安定性条件を返す:
DStabilityConditions[y'[t] == a y[t], y, t]DStabilityConditions[y'[t] == (1/2)y[t], y, t]DStabilityConditions[y'[t] == -(1/2) y[t], y, t]DFixedPointsを使って微分方程式のすべての不動点を求める:
DFixedPoints[y'[t] == 2 y[t](1 - y[t]), y[t], t]DStabilityConditions[y'[t] == 2 y[t](1 - y[t]), y[t], t, {{0}}]DStabilityConditions[y'[t] == 2 y[t](1 - y[t]), y[t], t, {{1}}]DFixedPointsを使って非線形常微分方程式のすべての不動点を求める:
points = DFixedPoints[x'[t] == x[t]^2 + 3x[t], x, t]Solveを使って不動点を求める:
Solve[x^2 + 3x == 0, x]f1 = D[x^2 + 3x, x] /. x -> points[[1, 1]];
leqn1 = x'[t] == f1 x[t]DStabilityConditions[leqn1, x, t][[1, 2]]f1 = D[x^2 + 3x, x] /. x -> points[[2, 1]];
leqn2 = x'[t] == f1 x[t]DStabilityConditions[leqn2, x, t][[1, 2]]DStabilityConditionsを使って非線形方程式の安定性を判定する:
DStabilityConditions[x'[t] == x[t]^2 + 3x[t], x, t]DStabilityConditions[y''[t] + y'[t] + 3 y[t] == 5, y, t]n 個の一次微分方程式の系の不動点は,n 次元ベクトルである:
DStabilityConditions[{y'[t] + z[t] == 3, y[t] + 2 z'[t] == 1}, {y[t], z[t]}, t]DStabilityConditions[{x'[t] == -x[t] - y[t] - 1, y'[t] == 2x[t] - y[t] + 5}, {x, y}, t]不動点を初期条件として使って,DSolveValueで系を解く:
sol = DSolveValue[{x'[t] == -x[t] - y[t] - 1, y'[t] == 2x[t] - y[t] + 5, x[0] == -2, y[0] == 1}, {x[t], y[t]}, t]//Simplify与えられた初期条件についてDSolveValueを使って系を解く:
sol = DSolveValue[{x'[t] == -x[t] - y[t] - 1, y'[t] == 2x[t] - y[t] + 5, x[0] == 3, y[0] == -2}, {x[t], y[t]}, t]//SimplifyPlot[Evaluate[sol], {t, 0, 20}]DStabilityConditions[x'[t] == (1/2)x[t](1 - x[t]), x, t]NDSolveを使って常微分方程式を解く:
sol = NDSolve[{x'[t] == (1/2)x[t](1 - x[t]), x[0] == 0.5}, x[t], {t, 0, 20}]Plot[x[t] /. sol, {t, 0, 20}, PlotRange -> All]DStabilityConditions[2 y'[x] - y[x] ^ 2 == -1, y, x]最初の不動点を初期条件として使って常微分方程式の漸近解を計算する:
AsymptoticDSolveValue[{2 y'[x] - y[x] ^ 2 == -1, y[0] == -1}, y, {x, 0, 6}]AsymptoticDSolveValue[{2 y'[t] - y[t] ^ 2 == -1, y[0] == -1 + ϵ}, y, t, {ϵ, 0, 2}]Limit[%, t -> Infinity]AsymptoticDSolveValue[{2 y'[t] - y[t] ^ 2 == -1, y[0] == 1 + ϵ}, y, t, {ϵ, 0, 2}]Limit[%, t -> Infinity, Assumptions -> Im[ϵ] == 0]points = DFixedPoints[{x'[t] == x[t](2−x[t]−y[t]), y'[t] == −x[t] + 3y[t]−2x[t] y[t]}, {x, y}, t](jacobian = D[{x(2−x−y), −x + 3y−2x y}, {{x, y}}])//MatrixFormeig1 = Eigenvalues[jacobian /. Thread[{x, y} -> points[[1]]]]eig2 = Eigenvalues[jacobian /. Thread[{x, y} -> points[[2]]]]eig3 = Eigenvalues[jacobian /. Thread[{x, y} -> points[[3]]]]すべての固有値が負の実部を持つなら,この系は不動点近くで局所的に安定している:
Re[#] < 0& /@ eig1Re[#] < 0& /@ eig2Re[#] < 0& /@ eig3DStabilityConditionsを使って点の安定性をチェックする:
DStabilityConditions[{x'[t] == x[t](2−x[t]−y[t]), y'[t] == −x[t] + 3y[t]−2x[t] y[t]}, {x, y}, t]考えられる問題 (2)
res = DStabilityConditions[{σ(−x[t] + y[t]) == x'[t], r x[t]−y[t]−x[t] z[t] == y'[t], −b z[t] + x[t] y[t] == z'[t]}, {x, y, z}, t]Simplify[#, b > 0 && r > 1 && σ > 0]& /@ res与えられた点が混合整数ではないので,DStabilityConditionsはうまくいかない:
DStabilityConditions[y'[t] == y[t](1 - y[t]), y, t, {{2}}]まず,DFixedPoints を使って方程式のすべての不動点を求める:
points = DFixedPoints[y'[t] == 3 y[t](1 - y[t]), y, t]DStabilityConditions[y'[t] == 3 y[t](1 - y[t]), y, t, {points[[1]]}]DStabilityConditions[y'[t] == 3 y[t](1 - y[t]), y, t, {points[[2]]}]おもしろい例題 (2)
van der Pol振動子は,非保存的な,非線形減衰がある振動する系である:
sys = {x'[t] == y[t], y'[t] == -x[t] + μ (1 - x[t]^2)y[t]};DStabilityConditions[sys, {x, y}, t]パラメータ
のさまざまな値について,系の軌道をアニメーション化する:
Animate[StreamPlot[{y, -x + μ (1 - x^2)y}, {x, -4, 4}, {y, -4, 4}], {μ, 0.01, 4}]FitzHugh–Nagumoモデルは弛緩振動子の例である:
sys = {x'[t] == 3y[t] - x[t](x[t]^2 - 3) + s, y'[t] == (7 - 10x[t] - 8y[t]) / 30};外部からの刺激 s が特定の閾値を超えると,系は変数 x および y が弛緩して静止値に戻る前に位相空間における特徴的な偏位を示す:
DStabilityConditions[sys /. s -> 1 / 100, {x, y}, t]パラメータ s のさまざまな値について系の軌跡を可視化する:
Animate[StreamPlot[{3y - x(x^2 - 3) + s, (7 - 10x - 8y) / 30}, {x, -3, 3}, {y, -3, 3}], {s, 0.01, 4}]関連するガイド
-
▪
- 微分方程式
テキスト
Wolfram Research (2024), DStabilityConditions, Wolfram言語関数, https://reference.wolfram.com/language/ref/DStabilityConditions.html.
CMS
Wolfram Language. 2024. "DStabilityConditions." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DStabilityConditions.html.
APA
Wolfram Language. (2024). DStabilityConditions. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DStabilityConditions.html
BibTeX
@misc{reference.wolfram_2026_dstabilityconditions, author="Wolfram Research", title="{DStabilityConditions}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/DStabilityConditions.html}", note=[Accessed: 07-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_dstabilityconditions, organization={Wolfram Research}, title={DStabilityConditions}, year={2024}, url={https://reference.wolfram.com/language/ref/DStabilityConditions.html}, note=[Accessed: 07-September-2026]}