SystemModelSimulateSensitivity

SystemModelSimulateSensitivity[model,{p1,p2,}]

エクスペリメント設定に基づいて,model とパラメータ piに対する感度のシミュレーションを行う.

SystemModelSimulateSensitivity[model,tmax,{p1,p2,}]

0から tmaxまでシミュレーションを行う.

SystemModelSimulateSensitivity[model,{tmin,tmax},{p1,p2,}]

tminから tmaxまでシミュレーションを行う.

SystemModelSimulateSensitivity[model,vars,{tmin,tmax},{p1,p2,}]

変数 vars についてのシミュレーションデータのみを保存する.

詳細とオプション

  • SystemModelSimulateSensitivityは,システムモデルのパラメータ値を変更した場合のシミュレーション結果の変動の推定に使われる.
  • model は以下の形にできる.
  • SystemModel[]一般的なシステムモデル
    StateSpaceModel[]状態空間モデル
    TransferFunctionModel[]伝達関数モデル
    AffineStateSpaceModel[]アフィン状態空間モデル
    NonlinearStateSpaceModel[]非線形状態空間モデル
    DiscreteInputOutputModel[]離散入出力モデル
  • SystemModelSimulateSensitivitySystemModelSimulationDataオブジェクトを返す.
  • SystemModelSimulateSensitivityは,SystemModel model のすべての変数 についての解 と,のすべての状態 についての微分係数 , , を生成する.
  • SystemModelSimulateSensitivityは,その他のタイプのモデルについてはすべての変数 について解 と,のときの微分係数, , を生成する.
  • 感度は,sd["SensitivityNames"]を使ってSystemModelSimulationDataオブジェクト sd にリストすることができる.
  • 保存されたシミュレーション変数 vars は次の値を持つことができる.
  • Automatic何を保存するか自動的に選択する
    {v1,v2,}変数 viのみを保存する
    All全変数を保存する
  • SystemModelSimulateSensitivity[,spec]は初期値,パラメータ,入力にAssociation specを使う.
  • "ParameterValues"{p1val1,}パラメータ piは値 valiを持つ
    "InitialValues"{v1val1,}変数 viは初期値 valiを持つ
    "Inputs"{in1fun1,}入力 iniは時点 t で値 funi[t]を持つ
  • "ParameterValues"または"InitialValues"{pi->{c1,c2,},}に設定すると,picjの値を取って,シミュレーションが並列で実行される.
  • "InitialValues"はModelicaモデルの start プロパティに相当する.
  • 次は,使用可能なオプションである.
  • InterpolationOrder Automaticイベント間の出力の連続次数
    Method Automatic使用するシミュレーションメソッド
    ProgressReporting $ProgressReporting進捗表示を制御する
  • 通常,オプション設定をAutomaticは,設定値が model あるいはそのエクスペリメント設定から取られることを意味する.
  • 使用するCVODESソルバは,SystemModel model について,Method->{"opt1"->val1}で制御することができる.
  • 次は,CVODESはメソッドの使用可能なサブオプションである.
  • "InterpolationPoints"Automatic補間点の数
    "Tolerance"10-6適応的刻み幅の許容度

例題

すべて開くすべて閉じる

  (3)

モデルのエクスペリメント設定の時間間隔でのパラメータ感度を調べる:

感度名を抽出してプロットする:

パラメータの相対的変動に対する信号の感度を示す:

aが10%変化する際のyzの境界をプロットする:

モデルの図表示を入力として使う:

上の出力をコピーペーストする:

スコープ  (16)

モデル  (3)

NonlinearStateSpaceModelのシミュレーションの際に変数と感度を計算する:

感度名を抽出してプロットする:

aを40%変化させる際の状態の帯をプロットする:

AffineStateSpaceModelについてパラメータスイープにおける感度を計算する:

aを50%変化させる際の状態の帯をプロットする:

DiscreteInputOutputModelについて感度を計算する:

aを5%変化させたときの出力の帯をプロットする:

シミュレーション時間  (3)

モデルからの設定を使ってシミュレーションを行う:

時点0から5までシミュレーションを行う:

明示的な時間間隔でシミュレーションを行う:

感度結果  (6)

1つのパラメータの感度を調べる:

パラメータaに対する感度のシミュレーションを行う:

感度の名前を得る:

aの変化に対するyの感度を得る:

1つのパラメータからの感度を調べる:

感度の1つをプロットする:

信号のパラメータaに対する感度を示す:

感度の名前を得る:

aにおける変化に対するyの感度を,yについての名目軌跡とともに得る:

もとのパラメータaとパラメータa0.05大きくしたものでyをプロットする:

パラメータの相対的な変化に対する信号の感度を示す:

