位相空間ポートレート 戻る
対話型シミュレーター

位相空間ポートレート — 非線形振動・カオスの可視化

単振動・減衰・ファン・デル・ポール・ダフィング・ローレンツ系の位相空間軌跡をRK4で数値積分。アトラクター・リミットサイクル・カオスをリアルタイムに探索しよう。

使い方
• キャンバスをクリック → その点から軌跡を開始
• 複数の軌跡を同時表示可能
• パラメータ変更で系の挙動が変化
方程式
軌跡数: 0
積分法: RK4 / dt = 0.01
可視化
理論・主要公式

$$\ddot{x} + 2\zeta\omega_n\dot{x} + \omega_n^2 x = F_0\cos(\omega t)$$

線形減衰振動:\(\zeta\) 減衰比、\(\omega_n\) 固有角振動数

$$\ddot{x} + \delta\dot{x} + x + \beta x^3 = \gamma\cos(\omega t)$$

Duffing方程式:\(\beta>0\) 硬化型、\(\beta<0\) 軟化型。\(\gamma\) が大きいとカオス発生

$$\lambda = \lim_{t\to\infty}\frac{1}{t}\ln\frac{|\delta x(t)|}{|\delta x(0)|}$$

最大リアプノフ指数:\(\lambda>0\) でカオス

位相空間とは何か

力学系の状態は、位置 $x$ と速度 $\dot{x}$ の組 $(x, \dot{x})$ で完全に決まります。この2つを座標軸にとった平面を位相空間(phase space)といい、系の時間発展は位相空間上の曲線(軌跡)として描かれます。

各系の方程式と特徴

1. 単純調和振動子
$$\dot{x}=y,\quad \dot{y}=-\omega^2 x$$

エネルギー保存系。位相空間では閉じた楕円を描く。同心楕円族を形成し、軌跡は交わらない。

2. 減衰振動子
$$\dot{x}=y,\quad \dot{y}=-2\gamma y - \omega^2 x$$

エネルギー散逸系。軌跡は原点(安定固定点)に螺旋状に収束。$\gamma < \omega$ で振動的減衰、$\gamma > \omega$ で過減衰。

3. ファン・デル・ポール振動子
$$\dot{x}=y,\quad \dot{y}=\mu(1-x^2)y - x$$

$|x|<1$ では負の減衰(エネルギー注入)、$|x|>1$ では正の減衰(散逸)。すべての軌跡がリミットサイクルに収束。真空管・心拍のモデル。

4. ダフィング振動子(周期外力付き)
$$\dot{x}=y,\quad \dot{y}=-\delta y - \alpha x - \beta x^3 + \gamma\cos(\omega t)$$

非線形ばねと周期外力の組み合わせ。適切なパラメータでストレンジアトラクターとカオスが現れる。初期値鋭敏性(バタフライ効果)を視覚的に確認できる。

5. ローレンツアトラクター(x-z 投影)
$$\dot{X}=\sigma(Y-X),\quad \dot{Y}=X(\rho-Z)-Y,\quad \dot{Z}=XY-\beta Z$$

大気対流の簡略モデル。3次元の軌跡をx-z平面に投影表示。カオス的な挙動と「バタフライ型」の奇妙なアトラクターを観察できる。

Q & A

🧑‍🎓 位相空間ポートレートって、ふつうの時間グラフと何が違うんですか?

🎓 時間グラフは「横軸が時間、縦軸が変位」だけど、位相空間は「横軸が変位、縦軸が速度」なんだ。時間の情報を消した代わりに、系の定性的な構造が見えやすくなる。単振動なら時間グラフはサインカーブだけど、位相空間では閉じた楕円になる。楕円が閉じているということは「周期運動」を意味するわけ。

🧑‍🎓 なるほど!じゃあ減衰振動だと楕円が閉じないんですね?

🎓 そう、原点に向かって螺旋を巻きながら収束する。その収束先の点を「安定固定点」または「アトラクター」と呼ぶ。実際の機械振動では、このアトラクターの場所と収束速度が設計の核心で、「どれくらいの減衰係数で何秒後に振動が止まるか」がこのグラフから直感的にわかる。

🧑‍🎓 ファン・デル・ポール振動子のリミットサイクルって、なぜ「自然に」その軌跡に落ち着くんですか?

🎓 ミソは $\mu(1-x^2)y$ という項だよ。$|x|<1$ のとき $(1-x^2)>0$ だから速度 $y$ と同じ向きの力が加わる → エネルギーが\lt strong style="color:#7dd3fc"\gt 注入 される。$|x|>1$ のときは逆向き → エネルギーが散逸される。この2つのバランスが取れた閉曲線がリミットサイクルで、内側から来ても外側から来ても必ずそこに収束するんだ。

