SystemModel["model"]

他の関数の入力として使えるモデル"model"の表現を与える.

SystemModel["model"]["property"]

モデル"model"に指定された"property"を与える.

詳細とオプション

  • SystemModel[]["property"]SystemModel[, "property"]に等しい.
  • SystemModel["model"]["Properties"]は,使用可能な特性のリストを与える.
  • SystemModels["*.model"]が一意的なマッチを与える場合は,短縮名"model"を使うことができる.
  • Import["file.mo","MO"]は指定されたモデルをインポートし,これをSystemModelとして使えるようにする.
  • Exportを使ってSystemModelをディスクに保存する.
  • SystemModel[model,<|"property"->|>]は,modelproperty に変更を加えて新たなSystemModelを作る.
  • 次は,モデル全体に関係する特性である.
  • "Description"モデルのトップレベルの記述
    "Summary"モデルの要約データ
    "ModelName"モデルの完全に適格なパス
    "Diagram"モデルのダイアグラムビュー
    "ModelicaIcon"モデルのアイコンビュー
    "ModelicaDisplay"Modelicaモデルのコードを示す
    "ModelicaString"Modelicaモデルのコードを文字列として示す
    "SourceFile"モデルが保存されているファイル
    "Documentation"モデルのドキュメントを開く
    "DocumentationURL"モデルのドキュメントへのリンク
    "Domain"モデルのドメインを説明する連想
    "DomainChart"モデルのドメインを説明する図
    "Balanced"方程式と変数についてモデルのバランスが取れているかどうか
    "SimulationModel"モデルがシミュレーションモデルかどうか
    "Specialization"特化 "model""package""function"
    "Version"モデルのバージョン情報
    "SimulationSettings"モデルのシミュレーションオプション
  • "ModelicaDisplay"は,テキスト形の"model"を含むスタイル"Program"のセルを作る.
  • "ModelicaString""model"のテキスト形を文字列として返す.
  • SystemModel["model"]["Diagram","c1","c2",]は,"model"中のコンポーネント"c1.c2...ci"のダイアグラムを表示する.
  • SystemModel["model",{property,options}]property "Diagram""ModelicaIcon"には次のoptions を使うことができる.
  • FrameTrue枠を示す
    FrameTicksFalse枠の目盛を示す
    GridLinesNoneどの格子を表示するか
    PlotRangeAutomaticプロット範囲(単位:mm)
    PlotRangePaddingAutomatic充填(単位:mm)
  • GridLines->Inherited はモデルのダイアグラムで定義された格子を継承する. »
  • PlotRange->Automaticは,ダイアグラム内に描画されたプリミティブを取り囲むプロット範囲を指定する.
  • PlotRange->Inherited は,モデルのダイアグラムで指定されたページサイズを継承する.
  • 次は,モデルプロットに関連する特性である.
  • "PlotNames"モデル中のプロットの名前
    "LocalPlotNames"モデルにローカルで定義されたプロットの名前
    "InheritedPlotNames""ExtendsModels"から継承されたプロットの名前
    "Plots"モデルプロットの指定
    "LocalPlots"モデルにローカルで指定されたプロットの指定
    "InheritedPlots""ExtendsModels"に指定されたプロットの指定
  • "Plots""LocalPlots"からのモデルプロットは plotspec のリストである.
  • plotspec は次のキーを持つAssociation である.
  • "Subplots"{sp1,sp2,}サブプロット指定のリスト(必須)
    "Identifier"Automaticプロット識別子
    "Name"Automaticプロット名
    "Group"Noneグループ名
    "Default"Falseプロットがデフォルトのものかどうか
    "Caption"Noneプロットのキャプション
  • 各サブプロット指定 spiは以下のキーを含むAssociationである.
  • "Variables"{v1,v2,}変数のリスト(必須)
    "Identifier"Noneサブプロット識別子
    "Title"Automaticサブプロットのタイトル
    "Interval"Automatic時間間隔
    "AxesLabel"Automatic軸ラベル
    "PlotLegends"Automatic曲線の凡例
    "PlotRange"Automatic含める値の範囲
  • モデルプロット"Variables"は次の形式を取ることができる.
  • {"v1","v2",}変数 vi
    {{"v1,x","v1,y"},}vi,xvi,yのパラメトリックプロット
    {{"v1","p1",d1},}100 di%変化する piについての viの周りの感度境界
  • モデルプロット"Interval"には{tmin,tmax}または tmaxを与えることができる.
  • モデルプロット"AxesLabel"は,AutomaticNoney 軸の文字列ラベル,あるいは{"xlabel","ylabel"}でよい.
  • "PlotLegends"の可能な値は,AutomaticNone,あるいはプロット中の1つの変数につき1文字列のリストである.
  • "PlotRange"は,Automatic{ymin,ymax}あるいは{-y,y}と解釈される y である.
  • "Default"Trueのとき,プロットはSystemModelPlot[model]に含まれる.
  • 次は,方程式および変数に関連する特性である.
  • "SystemEquations"微分方程式および代数方程式
    "InitialEquations"初期値方程式
    "InitialSeedings"初期化の推定値
    "StateVariables"微分された変数
    "AlgebraicVariables"微分されていない変数
    "SystemVariables"状態変数と代数変数
    "TopSystemVariables"成分変数を除くシステム変数
    "InputVariables"入力として指定された変数
    "OutputVariables"出力として指定された変数
    "ParameterNames"パラメータ
    "TopParameterNames"成分パラメータを除くパラメータ
    "DiscreteVariables"イベントでのみ変化する変数
  • "SystemEquations"tに依存する方程式を与える.
  • SystemModel["model"]["SystemEquations",t]t に依存する方程式を与える.
  • SystemModel[]は,表現できない方程式の任意の部分についてのMissing[type,content]を含む.
  • "InputVariables""SystemVariables"とは異なり,"OutputVariables""SystemVariables"の部分集合である.
  • "DiscreteVariables""SystemVariables"の部分集合で,NDSolveDiscreteVariablesオプションの設定にふさわしい形で与えられる.
  • 次は,値に関連する特性である.
  • "ParameterValues"パラメータ規則{p1->val1,}
    "InitialValues"初期値規則{v1->val1,}
    "GroupedInitialValues"状態,入力,出力によってグループ化された初期値
  • SystemModel["model"][{prop,patt}]は,変数およびパラメータのリストについては,Modelica形式が文字列パターン patt にマッチする prop の要素を返す.
  • 次は,モデル構造に関連する特性である.
  • "ExtendsModels"このモデルを拡張したモデル
    "Components"モデルのコンポーネント
    "Connections"モデルの接続
    "Connectors"モデルのコネクタコンポーネント
    "LocalComponents"モデル中でローカルに定義されたコンポーネント
    "LocalConnections"モデル中でローカルに定義された接続
    "LocalConnectors"モデル中でローカルに定義されたコネクタ
    "InheritedComponents""ExtendsModels"で定義されたコンポーネント
    "InheritedConnections""ExtendsModels"で定義された接続
    "InheritedConnectors""ExtendsModels"で定義されたコネクタ
  • 次は,他のモデルとの関係に関連する特性である.
  • "ModelsExtending"このモデルを拡張したモデル
    "ModelsContaining"このモデルをコンポーネントとして使うモデル
    "Parent"パッケージの階層における親モデル
    "Children"パッケージの階層における子モデル
    "Siblings"パッケージの階層における兄弟モデル
  • 次は使用可能なオプションである.
  • MethodAutomatic方程式の処理メソッド
    ProgressReporting$ProgressReporting進捗表示の制御
  • Method->{"opt1"->val1}中の"opti"の可能な設定には次がある.
  • "Elimination"None単純な方程式を除去する
    "ReduceIndex"Automaticバランスの取れたモデル中の微分代数方程式の簡約された指数
    "StartTime"0シミュレーションの開始時間
  • 特性"PropertyAssociation""PropertyDataset"はすべての特性の計算可能な形式を返す.

例題

すべて開くすべて閉じる

  (5)

モデルの表現を得る:

モデル表現を使って特性を取り出す:

モデルの要約を表示する:

Import"MO"形式を使ってディスクからモデルをロードする:

モデルについての別の方程式を得る:

モデルの微分方程式を得る:

SystemModelExamplesを使って製品に含まれているモデルの例からランダムに選ぶ:

モデルの完全名と説明を表示する:

スコープ  (59)

基本的な用法  (5)

使用可能な特性のリストを表示する:

モデルの説明を得る:

モデルの説明を変える:

モデルの図をGraphicsとして得る:

モデルの系の方程式を得る:

DCモーターモデルのコンポーネントと接続を得る:

モデル表現  (7)

モデルのダイアグラムをGraphicsとして得る:

格子線を表示する:

枠の目盛を表示する:

モデルのコンポーネントのダイアグラムを得る:

ダイアグラムのPlotRangePaddingを大きくする:

モデルのダイアグラムを,枠なしで,モデルからのページサイズを使って表示する:

モデルのアイコンを表示する:

モデルのテキストビューを表示する:

モデルのModelicaコードをStringとして取り出す:

モデルの情報  (5)

モデルを含むファイルのパスを得る:

SystemModelのモデル名を取り出す:

新たな名前でコピーを作る:

