5

私たちはシステムを持っています:

x'[t] == x[t] - 5 y[t] + z[t]
y'[t] == 3 x[t] - 3 y[t] - 3 z[t]
z'[t] == -2 x[t] + 10 y[t] + 4 z[t]

および初期条件:

x[0] == .01
y[0] == 3
z[0] == 0

私は特定のプロットを作成しました:

eqn = {x'[t] == x[t] - 5 y[t] + z[t],  y'[t] == 3 x[t] - 3 y[t] - 3 z[t], 
z'[t] == -2 x[t] + 10 y[t] + 4 z[t]}; 

sol = NDSolve[{eqn, x[0] == .01, y[0] == 3, z[0] == 0}, {x[t], y[t], 
z[t]}, {t, -5, 5}]

{xde[t_], yde[t_], zde[t_]} = {x[t], y[t], z[t]} /. Flatten[sol]

 ParametricPlot3D[{xde[t], yde[t], zde[t]}, {t, 0, 10}, 
 AxesLabel -> {"x", "y", "z"}, 
 PlotRange -> {{-15, 15}, {-15, 15}, {-15, 15}}]

ランダムなポイントを選択して軌跡全体をプロットする方法は知っていますが、プロットされた軌跡に沿って移動するポイントをアニメートする方法が見つかりません。この特定の例では、ポイントは t == 0 にあり、t == 2 まで移動します。

4

1 に答える 1

6

これは Mathematica では非常に簡単です - インタラクティブなインターフェースを使用してください:

Animate[Show[ParametricPlot3D[{xde[t], yde[t], zde[t]}, {t, 0, 10}, 
   AxesLabel -> {"x", "y", "z"}, 
   PlotRange -> {{-5, 15}, {-5, 5}, {-5, 15}}],
  Graphics3D[{Red, PointSize[.05], Point[{xde[T], yde[T], zde[T]}]}]], {T, 0, 2}]

ここに画像の説明を入力

于 2012-12-17T22:08:07.547 に答える