DFixedPoints[eqn,x[t],t]
微分方程式の不動点を与える.
DFixedPoints[{eqn1,eqn2,…},{x1[t],x2[t],…},t]
微分方程式系の不動点を与える.
DFixedPoints
DFixedPoints[eqn,x[t],t]
微分方程式の不動点を与える.
DFixedPoints[{eqn1,eqn2,…},{x1[t],x2[t],…},t]
微分方程式系の不動点を与える.
詳細とオプション
- 不動点は,微分方程式の停留点あるいは平衡点としても知られている.
- DFixedPointsは,通常,生態学,経済学あるいは技術モデリングで頻繁に発生する,非線形連続時間系のすべての不動点を見付けるために使われる.これらの不動点における局所的な動作はDStabilityConditionsで解析することができる.
- 微分方程式系
については,
のときかつそのときに限って点
は不動点である.実際,
で初期化すると
に留まるので,初期値
は不動点のままである. - DFixedPointsは{{
,
,…},…}の形のリストを返す.ここで,{
,
,…}は系の不動点である. - 高階常微分方程式系は,高階導関数に対応する変数を追加した一次常微分方程式系として扱われる.この場合,不動点はネストしたリスト{{x,x',…},{y,y',…},…}として与えられる.
- DFixedPointsは,線形と非線形の常微分方程式に使うことができる.
- 次は,使用可能なオプションである.
-
Assumptions $Assumptions パラメータについての仮定
例題
すべて開く すべて閉じる例 (4)
DFixedPoints[x'[t] == -2x[t], x[t], t]DFixedPoints[x'[t] == 2x[t] + 1, x[t], t]DFixedPoints[y'[t] == a y[t], y, 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}, Rule[...]], {a, {-1.1, 1.1}}]DFixedPoints[{x'[t] == b x[t] + y[t], y'[t] == -2 x[t] + a y[t]}, {x, y}, t]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}]スコープ (23)
線形方程式 (5)
DFixedPoints[x'[t] == -3 x[t], x, t]DFixedPoints[y'[t] == a y[t] + 5, y, 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}]DFixedPoints[y''[t] + a y'[t] + b y[t] == 0, y, t]DFixedPoints[y'''[t] + a y''[t] + b y'[t] + c y[t] == 0, y, t]DFixedPoints[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)
DFixedPoints[x'[t] == x[t]^2 + 3x[t], x, t]DStabilityConditions[x'[t] == x[t]^2 + 3x[t], x, t]StreamPlotを使って安定性を示す:
StreamPlot[{1, x^2 + 3x}, {t, 0, 10}, {x, -4, 1}]DFixedPoints[x'[t] == x[t]^2 - 5x[t] + 6, x, t]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]DFixedPointsを使って方程式の不動点を求める:
DFixedPoints[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}, ...]線形系 (11)
DFixedPoints[{x'[t] == -x[t], y'[t] == -y[t]}, {x, y}, t]StreamPlot[{-x, -y}, {x, -3, 3}, {y, -3, 3}, ...]DFixedPoints[{x'[t] == x[t], y'[t] == y[t]}, {x, y}, t]StreamPlot[{x, y}, {x, -3, 3}, {y, -3, 3}, ...]DFixedPoints[{x'[t] == -x[t] - y[t], y'[t] == 2x[t] - y[t]}, {x, y}, t]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}, StreamPoints -> Coarse, Epilog -> {Red, PointSize[Medium], Point[{0, 0}]}]DFixedPoints[{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[...]]DFixedPoints[{x'[t] == -y[t], y'[t] == x[t]}, {x, y}, t]StreamPlot[{-y, x}, {x, -3, 3}, {y, -3, 3}, Rule[...]]DFixedPoints[{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[...]]DFixedPoints[{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'}}である:
DFixedPoints[{-z[t] - 3 y'[t] + y''[t] == 2, z''[t] == y[t] + z'[t] - z[t] - 3}, {y, z}, t]DFixedPoints[{x'[t] == β y[t] + α, y'[t] == δ x[t] - γ}, {x, y}, t]DFixedPoints[{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}]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];DFixedPoints[sys, dep, t]非線形系 (4)
DFixedPoints[{x'[t] == −x[t] + 2x[t] y[t], y'[t] == y[t]−x[t]^2−y[t]^2}, {x, y}, t]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[...]]DFixedPoints[{x'[t] == y[t], y'[t] == Sin[x[t]]}, {x, y}, t]DStabilityConditions[{x'[t] == y[t], y'[t] == Sin[x[t]]}, {x, y}, t]StreamPlot[{y, Sin[x]}, {x, -4Pi, 4Pi}, {y, -6, 6}, Rule[...]]DFixedPoints[{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}, Epilog -> {Blue, PointSize[Medium], Point[{0, 0}]}]DFixedPoints[{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]オプション (1)
Assumptions (1)
DFixedPoints[{x'[t] == y[t], y'[t] == Sin[x[t]]}, {x, y}, t]Assumptionsを使って従属変数の範囲を指定する:
DFixedPoints[{x'[t] == y[t], y'[t] == Sin[x[t]]}, {x, y}, t, Assumptions -> -4 < x[t] < 4]アプリケーション (11)
物理学 (5)
DFixedPoints[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]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]DFixedPoints[l i''[t] + r i'[t] + (1/c) i[t] == 0, i, t]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]DFixedPoints[θ''[t] + 1 / 5 θ'[t] + 9 Sin[θ[t]] == 0, θ, t]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]};DFixedPoints[eqns, {x, y, 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]};DFixedPoints[eqns, {x, y, 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}, PlotPoints -> 200, ColorFunction -> (Hue[#4]&)]生物学 (3)
捕食者被食者モデル(Lotka–Volterra方程式)の安定性解析:
DFixedPoints[{x'[t] == x[t](1 - 1 / 2y[t]), y'[t] == y[t](-3 / 4 + 1 / 4x[t])}, {x, y}, t]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}, PlotLegends -> {"Prey", "Predator"}, PlotRange -> {0, 7}]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};DFixedPoints[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};DFixedPoints[model, {x, y}, t]//SimplifyDStabilityConditions[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}DFixedPoints[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}}]特性と関係 (8)
DFixedPointsは,微分方程式の不動点を返す:
DFixedPoints[y'[t] == a y[t], y, t]DFixedPoints[y'[t] == (1/2)y[t] + 1, y, t]DFixedPointsを使って微分方程式のすべての不動点を求める:
DFixedPoints[y'[t] == 2 y[t](1 - y[t]), y[t], t]DStabilityConditionsを使って特定の不動点における安定性を解析する:
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]DFixedPoints[y''[t] + y'[t] + 3 y[t] == 5, y, t]n 個の一次微分方程式の系の不動点は,n 次元ベクトルである:
DFixedPoints[{y'[t] + z[t] == 3, y[t] + 2 z'[t] == 1}, {y[t], z[t]}, t]DFixedPoints[{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]//SimplifyDSolveValueを使って与えられた初期条件で系を解く:
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}]DFixedPoints[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]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]関連するガイド
-
▪
- 微分方程式
テキスト
Wolfram Research (2024), DFixedPoints, Wolfram言語関数, https://reference.wolfram.com/language/ref/DFixedPoints.html.
CMS
Wolfram Language. 2024. "DFixedPoints." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DFixedPoints.html.
APA
Wolfram Language. (2024). DFixedPoints. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DFixedPoints.html
BibTeX
@misc{reference.wolfram_2026_dfixedpoints, author="Wolfram Research", title="{DFixedPoints}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/DFixedPoints.html}", note=[Accessed: 06-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_dfixedpoints, organization={Wolfram Research}, title={DFixedPoints}, year={2024}, url={https://reference.wolfram.com/language/ref/DFixedPoints.html}, note=[Accessed: 06-September-2026]}