WSMSimulate
WSMSimulate["mmodel"]
試行の設定に基づいて"mmodel"のシミュレーションを行う.
WSMSimulate["mmodel",tmax]
0から tmaxまでシミュレーションを行う.
WSMSimulate["mmodel",{tmin,tmax}]
tminから tmaxまでのシミュレーションを行う.
WSMSimulate["mmodel",vars,{tmin,tmax}]
変数 vars についてのシミュレーションデータのみを保存する.
詳細とオプション
- WSMSimulateはWSMSimulationDataオブジェクトを返す.
- "mmodel"は完全修飾Modelica名について言及する.
- WSMNames["*.mmodel"]が一意的なマッチを与えるところでは,最短の一意的なモデル名 mmodel を使うことができる.
- 保存されたシミュレーション変数 vars は以下の値を持つことができる.
-
Automatic 何を保存するか自動的に選択する {v1,v2,…} 変数 viのみを保存する All 全変数を保存する - 使用可能なオプション:
-
InterpolationOrder Automatic イベント間の出力の連続次数 Method Automatic どのシミュレーションメソッドを使うか WSMInitialValues Automatic 初期値を無効にする WSMInputFunctions Automatic 入力値を無効にする WSMParameterValues Automatic パラメータ値を無効にする WSMProgressMonitor Automatic 進捗表示を制御する - 通常,オプション設定をAutomaticにすると,設定値が"mmodel"あるいはその試行設定から取られるようになる.
- WSMParameterValuesあるいはWSMInitialValuesを{pi->{c1,c2,…},…}に設定すると,pi が cjの値を取って,シミュレーションが並列実行される.
- WSMInitialValuesは,Modelicaモデルの start プロパティに相当する.
- WSMInputFunctions->{"var1"->fun1,…}は funi[t]を時間 t における vari の入力値として使う.
- MethodはMethod->"method"あるいはMethod->{"method","sub1"->val1,…}の形式を取る.
- 次の適応的ステップ法を使うことができる.
-
"DASSL" DASSL微分代数方程式ソルバ "CVODES" CVODES常微分方程式ソルバ - 適応的ステップ法のサブオプション:
-
"InterpolationPoints" Automatic 補間点の数 "Tolerance" 10^-6 適応的ステップサイズの許容範囲 - 次の固定ステップ法を使うことができる.
-
"Euler" 階数1の明示的オイラー法 "Heun" 階数2のHeun法 "RungeKutta" 階数4の明治的ルンゲ・クッタ法 - 固定ステップ法のサブオプション:
-
"StepSize" 10^-3 固定刻み幅 - Method->{"NDSolve",sub1->val1,…}とすると,ソルバとしてNDSolveが使われる.メソッドオプション subi はNDSolveに渡される.
例題
すべて開くすべて閉じる例 (4)
スコープ (13)
シミュレーションの時間 (4)
変数とパラメータ (5)
変数の初期値はWSMInitialValuesオプションで設定することができる:
パラメータ値はWSMParameterValuesオプションで設定することができる:
シミュレーションの結果 (4)
モデルのシミュレーションを行い,変数x1とx2をプロットする:
Plot関数を使って変数をプロットする:
一般化と拡張 (1)
オプション (17)
Method (8)
結果をParametricPlotで示す:
補間点が少なすぎる場合のシミュレーションでは不正確なプロットになることがある:
固定ステップソルバのデフォルトの刻み幅は,必要よりも小さいことがある:
モデルのシミュレーションにNDSolveを使う:
結果は,シミュレーションの結果を含むWSMSimulationDataオブジェクトである:
オプションをNDSolveに渡す:
WSMInputFunctions (2)
TimeSeriesを入力として,モデルのシミュレーションを行う:
WSMParameterValues (3)
WSMProgressMonitor (1)
WSMProgressMonitorで進捗ダイアログをオフにする:
アプリケーション (11)
高さについての定常状態の値を見ることで,10%および90%における必要値を得る:
最終的な値,および信号が最終的な値の10%および90%に到達した時における線をプロットする:
輪の軸に沿った異なる初期慣性で,回転する輪のシミュレーションを行う:
Tinker Forge Weather Stationからのサンプルデータにフィルタをかける:
サウンドおよび入力を伴うローバスフィルタのシミュレーションを行う:
WaveletScalogramでシミュレーションされたデータを可視化する:
特性と関係 (4)
出力形WSMSimulateはWSMSimulationDataオブジェクトである:
WSMSimulateSensitivityを使ってパラメータに対する感度も得る:
コンデンサの電圧感度を"sineVoltage1"の周波数に対してプロットする:
WSMParametricSimulateをさまざまな値について評価可能な関数に使う:
WSMRealTimeSimulateを使い,リアルタイムでモデルのシミュレーションを行う: