関数としてコード化されたMatlabのODEモデルがあります。ode15s を使用して ODE を統合します。ソルバーが終了したら、モデルによって出力される他の変数の合計の一部である新しい変数を代数的に計算します。
例えば:
dA/dt = xxxxx
dB/dt = xxxxx
dC/dt = xxxxx
これは統合され、dA、dB、dC の列の配列を返します。私が計算する出力から:
model_result = A/(A+B+C).
時間経過全体で)、このベクトルの値と時間の関係をプロットします。
ただし、 Mathworks リポジトリにある修正済みの ODE15 を使用して、モデルに対して感度分析を実行する必要もあります。上記の「model_result」を感度計算の目的関数として設定できるようにする必要があります。
関数内で model_result を計算し、それを別の変数として返そうとしましたが、積分器が代数的に計算された値ではなく積分値を返すため、明らかにこれは機能しません。
MatlabのODEソルバーによって代数値が返されることは可能ですか?
そうでない場合、この種の感度分析を実行する方法を知っている人はいますか?
助けてくれてありがとう。私はモデリングにまったく慣れていないので、間違った用語を使用していたら申し訳ありません!