SystemModelSimulate等の関数からのシミュレーションデータを表す.
SystemModelSimulationData
SystemModelSimulate等の関数からのシミュレーションデータを表す.
詳細とオプション
- SystemModelSimulationDataは,シミュレーションの結果の要約,調査,抽出の方法を提供する.
- SystemModelSimulationDataはSystemModelSimulateおよびSystemModelSimulateSensitivityによって生成される.
- SystemModelSimulationData[…]オブジェクト sim を使って sim["property"]から特性を取得することができる.
- sim["Properties"]は使用可能な特性のリストを与える.
- 動的グラフィックスを使ったシミュレーションでは,sim["Diagram",t]は時点 t におけるGraphicsを返す.
- 構成要素"c1.c2..."についての動的グラフィックスは sim["Diagram",{"c1","c2",…},t]で表示できる.
- 次は,シミュレーションを行ったモデルの特性である. »
-
"Descriptions" 変数とパラメータの説明 "Model" シミュレーションを行ったモデルのSystemModelオブジェクト "ModelName" 完全修飾モデル名 "ParameterNames" シミュレーションデータ中のパラメータ変数 "PlotNames" モデル中のプロット名 "StateVariables" シミュレーションデータ中の連続状態変数 "VariableNames" シミュレーションデータ中の時間依存変数 - 変数とパラメータのリストについて,sim[{property,patt}]は,名前が文字列パターン patt にマッチする property の要素を返す.
- 次は,シミュレーションに特有の特性である. »
-
"SimulationInterval" シミュレーション区間{tmin,tmax} "SimulationLength" シミュレーションの長さ tmax-tmin "NumberOfEvents" シミュレーション中のイベント数 "Events" イベントが発生する時点 "Samples" 変数がサンプルとして取られた時点 - 次は,変数とパラメータの値に関連する特性である. »
-
{v1,v2,…} v1, v2, …についてのシミュレーション {p1,p2,…} p1, p2, …についてのパラメータ値 "RawData",{v1,v2…} v1, v2, …についての時点と値のペア "Audio",{v1,v2…} v1, v2, ... についてのAudioオブジェクト - 変数 viについてのシミュレーションの結果は,任意の時間 t に評価できる関数として返される. »
- シミュレーションの結果は,点 t で sim[{v1,v2,…},t]によって評価することができる.
- sim["RawData",{v1,…}]の事象は同じ時点における時点と値のペアを複製することで示される.
- 次は,シミュレーション結果とパラメータ値の完全リストである. »
-
"VariableValues" シミュレーション{v1->f1,…} "ParameterValues" パラメータ{p1->c1,…} - sim からのシミュレーションの結果のリストは,sim["VariableValues",t]によって点 t で評価することができる.
- 変数はパラメータ vi[t,pj]に依存する.パラメータ pj に対する変数の感度は偏微分 ∂pjvi[t,pj]である.感度はSystemModelSimulateSensitivityを使って計算することができる. »
- 感度には{{vi,pi},…}を使ってアクセスできる.
- 次は,感度に関連する特性である.
-
"SensitivityNames" 変数パラメータの感度 "SensitivityValues" 感度{{vi,pi}->gi,j,…} - 次は,使用可能なオプションである.
-
Method Automatic 結果を処理するメソッド TargetUnits None シミュレーション結果の単位 - オプションTargetUnitsは,シミュレーション結果の単位を制御する:
-
None 単位なし(デフォルト) "Unit" モデルで定義された単位 "DisplayUnit" モデルで定義された表示単位 unit 明示的な単位 {unitt,unit} 時間とデータの単位
例題
すべて開く すべて閉じる例 (2)
sim = SystemModelSimulate[[image]]sim["VariableNames"]sim[{"x"'}]sim[sim["VariableNames"]]sim["SimulationInterval"]sim = SystemModelSimulate[[image]];sim["VariableNames"]SystemModelPlotを使ってシミュレーションの結果をプロットする:
SystemModelPlot[sim, {"x", "y"}]ListLinePlot@sim[{"x", "y"}]スコープ (21)
モデル特性 (8)
シミュレーションのデータオブジェクトで使用可能なすべての特性のリストを得る:
sim = SystemModelSimulate[[image]];sim["Properties"]sim = SystemModelSimulate[[image]]sim["VariableNames"]//Shortsim["ParameterNames"]//Shortsim = SystemModelSimulate[[image]]plotNames = sim["PlotNames"]SystemModelPlot[sim, First[plotNames]]sim = SystemModelSimulate[[image]]sim[{"VariableNames", "capacitor1.*"}]sim[{"ParameterNames", "*.R"}]sim = SystemModelSimulateSensitivity[[image], 50, {"a"}];sim["StateVariables"]SystemModelPlot[sim, {{"y", "a", 0.05}}]sim = SystemModelSimulate[[image]];sim["ModelName"]shortName = StringSplit[sim["ModelName"], "."]//LastSystemModelPlot[sim, {"x1", "x4"}, PlotLabel -> shortName]sim = SystemModelSimulate[[image]];sim["Descriptions"]//Shortsim = SystemModelSimulate[[image]];model = sim["Model"]model["ModelName"]シミュレーション特性 (4)
sim = SystemModelSimulate[[image]];sim["SimulationInterval"]vars = sim[{"angle1", "angle5"}, t];Plot[vars, Evaluate@Prepend[sim["SimulationInterval"], t]]sim = SystemModelSimulate[[image], {2, 7}];sim["SimulationLength"]sim = SystemModelSimulate[[image]];sim["NumberOfEvents"]sim["Events"]//Short補間されていない値を取り出すために変数がサンプルとして取られた時点を使う:
sim = SystemModelSimulate[[image]];times = sim["Samples"];sim[{"angle1"}, times]//First//Short変数とパラメータ (7)
sim = SystemModelSimulate[\!\(\*GraphicsBox[«8»]\), 3];{f1, f2} = sim[{"inertia1.a", "inertia2.flange_a.phi"}]Plot[{f1[t], f2[t]}, {t, 0, 3}]sim[{"inertia3.J", "pulse1.period"}]sim = SystemModelSimulate[\!\(\*GraphicsBox[«8»]\)];{v1} = sim[{"inertia1.phi"}, TargetUnits -> "Unit"];v1[0.6]{v2} = sim[{"inertia1.phi"}, TargetUnits -> "DisplayUnit"];v2[0.6]sim = SystemModelSimulate[[image], 3];{data} = sim["RawData", {"R5.LossPower"}];maxpt = MaximalBy[data, Last]SystemModelPlot[sim, {"R5.LossPower"}, Epilog -> {Red, PointSize[Large], Point[maxpt]}]sim = SystemModelSimulate[[image]]{vx} = sim[{"v.x"}]Plot[Evaluate@vx[t], {t, 0, 5}]{v1x} = sim[{"v[1].x"}]sim = SystemModelSimulate[[image], 10];{piContErr, tankH} = {"piControl.e", "tank.h"} /. sim["VariableValues", t]//Simplifysim["ParameterValues"]sim = SystemModelSimulateSensitivity[[image], 2, {"capacitor1.C"}]sim["SensitivityNames"]{f, s} = sim[{"capacitor1.v", {"capacitor1.v", "capacitor1.C"}}]c0 = First@sim[{"capacitor1.C"}]Plot[{f[t], f[t] + 0.5c0 s[t], f[t] - 0.5c0 s[t]}, {t, 0, 2}, Filling -> {2 -> {3}}]「中央イ(middle A)」の正弦波モデルから音声を取り出す:
model = SystemModel[[image], <|"ParameterValues" -> {"f" -> 440}|>]sim = SystemModelSimulate[model, 1, Method -> {Automatic, "InterpolationPoints" -> 44100}]出力のAudioを取り出す:
sim["Audio", {"y"}]動的ダイアグラム (2)
sim = SystemModelSimulate[[image], 6.28]sim["Diagram", 2]シミュレーション全体に渡るダイアグラムのアニメーションを示す:
diag[t_] := diag[t] = sim["Diagram", t]Animate[diag[t], {t, 0, 6.28}, AnimationRunning -> False, SaveDefinitions -> True]sim["Diagram", 5, Frame -> False, GridLines -> Automatic, PlotRange -> {{-50, 50}, {-20, 20}}]時点2における構成要素についての動的モデルのダイアグラムを表示する:
sim = SystemModelSimulate[[image], 6.28]sim["Diagram", {"component"}, 2]完全なシミュレーション上で,構成要素ダイアグラムのアニメーションを表示する:
diagc[t_] := diagc[t] = sim["Diagram", {"component"}, t]Animate[diagc[t], {t, 0, 6.28}, AnimationRunning -> False, SaveDefinitions -> True]オプション (2)
Method (1)
変数を伴うシミュレーション結果をQuantityVariableとして抽出する:
sim = SystemModelSimulate[[image]];sim["VariableNames", Method -> {"VariableFormat" -> QuantityVariable}]変数を伴うシミュレーション結果をStringとして抽出する:
sim["VariableNames", Method -> {"VariableFormat" -> String}]アプリケーション (9)
sim = SystemModelSimulate[[image], 2.5];SystemModelPlot[sim, {"h"}, Mesh -> {sim["Events"]}, MeshStyle -> Directive[PointSize[Large], Red]]SystemModelSimulationDataからInterpolatingFunctionの逆関数を計算する:
sim = SystemModelSimulate[[image], 10]InterpolatingFunctionを1つ取り出し,その逆関数を計算する:
ifun = sim[{"mass1.flange_b.s"}][[1]];invfun = InverseFunction[ifun];Plot[{Tooltip[invfun[x], "invfun[x]"], Tooltip[ifun[x], "ifun[x]"], Tooltip[x]}, {x, 0, 10}, PlotRange -> {0, 10}, AspectRatio -> Automatic, Filling -> {1 -> {2}, 3 -> {2}}]sim = SystemModelSimulate[[image], 3];SystemModelPlot[sim, {"R5.LossPower"}, PlotRange -> All]pts = Quiet@FindMaximum[sim[{"R5.LossPower"}, t], {t, #}]& /@ Range[0, 3, 0.4];Show[SystemModelPlot[sim, {"R5.LossPower"}, PlotRange -> All], ListPlot[Transpose[{pts[[All, 2, 1, 2]], pts[[All, 1]]}], PlotStyle -> {Red}]]sim = SystemModelSimulate[[image], 10];Table[SystemModelPlot[sim, {v}, PlotLabel -> v, PlotRange -> All], {v, sim["VariableNames"][[13 ;; 18]]}]sims = SystemModelSimulate[[image], 10, <|"InitialValues" -> {"x1" -> 0, "x2" -> Range[-5, 5, 0.1]}|>];Show@(ParametricPlot[Evaluate[#[{"x1", "x2"}, t]], {t, 0, 10}, PlotRange -> All]& /@ sims)sim = SystemModelSimulate[[image], 3];f = sim[{"pipe.Q_flow"}][[1]];Plot[f[t], {t, 0, 3}, PlotRange -> All, Filling -> Axis]NIntegrate[Abs[f[t]], {t, 0, 3}]NIntegrate[Abs[f[t]] ^ 2, {t, 0, 3}]Sqrt[NIntegrate[Abs[f[t]] ^ 2, {t, 0, 3}] / 3]さまざまな高さから落とされたバウンドするボールのシミュレーションを行う:
simball = SystemModelSimulate[[image], 20, <|"InitialValues" -> {"h" -> Range[5]}|>];ballTraj = Table[s["h"], {s, simball}];Animate[{Graphics[{PointSize[0.1], Table[Point[{i, ballTraj[[i]][t]}], {i, 5}]}, PlotRange -> {0, 5}], Plot[Evaluate[(#[z]&) /@ ballTraj], {z, 0, 5}, PlotRange -> {0, 5}, RegionFunction -> (#1 < t&)]}, {t, 0, 5}, SaveDefinitions -> True, AnimationRunning -> False]ParametricPlot3Dで可視化する:
sim = SystemModelSimulate[[image], 100, Method -> {"DASSL", "InterpolationPoints" -> 5000}];ParametricPlot3D[Evaluate[sim[{"x", "y", "z"}, t]], {t, 0, 100}, ColorFunction -> ColorData["SunsetColors"], PlotPoints -> 100]LowpassFilterでシミュレーションデータにフィルタをかける:
sim = SystemModelSimulate[[image], 4, <|"Inputs" -> {"v" -> Function[x, Sin[x] + .4RandomReal[]]}|>];data = sim["RawData", {"capacitor.v"'}];TimeSeriesを作り,ローパスフィルタがかかった信号とともにプロットする:
ts = TimeSeries[data];ListLinePlot[Evaluate[{ts, LowpassFilter[ts, 10π]}]]特性と関係 (1)
SystemModeler内でSystemModelSimulationDataを作り,Wolfram言語にインポートすることができる:
sim = Import["ExampleData/OneMass.sme", {"SystemModelSimulationData"}];SystemModelPlot[sim, {"dTCoolant", "dTMass", "dTtoPipe"}]テクニカルノート
関連するガイド
関連リンク
テキスト
Wolfram Research (2018), SystemModelSimulationData, Wolfram言語関数, https://reference.wolfram.com/language/ref/SystemModelSimulationData.html.
CMS
Wolfram Language. 2018. "SystemModelSimulationData." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SystemModelSimulationData.html.
APA
Wolfram Language. (2018). SystemModelSimulationData. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SystemModelSimulationData.html
BibTeX
@misc{reference.wolfram_2026_systemmodelsimulationdata, author="Wolfram Research", title="{SystemModelSimulationData}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/SystemModelSimulationData.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_systemmodelsimulationdata, organization={Wolfram Research}, title={SystemModelSimulationData}, year={2018}, url={https://reference.wolfram.com/language/ref/SystemModelSimulationData.html}, note=[Accessed: 03-November-2026]}