SystemModelUncertaintyPlot[sys,spec]
系のモデル sys の出力の不確かさを,入力の不確かさから指定 spec に従ってプロットする.
SystemModelUncertaintyPlot
SystemModelUncertaintyPlot[sys,spec]
系のモデル sys の出力の不確かさを,入力の不確かさから指定 spec に従ってプロットする.
詳細とオプション
- SystemModelUncertaintyPlotは,通常,パラメータ値,初期値,あるいはノイズのある入力の不確かさによってもたらされる,モデルにおけるキーシグナルの不確かさを可視化するために使われる.これによって不確かさの影響がグラフィカルに検証できる.
- 不確かなパラメータ,初期値,入力が渡されると,系のシミュレーションが何回も行われ,スライス関数が集計統計を計算するためにあらゆる時点で適用される.デフォルトで,分位数がスライス関数として用いられる.
- システムモデル sys は以下の形式でよい.
-
SystemModel[…] 一般的なシステムモデル StateSpaceModel[…] 状態空間モデル TransferFunctionModel[…] 伝達関数モデル AffineStateSpaceModel[…] アフィン状態空間モデル NonlinearStateSpaceModel[…] 非線形状態空間モデル DiscreteInputOutputModel[…] 離散入出力モデル - spec は,以下のキーを持つことができるAssociationである.
-
"InitialValues" {v1val1,…} 変数 viは初期値 valiを持つ "Inputs" {in1fun1,…} 入力 iniの値は funiである "Outputs" {v1,…} プロットする変数 "ParameterValues" {p1val1,…} パラメータ piの値は valiである "SimulationCount" 200 シミュレーションの目標数 "SimulationInterval" {tmin,tmax} 時点 tminから tmaxまでのシミュレーションを行ってプロットする "SliceFunction" sfun 各時間スライスについて計算する関数 - 不確かさについて複数のソースが提供されている場合,シミュレーションはシミュレーションの目標数を上限とし,それらの組合せをカバーして実行される.
- "ParameterValues"および"InitialValues"の値 valiは次の形式を取ることができる.
-
pval 単一の値 {pval1,…} ランダムにサンプリングされた値のカスタムリスト int 一様にサンプリングされたIntervalまたはCenteredInterval dist Aroundまたはサンプルを取る分布 reg 一様にサンプリングする領域 - d 個の変数集合についての多次元領域と分布 valdは,{v1,…,vd}valdで設定できる.
- "Inputs"の入力 funiは以下の形式でよい.
-
f 時点 t における単一の関数 f[t] {f1,…} ランダムにサンプリングされた関数のカスタムリスト rproc サンプルを取るランダム過程 - d 個の入力集合のためのベクトル値関数と過程 fundは,{in1,…,ind}fundで設定できる.
- 次は,スライス関数 sfun の可能な形式である.
-
"MinMax" 最小値と最大値 "Quantiles" 四分位数,0%,25%,50%,75%,100% {"Quantiles",{q1,…}} 分位点{q1,…} "Confidence" 平均と95%の信頼帯 {"Confidence",{cl1,…}} 信頼水準が{cl1,…}の信頼帯 {sfun1,…} カスタムのスカラー値の関数のリスト - SystemModelUncertaintyPlotには,ListLinePlotと同じオプションに以下の追加・変更を加えたものが使える. [全オプションのリスト]
-
AxesLabel Automatic 軸上の単位を示す Filling Automatic 各曲線の下に挿入する充填 FrameLabel Automatic 枠ラベル Method Automatic 使用するシミュレーションとプロットのメソッド PlotLabel Automatic プロットの全体的なラベル PlotLayout Automatic データの置き方 PlotLegends Automatic 曲線の凡例 ProgressReporting $ProgressReporting 進捗状況の表示制御 SamplingPeriod Automatic ランダム過程についてのサンプリング周期 TargetUnits Automatic プロット内に表示する単位 - メソッド設定はMethod <|"sub1"val1,…|>の形式である.
- メソッドのサブオプション"subi"には以下がある.
-
"PlotMethod" Automatic プロットメソッド "SimulationMethod" Automatic シミュレーションメソッド - "PlotMethod"設定は,ListLinePlotにおけるMethod設定に等しい.
- "SimulationMethod"設定は,SystemModelSimulateにおけるMethod設定に等しい.
- SystemModelUncertaintyPlotは,デフォルトのPlotLayoutで出力をプロットラベルとして使う.
- PlotLayout "Association"のとき,SystemModelUncertaintyPlotはリクエストされた各変数の出力がキーで対応するプロットが値であるAssociationを与える.
- 次は,TargetUnitsの可能な設定である.
-
None 単位なし "Unit" 単位はモデル内で定義される "DisplayUnit" モデル内で定義された単位を表示(デフォルト) unit 明示的な単位 {unitt,unit} 時間とデータの単位 - シミュレーション設定に"Epoch"があるモデルは,DateScaleの使用をトリガする.
全オプションのリスト
例題
すべて開く すべて閉じる例 (1)
スコープ (24)
モデル (4)
SystemModelの2つの変数における不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x", "y"}, "ParameterValues" -> {"theta" -> Interval[{0, π}]}|>, PlotRange -> All]AffineStateSpaceModelの出力における不確かさをプロットする:
SystemModelUncertaintyPlot[AffineStateSpaceModel[{{Cos[x2], -1/10*x2 - Cos[x1^2]},
{{0}, {1}}, {x2}, {{0}}}, {x1, x2}, Automatic,
{Automatic}, Automatic, SamplingPeriod -> None], <|"InitialValues" -> {x1 -> Interval[{1, 2}]}, "SimulationInterval" -> 3|>]NonlinearStateSpaceModelの出力における不確かさをプロットする:
SystemModelUncertaintyPlot[NonlinearStateSpaceModel[{{Cos[x] + 4*a*Sin[x/2]},
{x + Sin[x]}}, {x}, {}, {Automatic}, Automatic,
SamplingPeriod -> None], <|"ParameterValues" -> {a -> Interval[{1, 10}]}|>]DiscreteInputOutputModelの出力における不確かさをプロットする:
diom = DiscreteInputOutputModel[Association["SampledSeries" -> TemporalData[TimeSeries,
{{{{u[0] + y[-2] + a*y[-1]}, {u[-1] + u[0] + u[1]}}}, {{0, 1, 1}}, 1, {"Discrete", 1},
{"Discrete", 1}, {1}, {MissingDataMethod -> None, ResamplingMethod -> ... ime", "LastValue", "OutputCount", "OutputVariables", "Path",
"PathComponent", "PathComponents", "PathFunction", "PathLength", "SamplingPeriod", "StateCount",
"TemporalData", "TimePath", "Times", "TimeSeries", "TimeValues", "Type", "Values"}];SquareWave入力を使う:
SystemModelUncertaintyPlot[diom, <|"ParameterValues" -> {a -> Interval[{0.1, 1}]}, "Inputs" -> {1 -> SquareWave}|>, PlotRange -> All]指定 (4)
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, π}]}|>, PlotRange -> All]モデルの不確かさをカスタム数のシミュレーションを使ってプロットする:
SystemModelUncertaintyPlot[[image], <|"SimulationCount" -> 5, "Outputs" -> {"x", "y"}, "ParameterValues" -> {"theta" -> Interval[{0, π}]}|>, PlotRange -> All]特定の出力の不確かさをカスタムのシミュレーション間隔でプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "SimulationInterval" -> {0, 3}, "ParameterValues" -> {"theta" -> Interval[{0, π}]}|>, PlotRange -> All]シミュレーション設定に"Epoch"があるモデルは連続する日付の値としてプロットされる:
model = SystemModel[[image], <|"ModelName" -> "MyModel", "SimulationSettings" -> {"Epoch" -> Now, "StopTime" -> Quantity[3, "Hours"]}|>]SystemModelUncertaintyPlot[model, <|"Outputs" -> {"room.temperature.T"}, "ParameterValues" -> {"room.roomInertia.C" -> Range[70000, 90000, 5000]}|>]不確かな値 (5)
パラメータに値のリストを与えることによって生成された不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Range[0, 1 / 2, 1 / 200]}|>, PlotRange -> All]パラメータ値についての間隔のさんプリングによって生成された不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All]パラメータ値についての分布をサンプリングすることによって生成された不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> NormalDistribution[2, 0.1]}|>, PlotRange -> All]パラメータ値についての幾何学領域をサンプリングすることによって生成された不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> MeshRegion[{{0}, {1}, {2}}, Line[{1, 2, 3}]]}|>, PlotRange -> All]2つの初期値についてCircleをサンプリングすることで生成された不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x", "y"}, "InitialValues" -> {{"x", "y"} -> Circle[]}|>, PlotRange -> All]不確かな入力 (3)
ARIMAProcessが入力に使われた際に生成された不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"SimulationInterval" -> {0, 10}, "Outputs" -> {"syse.sys.rs"}, "Inputs" -> {"T" -> ARIMAProcess[{-.01}, 1, {.01}, 10^-6]}|>, PlotRange -> All, TargetUnits -> "Millimeters"]複数の関数が入力として使われた際に生成された不確かさをプロットする:
inputs = Table[With[{k = k}, Function[t, 0.1(k Tanh[t] + 0.1k Sin[0.15t])]], {k, 1, 10}];Plot[Through[inputs[x]], {x, 0, 60}]連続撹拌槽反応器の入力流量にこれらのプロファイルを使用する:
SystemModelUncertaintyPlot[[image], <|"Inputs" -> {"deltaFJ" -> inputs}|>, PlotRange -> All]2つの入力についての二次元仮定を使ったことによって生成された不確かさをプロットする:
SystemModelUncertaintyPlot[\!\(\*GraphicsBox[«8»]\), <|"Outputs" -> {"w"}, "Inputs" -> {{"V", "TL"} -> MAProcess[{{{.2, .1}, {-.1, .2}}}, {{0.001, 0}, {0, 0.001}}]}|>, PlotRange -> All]スライス関数 (4)
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}, "SliceFunction" -> "MinMax"|>, PlotRange -> All]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}, "SliceFunction" -> {"Quantiles", {0, 0.45, 0.5, 0.55, 1}}|>, PlotRange -> All]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}, "SliceFunction" -> {"Confidence", {0.95, 0.98, 0.99}}|>, PlotRange -> All]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}, "SliceFunction" -> {Mean[#] - StandardDeviation[#]&, Mean, Mean[#] + StandardDeviation[#]&}|>, PlotRange -> All, PlotLegends -> {μ - σ, μ, μ + σ}]データのラッパー (4)
SystemModelUncertaintyPlot[[image], <|"Outputs" -> Style["x", StandardRed], "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>]"Shared" PlotLayout内のいくつかの変数にラッパーを使う:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {Style["vx", StandardRed], Style["y", StandardOrange]}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotLayout -> "Shared"]SystemModelUncertaintyPlot[[image], <|"Outputs" -> Labeled[Style["x", StandardRed], "position", Below], "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>]"Shared" PlotLayout内のいくつかの変数にラッパーを使う:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {Callout[Style["vx", StandardRed], "velocity", Above], Callout[Style["y", StandardOrange], "position", Below]}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotLayout -> "Shared"]Tooltipを加える:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> Tooltip["x", "position"], "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>]SystemModelUncertaintyPlot[[image], <|"Outputs" -> Legended["x", "position"], "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>]"Shared" PlotLayout内のいくつかの変数のプロット凡例をカスタマイズする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {Legended["vx", "velocity"], Legended["y", "position"]}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotLayout -> "Shared"]オプション (17)
AxesLabel (2)
AxesLabelは,デフォルトのPlotLayoutでは,デフォルトでNoneに設定される:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All, Frame -> False, Axes -> True]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All, AxesLabel -> {"time", "position"}, Frame -> False, Axes -> True]Filling (2)
デフォルトで,既知のスライス関数はカスタマイズされたFillingを使う:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All, Filling -> {1 -> {5}}]FrameLabel (2)
プロットされる変数の単位は,デフォルトで,FrameLabelとして使われる:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, FrameLabel -> {"time", "position"}, PlotRange -> All]Method (1)
Methodでカスタムのシミュレーションメソッドを設定する:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, Method -> <|"SimulationMethod" -> {"InterpolationPoints" -> 10}|>, PlotRange -> All]PlotLabel (1)
PlotLayout (2)
各出力について,個々のプロットのAssociationを得る:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x", "vy"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All, PlotLayout -> "Association"]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x", "vy"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All, PlotLayout -> "Shared"]PlotLegends (2)
デフォルトで,既知のスライス関数はカスタマイズされたPlotLegendsを使う:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}, "SliceFunction" -> {"Quantiles", {0, 0.45, 0.5, 0.55, 1}}|>, PlotRange -> All]SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}, "SliceFunction" -> {"Quantiles", {0, 0.45, 0.5, 0.55, 1}}|>, PlotLegends -> {None, None, "Median", None, None}]ProgressReporting (1)
ProgressReportingで進捗状況のレポートを制御する:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All, ProgressReporting -> False]SamplingPeriod (1)
ScalingFunctions (2)
ScalingFunctionsを使って対数スケール値でモデルをプロットする:
SystemModelUncertaintyPlot[AffineStateSpaceModel[{{x1, 2*x1}, {{}}},
{{x1, 1}, {x2, 1}}], <|"Outputs" -> {x1, x2}, "InitialValues" -> {x1 -> {1, 10, 100, 1000}}|>, ScalingFunctions -> "Log"]そのシミュレーション設定に"Epoch"が含まれているモデルは,一連の日付における値としてプロットされる:
model = SystemModel[[image], <|"ModelName" -> "MyModel", "SimulationSettings" -> {"Epoch" -> Now}|>]SystemModelUncertaintyPlot[model, <|"Outputs" -> {"H"}, "ParameterValues" -> {"k" -> Range[100, 130, 5]}|>]シミュレーション時間のプロットには,ScalingFunctions{None,Automatic}を使用する:
SystemModelUncertaintyPlot[model, <|"Outputs" -> {"H"}, "ParameterValues" -> {"k" -> Range[100, 130, 5]}|>, ScalingFunctions -> {None, Automatic}, TargetUnits -> {"Years", Automatic}]日付目盛りラベルの書式設定には,DateTicksFormat を使用する:
SystemModelUncertaintyPlot[model, <|"Outputs" -> {"H"}, "ParameterValues" -> {"k" -> Range[100, 130, 5]}|>, ScalingFunctions -> {DateScale[DateTicksFormat -> "YearShort"], Automatic}]TargetUnits (1)
TargetUnitsでカスタムの単位を設定する:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> {"x"}, "ParameterValues" -> {"theta" -> Interval[{0, 2π}]}|>, PlotRange -> All, TargetUnits -> {"Seconds", "Decimeters"}]アプリケーション (6)
平衡点近くの軌跡 (1)
初期条件が平衡点に近い値を取るときの,単純な減衰振子の角度と角速度の不確かさをプロットする:
model = CreateSystemModel["DampedPendulum", {ω'[t] == -g Sin[θ[t]] / l - b ω[t], θ'[t] == ω[t]}, t, {θ∈"Units.SI.Angle"}, <|"ParameterValues" -> {g -> 10, l -> 1 / 2, b -> 2}|>]系が小さな角度で停止状態から開始する場合は,安定した地面位置に向かって展開する:
SystemModelUncertaintyPlot[model, <|"SimulationInterval" -> 5, "Outputs" -> θ, "InitialValues" -> {θ -> CenteredInterval[0, π / 4]}|>, ...]系が不安定な完全に反転した位置付近で開始しても,地面位置に向かって展開する:
SystemModelUncertaintyPlot[model, <|"SimulationInterval" -> 5, "Outputs" -> θ, "InitialValues" -> {θ -> Interval[{3π / 4, π - π / 100}]}|>, ...]SystemModelUncertaintyPlot[model, <|"SimulationInterval" -> 5, "Outputs" -> θ, "InitialValues" -> {θ -> Interval[{3π / 4, π - π / 100}]}, "SliceFunction" -> Table[With[{k = k}, Part[#, k]&], {k, RandomSample[Range[200], 20]}]|>, ...]系の許容誤差 (1)
回路の性能は,そのコンポーネントとパラメータの許容誤差に大きく依存する.スピーカーのモデルのコンポーネントの1つの抵抗が切断正規分布に従う場合,スピーカーを流れる電流の変動を測定することができる:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> "speaker.l.i", "SimulationInterval" -> Quantity[40, "Milliseconds"], "ParameterValues" -> {"r1.R" -> TruncatedDistribution[{0, ∞}, NormalDistribution[6, 5]]}|>]外部障害も回路の性能に影響を与える可能性がある.たとえば,スピーカーの入力電圧は高周波信号の影響を受ける可能性がある:
inputs = Table[With[{k = k}, Function[{t}, 2.5Sin[2 π t 50] + k Sin[2 π t 2000]]], {k, 0, 0.6, 0.05}];Plot[Through[inputs[t]], {t, 0, 0.01}]高周波妨害の影響を受けたときのスピーカーの電流の不確かさをプロットする:
SystemModelUncertaintyPlot[[image], <|"Outputs" -> "speaker.l.i", "SimulationInterval" -> Quantity[10, "Milliseconds"], "Inputs" -> {"vi" -> inputs}|>, TargetUnits -> {"Milliseconds", "Milliamperes"}]制御系の検証 (1)
ボールを安定した位置から離して制御されたボールとビームの系を検証する:
model = [image];ボールが平衡点から遠ざかるほど,系はボールを安定した位置に戻すのに苦労する:
spec = <|"SimulationInterval" -> {0, 1.2}, "InitialValues" -> {"syse.sys.ballAndBeamDynamics.rs" -> Interval[{0, 0.15}]}|>;SystemModelUncertaintyPlot[model, Append[spec, "Outputs" -> {"syse.sys.ballAndBeamDynamics.rs"}], PlotRange -> All, PlotLabel -> "r"]コントロール努力は最初にピークに達し,その後さらに数回,ボールが安定した位置を越えるのを防ぐ:
SystemModelUncertaintyPlot[model, Append[spec, "Outputs" -> {"syse.sys.T"}], PlotRange -> All, PlotLabel -> "Control effort"]制御された系は外部妨害に対しても検証される必要がある.ホワイトノイズトルク外乱で制御されたボールおよびビームシの系にストレスを与え,系がノイズのさまざまなサンプリング周期を経験するときのコントロール努力をプロットする:
SystemModelUncertaintyPlot[model, <|"SimulationInterval" -> {0, 1.2}, "Outputs" -> {"syse.sys.T"}, "Inputs" -> {"T" -> WhiteNoiseProcess[0.1]}|>, SamplingPeriod -> 0.3, PlotRange -> All, PlotLabel -> "Control effort"]軌道操作 (1)
円軌道上のおもちゃの宇宙船に対する短時間の接線方向ブーストの影響を研究する:
model = ConnectSystemModelComponents["BoostModel", {"orbit"∈"Control.CircularOrbit", "zero"∈"Blocks.Sources.Constant", "boost"∈"Blocks.Sources.Pulse"}, {"orbit.fr""zero.y", "orbit.fphi""boost.y"}, IconizedObject[«model settings»]]sim = SystemModelSimulate[model, {"orbit.x", "orbit.y"}, Quantity[8, "Hours"], <|"ParameterValues" -> {"boost.amplitude" -> {0, 600, 700, 800, 900, 1000}}|>];SystemModelPlot[sim, PlotLegends -> None, Axes -> False, Frame -> True]ブーストの大きさが正規分布に従う場合は,有界または非有界の軌道が展開される可能性がある.力の中心までの距離の不確かさをプロットする:
SystemModelUncertaintyPlot[model, <|"Outputs" -> {"orbit.r"}, "ParameterValues" -> {"boost.amplitude" -> NormalDistribution[600, 100]}|>]暖房システムのオーバーシュート (1)
シミュレーションの途中で熱流の方向が切り替わる加熱システムのモデルから開始する:
model = \!\(\*GraphicsBox[«8»]\);パイプ内の温度を出力として選択し,シミュレーション区間を指定する:
pipe9T = <|"Outputs" -> "pipe9.mediums[1].T", "SimulationInterval" -> 100|>;パイプの直径をパラメータとして,区間をサンプリング領域として選択する:
uncertainty = <|"ParameterValues" -> {"pipe8.diameter" -> Interval[{0.012, 0.055}]}|>;配管の直径に対する配管温度の不確かさをプロットし,オーバーシュートへの影響を確認する:
SystemModelUncertaintyPlot[model, Join[pipe9T, uncertainty], PlotRange -> {Automatic, {18, 50}}, PlotLabel -> "Temperature overshoot"]pipes89T = <|"Outputs" -> {"pipe9.mediums[1].T", "pipe8.mediums[1].T"}, "SimulationInterval" -> 100|>;SystemModelUncertaintyPlot[model, Join[pipes89T, uncertainty], PlotRange -> All, PlotLayout -> "Shared", PlotLabel -> "Temperature overshoots"]ロボット工学における制御設計 (1)
300kgの荷重を搬送し,目標回転角60°で時間制約付き運動を実行するロボットのモデルから開始する:
model = SystemModel[\!\(\*GraphicsBox[«8»]\), <|"ParameterValues" -> {"mLoad" -> 300}, "ModelName" -> "IndustrialRobot"|>];angle = <|"Outputs" -> "mechanics.r1.angle", "SimulationInterval" -> 1.856, "InterpolationPoints" -> 500|>;コントローラにおけるゲインをパラメータとして,区間をサンプリング領域として選択する:
uncertainty = <|"ParameterValues" -> {"kp1" -> Interval[{1, 30}]}|>;コントローラゲインに対する回転角の不確傘をプロットし,シミュレーション終了時の目標角度における影響を確認する:
SystemModelUncertaintyPlot[model, Join[angle, uncertainty], PlotRange -> {{1.2, 1.85}, {50, 65}}, PlotLabel -> "Rotation angle", GridLines -> {{}, {60}}]特性と関係 (2)
SystemModelPlotを使って個々の曲線をプロットする:
model = \!\(\*GraphicsBox[«8»]\);SystemModelPlot[model, {"Inertia2.w"}, <|"ParameterValues" -> {"Inertia2.J" -> 2}|>]パラメータスイープの際にSystemModelPlotを使って個々の曲線をプロットする:
SystemModelPlot[model, {"Inertia2.w"}, <|"ParameterValues" -> {"Inertia2.J" -> {1, 2, 3}}|>]SystemModelPlotを使ってSystemModelSimulateSensitivityで計算された感度帯をプロットする:
sim = SystemModelSimulateSensitivity[model, 10, {"Inertia2.J"}, <|"ParameterValues" -> {"Inertia2.J" -> 2}|>]SystemModelPlot[sim, {{"Inertia2.w", "Inertia2.J", 0.5}}]SystemModelUncertaintyPlotを使って不確かさをプロットする:
SystemModelUncertaintyPlot[model, <|"Outputs" -> "Inertia2.w", "ParameterValues" -> {"Inertia2.J" -> CenteredInterval[{{1, 1, 536870912, -29}, 63}]}|>]IntervalとCenteredIntervalは領域としてサンプリングされる:
model = \!\(\*GraphicsBox[«8»]\);SystemModelUncertaintyPlot[model, <|"Outputs" -> "Inertia2.w", "ParameterValues" -> {"Inertia2.J" -> CenteredInterval[{{1, 1, 858993460, -33}, 66}]}|>]AroundとVectorAroundはタイプする分布としてサンプリングされる:
SystemModelUncertaintyPlot[model, <|"Outputs" -> "Inertia2.w", "ParameterValues" -> {"Inertia2.J" -> Around[2., 0.1]}|>]テクニカルノート
関連するガイド
関連リンク
テキスト
Wolfram Research (2024), SystemModelUncertaintyPlot, Wolfram言語関数, https://reference.wolfram.com/language/ref/SystemModelUncertaintyPlot.html.
CMS
Wolfram Language. 2024. "SystemModelUncertaintyPlot." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SystemModelUncertaintyPlot.html.
APA
Wolfram Language. (2024). SystemModelUncertaintyPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SystemModelUncertaintyPlot.html
BibTeX
@misc{reference.wolfram_2026_systemmodeluncertaintyplot, author="Wolfram Research", title="{SystemModelUncertaintyPlot}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/SystemModelUncertaintyPlot.html}", note=[Accessed: 04-July-2026]}
BibLaTeX
@online{reference.wolfram_2026_systemmodeluncertaintyplot, organization={Wolfram Research}, title={SystemModelUncertaintyPlot}, year={2024}, url={https://reference.wolfram.com/language/ref/SystemModelUncertaintyPlot.html}, note=[Accessed: 04-July-2026]}