モデルのドキュメントへのリンクを得る:

モデルのドキュメントを開く:

モデルのシミュレーション設定を取り出す:

このモデルから,新たなシミュレーション設定のモデルを作る:

新規モデルのシミュレーション設定を取り出す:

モデルのドメインの使用法を得る:

モデルで使われているドメインの図を得る:

変数と方程式  (9)

モデルの系の方程式を得る:

モデルの初期方程式を得る:

モデルのすべての状態変数を得る:

モデルの代数変数すべてのリストを得る:

モデルのシステム変数すべてのリストを得る:

モデル中のすべての入力変数のリストを得る:

モデル中のすべての出力変数のリストを得る:

モデルの離散変数を得る:

モデルのすべてのパラメータ名を得る:

初期値とパラメータ値を取り出す  (3)

モデルのすべてのパラメータ値を得る:

モデルのすべての初期値を得る:

状態,入力,出力でグループ化された初期値を得る:

初期値とパラメータ値を変更する  (5)

パラメータaの値を3から10に変える:

変数xの開始値を3に設定する:

モデルで多次元変数を使う:

変数の初期値を設定する:

変数xstart 値が更新された:

モデルの文字列の値を設定する:

文字列パラメータに新たな値を与える:

xの値が更新された:

多くの場合,パラメータと初期値は明示的ではなく設定できる:

変数 y のパラメータ a と初期値を,どちらがパラメータか指定せずに設定する:

変数 y の開始値が変更された:

パラメータ a の値も変更された:

時間変数とフィルタリング  (2)

デフォルトで,方程式は時間変数としてtを使う:

選択した変数に依存する微分方程式を得る:

パターンにマッチするパラメータ値を得る:

構造的特性  (5)

モデルがその上に構築されているモデルを得る:

モデル名を表示する:

モデルから,他のクラスに拡張する新たなモデルを作る:

拡張されたモデルのリストを確認する:

DCモーターモデルのコンポーネントと接続を得る:

モデル中でローカルに宣言されたコンポーネントを得る:

"ExtendsModels"から継承されたコンポーネントを得る:

"Components"には,ローカルのものと継承されたものの,両方のコンポーネントが含まれている:

モデルのコネクタを得る:

モデルの関係  (3)

モデルの階層的な関係を示す:

親を示す:

子を示す:

子の名前を表示する:

兄弟を示す:

兄弟の名前を表示する:

コンポーネントとして抵抗を使うモデルすべてを求める:

電気的1-ポート上に構築されたモデルすべてを求める:

モデルプロットを取り出す  (3)

モデル中のプロットの名前を得る:

モデルプロットのシミュレーションを行い,そのプロットを表示する:

モデル中のプロットの完全な指定を得る:

同じフォーマットを使ってモデル内にプロットを設定することができる.プロットなしでモデルのコピーを作る:

新たなモデルにプロットを加える:

シミュレーションを行い,プロットを表示する:

プロットは継承されている:

モデルにローカルに保存されたプロットはない:

プロットは拡張モデルからきている:

モデルプロットを変更する  (12)

パラメトリックプロットをモデル中に定義する:

新たに定義されたプロットのシミュレーションを行い,結果のプロットを表示する:

パラメータ"sine.freqHz"に対する"integrator1.y"の感度が10%変化するプロットを定義する:

