0

形状の 2 つの微分方程式の対話型シミュレーションを実行する必要があります。

der(x)= A  * x + c1 * y
der(y)= c2 * x + c3 * y

ここで、der(x) は x の時間導関数です。

Aしかし、シミュレーションがリアルタイムで実行されている間に変更できる必要があります。

私はmatlabを初めて使用しますが、少し突っついたので、完全な初心者ではありません

4

1 に答える 1

1

私が過去にこれを行った方法は2つあります。Matlab のode関数を使用しているか、独自の関数を使用しているかに応じて、さまざまなことがより簡単になる場合があります。

数値をリアルタイムでプロットし、独自の ODE ソルバーを使用している場合は、単一のタイム ステップでソルバーを実行し、結果をプロットしkeyPressFcnて、パラメーターを変更するために を使用できます。これは私の好みの方法で、次のように機能します。 Figure ウィンドウを開くことから始めます。

figHandle = figure('KeyPressFcn',@keyControl);

次に、ODE ソルバーを一度に 1 タイムステップずつ実行し、結果をプロットします。関数は次のkeyControlようになります。

function keyControl(varargin)
    cmd = get(figHandle,'CurrentCharacter');
    switch double(cmd)
        case 30 % up arrow for example
    end
end

Matlab ODE ソルバーを使用している場合は、 を使用しOutputFcnて一部のデータを変更できます (ただし、これは少し扱いに​​くい場合があります)。

于 2013-11-10T21:50:39.697 に答える