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[…] 離散入出力モデル - SystemModelSimulateはSystemModelSimulationDataオブジェクトを返す.
- 保存されたシミュレーション変数 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 進捗表示を制御する - model がSystemModelのときはオプション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が使われる.メソッドオプション subiはNDSolveに渡される.
例題
すべて開くすべて閉じる例 (3)
スコープ (22)
モデル (5)
熱領域に含まれているモデル例の一つのシミュレーションを行う:
NonlinearStateSpaceModelのシミュレーションを行なってその結果をプロットする:
UnitStepを入力としてTransferFunctionModelのシミュレーションを行う:
AffineStateSpaceModelでパラメータスイープを行う:
DiscreteInputOutputModelのシミュレーションを行う:
シミュレーション時間 (4)
変数,パラメータ,入力 (8)
変数の初期値は"InitialValues"を使って設定できる:
パラメータ値は"ParameterValues"を使って設定できる:
2つのパラメータの範囲を設定すると,その範囲の各位置について1回のシミュレーションが行われる:
TimeSeriesを入力とするモデルのシミュレーションを行う:
シミュレーションの結果 (5)
モデルのシミュレーションを行い,変数x1およびx2をプロットする:
Plot関数を使って変数をプロットする:
1回の呼出しでシミュレーションの実行とプロットの作成を行う:
SystemModelSimulateの引数を指定する:
一般化と拡張 (1)
オプション (10)
Method (8)
結果をParametricPlotで示す:
補間点が少なすぎる場合のシミュレーションでは不正確なプロットになることがある:
固定ステップソルバのデフォルトの刻み幅は,必要よりも小さいことがある:
モデルのシミュレーションにNDSolveを使う:
結果は,シミュレーションの結果を含むSystemModelSimulationDataオブジェクトである:
NDSolveにオプションを渡す:
ProgressReporting (1)
ProgressReportingで進捗状況のレポートを制御する:
アプリケーション (11)
高さについての定常状態の値を見ることで,10%および90%における必要値を得る:
最終的な値,および信号が最終的な値の10%および90%に到達したときにおける線をプロットする:
輪の軸に沿った異なる初期慣性で,回転する輪のシミュレーションを行う:
測定データと比較することで,モデル内のパラメータを調整する:
Tinker Forge Weather Stationからのサンプルデータにフィルタをかける:
シミュレーションされたデータをWaveletScalogramで可視化する:
特性と関係 (3)
SystemModelSimulateからの出力はSystemModelSimulationDataオブジェクトである:
SystemModelSimulateSensitivityを使ってパラメータに対する感度も得る:
コンデンサの電圧感度を"sineVoltage1"の周波数に対してプロットする:
さまざまな値について評価可能な関数にSystemModelParametricSimulateを使う:
テキスト
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