🧑‍🎓 心拍のモデルになるって書いてましたが、具体的にはどういうことですか?

🎓 心臓は「外から刺激がなくても一定のリズムで勝手に拍動し続ける」自律的な振動子なんだ。少し乱れても元のリズムに戻る性質、これがまさにリミットサイクルの特徴。$\mu$ を大きくしてみると波形がノコギリ状になる。あれが弛緩振動(relaxation oscillation)で、実際の心電図に近い形になる。

🧑‍🎓 カオスって「予測不可能」ということですか?ランダムとは違うの?

🎓 大事な区別だね。カオスは決定論的なんだ。方程式は完全に決まっていて、初期条件が同じなら全く同じ軌跡が再現される。でも初期条件がほんのわずかでも違うと、軌跡が指数関数的に離れていく。ランダムは「本質的に予測不可能」だけど、カオスは「原理的には予測可能、でも実用上は不可能」という違いがある。気象予報が「2週間先まで」しか信頼できないのはこのせいだよ。

位相空間ポートレートとは

🙋
位相空間って何ですか?普通のグラフと何が違うんですか?
🎓
大まかに言うと、運動の「状態」を一発で見られる便利なグラフだよ。普通のグラフは「時間」と「変位」をプロットするけど、位相空間は「変位」と「速度」を軸にとるんだ。例えばこのシミュレーターで「単振動」を選んでみて。軌跡が綺麗な楕円になるでしょ?これが「状態が時間とともにどう動くか」を一つの図で表しているんだ。
🙋
え、じゃあその楕円の大きさは何で決まるんですか?上の「初期条件」のスライダーを動かすと変わりますね。
🎓
その通り!初期条件、つまり最初の「押し加減」で決まるんだ。スライダーで初期位置$x_0$や初速度$y_0$を変えると、楕円の大きさや形が変わる。これが「初期条件の違いがそのまま軌跡の違いになる」ということ。実務では、設計した機械がどんな初期乱れからも安全な動きに戻るか、この軌跡の収束の仕方を見て評価するんだ。
🙋
「ファン・デル・ポール」に変えると、ぐるぐる巻きついていく軌跡が出てきました!これがリミットサイクル?
🎓
鋭いね!それが「リミットサイクル」というアトラクターだ。パラメータ$\mu$を動かしてみて。$\mu$が小さいとほぼ円に近いけど、大きくなると歪な形になるだろ?これは非線形性の強さを表している。電子回路の発振器や心臓の拍動モデルなど、一定のリズムを生み出す現象の本質を、この閉じた軌道が捉えているんだよ。

物理モデルと主要な数式

力学系の時間発展は、一般に一階の連立常微分方程式(状態方程式)で記述されます。ここでは変位を$x$、速度を$y=\dot{x}$と置いています。

$$ \dot{x}= y, \quad \dot{y}= f(x, y, t; \boldsymbol{p}) $$

$\dot{x}, \dot{y}$はそれぞれ$x, y$の時間微分、$f$は系に応じた関数、$\boldsymbol{p}$はパラメータ(質量、減衰係数、非線形性の強さなど)を表します。このツールではこの方程式をRK4(4次ルンゲ・クッタ法)で数値的に解き、軌跡を描画しています。

具体例として、減衰振動(ダンパー付きバネ質量系)の方程式は以下の通りです。

$$ \dot{x}= y, \quad \dot{y} = -2\gamma y - \omega^2 x $$

ここで、$\gamma$は減衰係数(「パラメータ」の$d$)、$\omega$は固有角周波数です。$\gamma \gt 0$のとき、位相空間の軌跡はらせんを描きながら原点(平衡点)に収束します。これが「安定な固定点アトラクター」の振る舞いです。

よくある質問

画面上の(x, y)座標をクリックするか、数値入力欄に直接値を入力して初期条件を設定します。異なる初期条件から出発した軌跡は、同じパラメータでも異なるアトラクターやリミットサイクルに収束することがあります。カオス系では初期値の微小な差が大きな軌道の違いを生むため、複数の点から試すと系の性質を理解しやすくなります。
画面下部の「刻み幅」スライダーでΔt(時間ステップ)を調整できます。値を小さくすると計算精度が向上しますが、描画が遅くなります。逆に大きくすると高速になりますが、数値誤差で軌跡が不安定になる可能性があります。標準設定の0.01~0.05程度が実用的です。
リミットサイクルは閉じた周期軌道で、時間が経つと軌跡が同じループを繰り返します。一方、カオスは軌跡が決して閉じず、複雑に折り重なる非周期的なパターンを示します。ローレンツ系では蝶の羽のような二つのローブ間を不規則に遷移する様子が観察できます。
パラメータが発散領域にある可能性があります。まず「リセット」ボタンで初期状態に戻し、減衰係数や外力の振幅を小さめの値(例:γ=0.1, F=0.5)から徐々に上げて試してください。また、描画範囲のズームやパン機能を使って軌跡全体を確認することも有効です。