感度の名前を得る:

aにおける変化に対するyおよびzの感度を,名目軌跡および値とともに得る:

aの感度を10%変化させた場合の,yおよびzの境界をプロットする:

パラメータ aの絶対的な変化に対する信号の感度を示す:

aの変化に対するyの感度を,yの軌跡とともに得る:

パラメータaが絶対値0.1で変化する際のyにおける変化を計算する:

パラメータa±0.1変化する際のyの変動をプロットする:

変数,パラメータ,入力  (3)

シミュレーションの初期値を変更する:

プロットの変化を比較する:

シミュレーションのパラメータ値を変更する:

両者を1つのプロットで比較する:

変数についての入力関数を与え,ゲインパラメータに対する出力の感度を調べる:

ゲインパラメータに対する出力の感度をプロットする:

結果の保存  (1)

選択した変数のみを保存する:

指定された変数とパラメータのみが保存される:

一般化と拡張  (1)

デバッグメッセージはメッセージグループの"WSMDebug"に集められる:

初期化のデバッグメッセージが出るようにする:

"WSMDebug"に関するすべてのデバッグメッセージが出ないようにする:

オプション  (3)

InterpolationOrder  (1)

補間次数1と3,補間点3つでシミュレーションを行う:

感度変数を示す:

Method  (1)

モデルが設定した数の補間点でSystemModelのシミュレーションを行い,感度を計算する:

カスタム数の補間点でシミュレーションを行い,感度を計算する:

ProgressReporting  (1)

ProgressReportingで進捗状況のレポートを制御する:

アプリケーション  (5)

モデルの感度を調べる:

パラメータの値を得る:

パラメータを変化させたときの偏差のピークを求める:

5%感度境界と偏差がピークとなる時間を示す:

どの変数が周波数パラメータに最も敏感かを求める:

10%感度境界は"integrator3.y"がパラメータに最も敏感であることを示している:

回転する輪のシミュレーションを行う:

輪の位置と輪の異なるパラメータに対する感度を選ぶ:

輪の半径と質量を4%変化させた場合の輪の経路をそれぞれ示す:

測定データを比較することで,モデルのパラメータを調整する:

シミュレーションのキャッシュを設定する:

SystemModelSimulateSensitivityを使って勾配を得る:

特定のパラメータ値についてのシミュレーションの結果をプロットする:

パラメータを測定データにフィットする:

勾配を使わないと時間がかかる:

フィットされたパラメータでシミュレーションを行う:

テストデータと調整されたモデルを一緒に示す:

解をその感度境界とともに示す:

パラメータの名目値を得る:

5%感度境界を示す:

5%の最大変化でシミュレーションを行う:

軌跡を得る:

軌跡のほとんどが近似された感度境界に含まれていることを示す:

特性と関係  (4)

感度のシミュレーションを対応する微分方程式の感度と比較する:

相対的なパラメータの変化についての境界をプロットする:

aの変化に対するyの感度を,yaの値とともに得る:

aの感度を10%変化させたときのyの境界をプロットする:

代りにSystemModelPlotを使う:

感度はパラメータ内の小さい変化に対して有効である:

パラメータに対する感度を得る:

パラメータを変化させてシミュレーションを行う:

プロット内で比較すると,10%の変動で軌跡が計算限界の外に出ることが分かる:

SystemModelParametricSimulateをさまざまな値について評価可能な関数に使う:

周波数パラメータのさまざまな値について解を計算する:

解を時間上にプロットする:

おもしろい例題  (1)

RabinovichFabrikant方程式における 軸と 軸についての感度境界を示す:

感度限界を三次元で示す:

Wolfram Research (2018), SystemModelSimulateSensitivity, Wolfram言語関数, https://reference.wolfram.com/language/ref/SystemModelSimulateSensitivity.html.

テキスト

Wolfram Research (2018), SystemModelSimulateSensitivity, Wolfram言語関数, https://reference.wolfram.com/language/ref/SystemModelSimulateSensitivity.html.

CMS

Wolfram Language. 2018. "SystemModelSimulateSensitivity." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SystemModelSimulateSensitivity.html.

APA

Wolfram Language. (2018). SystemModelSimulateSensitivity. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SystemModelSimulateSensitivity.html

BibTeX

@misc{reference.wolfram_2024_systemmodelsimulatesensitivity, author="Wolfram Research", title="{SystemModelSimulateSensitivity}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/SystemModelSimulateSensitivity.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_systemmodelsimulatesensitivity, organization={Wolfram Research}, title={SystemModelSimulateSensitivity}, year={2018}, url={https://reference.wolfram.com/language/ref/SystemModelSimulateSensitivity.html}, note=[Accessed: 22-November-2024 ]}