周波数パラメータに対する感度解析付きでシミュレーションを行う:

モデルプロットを表示する:

グループ中の2つのプロットを定義する:

グループ内の全シミュレーションを行ってプロットを表示する:

カスタムプロットの凡例を付けてプロットを定義する:

シミュレーションを行ってプロットを表示する:

カスタムの軸ラベルでプロットを定義する:

シミュレーションを行ってプロットを表示する:

プロット範囲に制限のあるプロットを定義する:

シミュレーションを行ってプロットを表示する:

時間範囲に制限のあるプロットを定義する:

シミュレーションを行ってプロットを表示する:

軸ラベルのないプロットを定義する:

シミュレーションを行ってプロットを表示する:

1本の軸に軸ラベルがあるプロットを定義する:

シミュレーションを行ってプロットを表示する:

デフォルトプロットを定義する:

デフォルトプロットは,プロット名あるいは変数が与えられない場合に,SystemModelPlotで使われる:

既存のプロットと同じ名前を与えると,プロットが上書きされる:

最後に定義されたプロットが使われる:

プロットをモデルから取り除く:

空のサブプロットリストを与えることで,プロットの一つをモデルから取り除く:

オプション  (4)

Method  (3)

初期方程式でカスタムの開始時間を使う:

初期シードでカスタムの開始時間を使う:

Methodオプションの"Elimination"を使って冗長な方程式を除外することができる:

除外することで方程式の数を大幅に減らすことができる:

メソッドオプションの"ReduceIndex"を使って指数が簡約されないようにする:

ProgressReporting  (1)

ProgressReportingで進捗状況の報告を制御する:

アプリケーション  (6)

NDSolveを使って方程式を解く:

初期値のリストから初期方程式を構築する:

この系を解く:

求まった解をプロットする:

DSolveを使って方程式を解く:

方程式と系の変数を得る:

初期値を得る:

方程式を組み合せ,すべてのパラメータをデフォルト値で置換する:

この系を解き,結果をプロットする:

このモデルの平衡点を求める:

方程式を得る:

導関数を0に設定して解く:

FindSystemModelEquilibriumも同じ結果を与える:

微分方程式を使って減衰された振子の動作を研究する:

質量・ばね・ダンパー系のStateSpaceModelをSystemModelerモデルに移す:

変更を加えたモデルのシミュレーションを行う:

質量・ばね・ダンパーTransferFunctionModelをモデルに移す:

分母と分子の係数を得る:

モデルで係数を設定する:

変更を加えたモデルのシミュレーションを行う:

特性と関係  (9)

モデルはグラフィカルな表現で表される:

この表現は他の関数への入力として使うことができる:

文字列としてのモデルの完全名を,特性とともに取り出すことができる:

モデル名の文字列は,完全なSystemModel式の代りに使うことができる:

名前の短縮形が一意的なら,これを使ってモデルを参照することができる:

結果のオブジェクトは完全に適切なモデル名を参照する:

短縮名が一意的ではない場合は,メッセージが返され,タイプセットオブジェクトは返されない:

コンポーネントのダイアグラムはコンポーネントモデルのダイアグラムとは異なることがある:

モーターのモデルそれ自体はパラメータ集合を持たない:

SystemModelは変更を加えた新たなモデルを生成する:

新しいモデルと古いモデルは異なる2つのオブジェクトである:

SetSystemModelはその場で修正を加え,与えられたオブジェクトを変更する:

Importは,"MO"形式を使ってディスクからモデルをロードする:

インポートした後は,SystemModelを使ってモデルにアクセスできる:

DeleteObjectを使ってモデルを削除する:

削除されたモデルを使おうとするとエラーが出る:

Exportはモデルをディスクに保存する:

新たなモデルを"DiffEq"として保存する:

保存されたファイルを表示する:

新たなファイルとモデルを削除してクリーンアップする:

システムモデルは実体を使って調べてみることができる:

使用可能な特性をリストする:

このシステムのモデルの子をリストする:

モデルのシステム方程式を取り出す:

SystemModelSimulateの解とNDSolveの解を比較する:

NDSolveを使って解く:

SystemModelSimulateを使って解く:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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