5

これは、この分野である程度の経験がある人にとっては非常に簡単な質問になるはずですが、私はまだこれに慣れていません。

私は次のシステムを持っています(またはここにもっと良い解像度の画像があります):

代替テキストhttp://img199.imageshack.us/img199/2140/equation1.png

次の入力が与えられます:

u = min(2 - t/7.5, 2*(mod(t, 2) < 1));

システムyの出力をプロットする必要があります。

私は次の機能を備えたシステムについて説明しています。

function xprime = func(t, x)
    u = min(2 - t/7.5, 2*(mod(t, 2) < 1));
    xprime = [
        x(2);
        x(3);
        0.45*u - 4*x(3)^2 - x(2)*x(1) - 4*x(2) - 2*x(1);
        x(5);
        sin(t) - 3*x(5)*x(1);
    ];

次のように、でシミュレートしode23ます。

[tout, xout] = ode23(@func, [0 15], [1.5; 3; -0.5; 0; -1])

シミュレーション後、xout5つの列があります。私の質問は、 yシステムの出力がどれであるかをどうやって知るのかということです。

編集:わかりました、簡単に言うと、次のようにソリューションをプロットしたいと思います:

a = 1 % what goes here? 1, 2, 3, 4 or 5?
plot(tout, xout(:,a))
4

2 に答える 2

3

もちろん、yに対応するものはx(1)のように見えます。

コードを方程式と比較すると、yが方程式に現れるすべての場所にx(1)がコードに現れることがわかります。それが私の一番の推測です。

于 2010-01-24T23:37:14.110 に答える
1

[T、Y、TE、YE、IE] = ode23(odefun、tspan、y0、options)

次の表に、ソルバーの出力引数を示します。

  • T時点の列ベクトル。
  • Yソリューションアレイ。Yの各行は、Tの対応する行で返される時間の解に対応します。
  • TEイベントが発生する時刻。
  • YEイベント時の解決策。
  • IE消えるイベント関数のインデックスi。

Isten fizesse!

于 2010-01-24T23:28:43.053 に答える