実世界での応用

機械・構造物の振動解析:自動車のサスペンションや建物の耐震設計では、位相ポートレートを用いて、外部からの衝撃(初期条件)後に振動がどのように減衰して安定点に戻るかを評価します。非線形性を考慮したダフィング振動子のモデルは、大きな変位で剛性が変化する部品の解析に使われます。

電子回路設計:発振回路(オシレータ)の設計では、ファン・デル・ポール型のリミットサイクルが安定した発振状態を保つかどうかを位相空間で確認します。パラメータを変えて望ましい発振波形と安定性を両立させる設計が行われます。

生体現象のモデリング:心筋細胞の電気的活動(心拍)や神経細胞の発火パターンは、非線形振動子モデルで記述されます。位相空間解析は、不整脈などの異常なリズムがどのようなメカニズムで発生するかを理解するのに役立ちます。

気象・流体のカオス解析:ローレンツ系は大気の対流の単純化モデルとして提唱されました。その位相空間に現れる「ストレンジアトラクター」は、わずかな初期値の差が巨大な結果の違いを生む「バタフライ効果」、すなわちカオスの可視化そのものです。長期予測が本質的に困難な現象の理解に貢献しています。

よくある誤解と注意点

このツールを使い始めるとき、いくつかつまずきやすいポイントがあるよ。まず「初期条件を変えても軌跡が同じに見える」というケース。例えば「ダフィング振動子」で強制振動をオフにし、減衰をゼロにしてみて。初期条件を変えても、全ての軌跡が同じ閉曲線上に乗ってしまうんだ。これは「保存系」だから。エネルギーが保存されるので、初期の「押し加減」で決まるエネルギー一定の曲線(等高線みたいなもの)の上をずっと回り続ける。軌跡が重なっているわけじゃなく、異なるエネルギーを持つ独立した軌跡が、別々の閉曲線を描いているんだ。パラメータ設定で「減衰」を少し入れると、これらの軌跡がらせん状に収束する様子が観察できるから確認してみて。

次に数値計算の精度への過信。このツールはRK4という高精度な手法を使っているけど、特にカオス系(ローレンツ系など)では、ほんの少しの計算誤差が時間とともに爆発的に増幅される(バタフライ効果だね)。だから、長時間シミュレーションした結果の細かい軌跡を「絶対的真実」と思わないこと。実務では、アトラクターの「形」や「性質」(安定か不安定か)といった定性的な振る舞いを見るのに使うのが基本だ。

最後はパラメータ変更の「一気食い」。パラメータをいきなり大きく変えると、系の振る舞いが大きく変わって「何が起こったかわからない」状態になりがち。例えばファン・デル・ポール振動子の非線形性パラメータ$\mu$を、0.1から一気に5.0にすると形が激変するよね。変化を理解するには、0.1, 0.5, 1.0, 2.0…と少しずつ変えながら、リミットサイクルがどう連続的に変形するかを追跡するのがコツ。これで「パラメータの物理的意味」が体感できる。

使い方ガイド

  1. 初期条件を設定:ダフィング方程式の非線形項係数αと強制振動の振幅Fを入力(α=1.0、F=0.5が典型値)
  2. showFieldチェックボックスで背景のベクトル場表示を有効化し、軌跡の流れを確認
  3. RK4積分ステップ数を設定(Δt=0.01、計10000ステップで100秒相当)し、数値計算実行
  4. 位相平面(x-v図)に描画された軌跡がストレンジアトラクターに収束するか確認

具体的な計算例

質量m=1kg、減衰c=0.3N·s/m、バネ定数k=1N/m、強制力F=0.5cos(ωt)Nの励起型ダフィング振動で、非線形項αを1.0に設定。RK4法でΔt=0.01秒刻みで積分すると、初期値(x₀=0.1m、v₀=0)から始まった軌跡は約30秒後にカオス領域のアトラクターへ巻き付く。このとき位相空間ではバタフライ状の複雑な閉包曲線が形成され、リアプノフ指数λ₁≈0.082s⁻¹となる。

実務での注意点

  1. ローレンツ系(σ=10、ρ=28、β=8/3)とダフィング方程式は分岐図が異なる:ロボット関節の非線形摩擦ではダフィング型、気象シミュレーションではローレンツ型を選択
  2. RK4の刻み幅Δt>0.05秒では数値不安定性が顕在化:機械構造物の動的応答解析では常にΔt≤0.01を確保
  3. アトラクターの周期倍分岐はパラメータFを0.2から0.8へ連続変化させると観測可能:制御不可領域の判定に活用