SystemModelSimulate

SystemModelSimulate[model]

エクスペリメント設定に基づいて model のシミュレーションを行う.

SystemModelSimulate[model,tmax]

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

SystemModelSimulate[model,{tmin,tmax}]

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

SystemModelSimulate[model,vars,{tmin,tmax}]

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

詳細とオプション

  • model には以下の形を使うことができる.
  • SystemModel[]一般的なシステムモデル
    StateSpaceModel[]状態空間モデル
    TransferFunctionModel[]伝達関数モデル
    AffineStateSpaceModel[]アフィン状態空間モデル
    NonlinearStateSpaceModel[]非線形状態空間モデル
    DiscreteInputOutputModel[]離散入出力モデル
  • SystemModelSimulateSystemModelSimulationDataオブジェクトを返す.
  • 保存されたシミュレーション変数 vars は以下の値を持つことができる.
  • Automatic何を保存するか自動的に選択する
    {v1,v2,}変数 viのみを保存する
    All全変数を保存する
  • SystemModelSimulate[,spec]は,初期値,パラメータ,入力に Association spec を使用する.
  • "ParameterValues"{p1val1,}パラメータ"pi"は値 valiを持つ
    "InitialValues"{v1val1,}変数 viは初期値 valiを持つ
    "Inputs"{in1fun1,}入力 iniは時点 t で値 funi[t]を持つ
  • "ParameterValues"あるいは"InitialValues"{pi->{c1,c2,},}に設定すると,piが値 cjを取って,シミュレーションが並列で行われる.
  • "InitialValues"はModelicaモデルの start 特性に対応する.
  • 次は,使用可能なオプションである.
  • InterpolationOrder Automaticイベント間の出力の連続次数
    Method Automatic使用するシミュレーションメソッド
    ProgressReporting $ProgressReporting進捗表示を制御する
  • modelSystemModelのときはオプションMethodがサポートされる.
  • Method設定は,Method->"method"またはMethod{"method","sub1"->val1,}の形を取る.
  • 次の適応的ステップ法を使うことができる.
  • "DASSL"DASSL微分代数方程式ソルバ
    "CVODES"CVODES常微分方程式ソルバ
  • 適応的ステップ法のサブオプション:
  • "InterpolationPoints"Automatic補間点の数
    "Tolerance"10-6適応的ステップの許容範囲
  • 次の固定ステップ法を使うことができる.
  • "Euler"一次の明示的オイラー法
    "Heun"二次のHeun法
    "RungeKutta"四次の明示的ルンゲ・クッタ法
  • 固定ステップ法のサブオプション:
  • "StepSize"10-3固定ステップ
  • Method->{"NDSolve",sub1->val1,}とすると,ソルバとしてNDSolveが使われる.メソッドオプション subiNDSolveに渡される.

例題

すべて開くすべて閉じる

  (3)

モデルのシミュレーション設定からの時間間隔でモデルのシミュレーションを行う:

電圧オフセットでパラメータスイープを行う:

すべてのシミュレーションについて電圧をプロットする:

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

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

名前文字列を使うこともできる:

スコープ  (22)

モデル  (5)

熱領域に含まれているモデル例の一つのシミュレーションを行う:

NonlinearStateSpaceModelのシミュレーションを行なってその結果をプロットする:

UnitStepを入力としてTransferFunctionModelのシミュレーションを行う:

AffineStateSpaceModelでパラメータスイープを行う:

DiscreteInputOutputModelのシミュレーションを行う:

すべてのシミュレーション結果をプロットする:

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

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

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

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

Quantityを使って時間間隔を指定する:

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

変数の初期値は"InitialValues"を使って設定できる:

パラメータ値は"ParameterValues"を使って設定できる:

2つの入力を加えるモデルのシミュレーションを行う:

入出力をプロットする:

変数xについてさまざまな初期値でシミュレーションを行う:

全シミュレーションからの変数xをプロットする:

デフォルトのパラメータでモデルのシミュレーションを行う:

シミュレーション内のパラメータを設定する:

シミュレーション間で変数capacitor1.v^(')を比較する:

電圧オフセットでパラメータスイープを行う:

すべてのシミュレーションの電圧をプロットする:

2つのパラメータの範囲を設定すると,その範囲の各位置について1回のシミュレーションが行われる:

TimeSeriesを入力とするモデルのシミュレーションを行う:

時系列オブジェクトを定義する:

このモデルのシミュレーションを行う:

入出力をプロットする:

シミュレーションの結果  (5)

モデルのシミュレーションを行い,変数x1およびx2をプロットする:

モデルのシミュレーションを行う:

変数xx'についてのシミュレーション結果を得る:

Plot関数を使って変数をプロットする:

モデルのシミュレーションを行い,変数の最大値を求める:

変数angle1vの値を得る:

角度の最大値を求める:

1回の呼出しでシミュレーションの実行とプロットの作成を行う:

SystemModelSimulateの引数を指定する:

選択した変数だけを保存する:

指定された変数だけが保存された:

一般化と拡張  (1)

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

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

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

オプション  (10)

InterpolationOrder  (1)

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

変数 xを表示する:

Method  (8)

固定ステップのソルバを使う:

結果をプロットする:

適応的ステップのソルバを使う:

結果をParametricPlotで示す:

硬い問題については,適応的ステップ法を使う:

補間点が少なすぎる場合のシミュレーションでは不正確なプロットになることがある:

補間点を増やすと結果が向上する:

固定ステップソルバのデフォルトの刻み幅は,必要よりも小さいことがある:

刻み幅を大きくすると計算が速くなる:

結果は等しい:

適応的ソルバにソルバの刻み幅を選ばせる:

モデルのシミュレーションにNDSolveを使う:

結果は,シミュレーションの結果を含むSystemModelSimulationDataオブジェクトである:

NDSolveにオプションを渡す:

このオプションのために確度が下がった:

ProgressReporting  (1)

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

アプリケーション  (11)

タンクシステムについて,高さのオーバーシュートを計算する:

ピークの最大値を求める:

タンクに送られた刻み幅の値を得る:

オーバーシュートを計算する:

オーバーシュートを示す:

タンクシステム内の高さについて,立ち上がり時間を計算する:

高さについての定常状態の値を見ることで,10%および90%における必要値を得る:

信号がこれらの値に到達する時間を求める:

立ち上がり時間を計算する:

最終的な値,および信号が最終的な値の10%および90%に到達したときにおける線をプロットする:

タンクシステムにおける高さの設定時間を計算する:

最終的な値の5%境界を求める:

信号がこれらの値内に収まる時間を求める:

境界と求まった設定時間をプロットする:

パラメータ値をインタラクティブに変更する:

輪の軸に沿った異なる初期慣性で,回転する輪のシミュレーションを行う:

輪の軌跡を取り出す:

軌跡をプロットする:

バネ定数を変えた際の共鳴のピークを分析する:

からTemplateBox[{{H, (, {ⅈ,  , omega}, )}}, Abs]を計算する:

共鳴のピークを示す:

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

モデルのフィットのための基準関数を設定する:

パラメータをテストデータにフィットする:

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

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

Tinker Forge Weather Stationからのサンプルデータにフィルタをかける:

時間をシフトさせ,データの大きさを取り出す:

ローパスフィルタを通して時系列を実行する:

入力サウンドでローパスフィルタのシミュレーションを行う:

与えらえた入力サウンドでシミュレーションを行う:

入出力の音声を取り出す:

ニュートンのゆりかごのシミュレーションを行う:

結果から軌跡を取り出す:

ゆりかごを可視化する:

シミュレーションされたデータをWaveletScalogramで可視化する:

興味のあるデータを抜き出す:

ウェーブレット変換を計算する:

ウェーブレットベクトル係数をプロットする:

特性と関係  (3)

SystemModelSimulateからの出力はSystemModelSimulationDataオブジェクトである:

プロパティを使って変数の軌跡を得る:

SystemModelSimulateSensitivityを使ってパラメータに対する感度も得る:

コンデンサの電圧感度を"sineVoltage1"の周波数に対してプロットする:

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

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

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

おもしろい例題  (1)

Van der Polモデルのシミュレーションを行い,パラメトリックプロットで表示する:

Wolfram Research (2018), SystemModelSimulate, Wolfram言語関数, https://reference.wolfram.com/language/ref/SystemModelSimulate.html (2022年に更新).

テキスト

Wolfram Research (2018), SystemModelSimulate, Wolfram言語関数, https://reference.wolfram.com/language/ref/SystemModelSimulate.html (2022年に更新).

CMS

Wolfram Language. 2018. "SystemModelSimulate." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/SystemModelSimulate.html.

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_systemmodelsimulate, organization={Wolfram Research}, title={SystemModelSimulate}, year={2022}, url={https://reference.wolfram.com/language/ref/SystemModelSimulate.html}, note=[Accessed: 21-November-2024 ]}