WSMLink`
WSMLink`

WSMModelData

WSMModelDataは,バージョン11.3で試験的に導入されたSystemModelに置き換えられた.

WSMModelData["mmodel"]

他の関数への入力として使用可能なモデル"mmodel"の線図表現を与える.

WSMModelData["mmodel","property"]

モデル"mmodel"について,指定された"property"を与える.

詳細とオプション

  • WSMModelData["mmodel","Properties"]は使用可能なプロパティのリストを与える.
  • モデル全体に関連するプロパティ: »
  • "Description"モデルのトップレベルの記述
    "Diagram"モデルの線図ビュー
    "Icon"モデルのアイコンビュー
    "ModelicaText"Modelicaモデルのコードを示す
    "ModelName"完全修飾モデルパス
    "LocalPlotNames"モデルにローカルに保存されているプロットの名前
    "PlotNames"継承されたものを含むプロット名
    "SourceFile"モデルが保存されているファイル
    "Summary"モデルの要約データ
  • "ModelicaText"は,"mmodel"のテキスト形を含むスタイルが"Program"であるセルを作る.
  • テキスト型のインターフェースでは,"ModelicaText""mmodel"のテキスト形を文字列として返す.
  • WSMModelData[{"mmodel","c1","c2",}, "Diagram"]"mmodel"内のコンポーネント"c1.c2...ci"のダイアグラムを表示する.
  • WSMModelData["mmodel",{property,options}]では,property "Diagram"および"Icon"について,次の options が使える.
  • FrameTrue枠を示す
    FrameTicksFalse枠目盛を示す
    GridLinesNoneどの格子線を表示するか
    PlotRangeAutomaticプロット範囲(単位:mm)
    PlotRangePaddingAutomatic充填(単位:mm)
  • GridLines->Inherited とすると,モデル図中で定義されたグリッドが継承される. »
  • PlotRange->Automaticとすると,図の中に描画されたプリミティブを囲い込むプロット範囲が指定される.
  • PlotRange->Inherited とすると,モデル図中で指定されたページサイズが継承される. »
  • 方程式と変数に関連するプロパティ: »
  • "SystemEquations"微分方程式および代数方程式
    "InitialEquations"初期値方程式
    "StateVariables"微分された変数
    "AlgebraicVariables"微分されていない変数
    "SystemVariables"状態変数と代数変数
    "InputVariables"入力として指定された変数
    "OutputVariables"出力として指定された変数
    "ParameterNames"パラメータ
    "DiscreteVariables"事象に際してのみ変化する変数
  • "SystemEquations"tに依存する方程式を返す.
  • WSMModelData["mmodel","SystemEquations",t]t に依存する変数を返す.
  • WSMModelData[]は,表現不可能な方程式の任意の部分についてのMissing[type,content]を含む.
  • "InputVariables""SystemVariables"とは明らかに異なり,"OutputVariables""SystemVariables"の部分集合である.
  • "DiscreteVariables""SystemVariables"の部分集合で,NDSolveDiscreteVariablesオプションの設定に適した形で与えられる.
  • 値に関連するプロパティ: »
  • "ParameterValues"パラメータ規則 {p1->val1,}
    "InitialValues"初期値規則 {v1->val1,}
    "GroupedInitialValues"状態,入力,出力でグループ化された初期値
  • 変数とパラメータのリストについて,WSMModelData["mmodel",{prop,patt}]はModelica形が文字列パターン patt にマッチする prop の要素を返す.
  • モデルの構造に関係する特性:
  • "BaseClasses"モデルが拡張するクラス
    "Components"モデルのコンポーネント
    "Connections"モデルの接続
    "Connectors"モデルの接続コンポーネント
    "LocalComponents"モデル内でローカルに定義されたコンポーネント
  • 他のモデルとの関係に関連する特性:
  • "ExtendingClasses"このモデル上に構築するクラス
    "InstantiatingClasses"このモデルをコンポーネントとして使うクラス
  • WSMNames["*.mmodel"]が一意的なマッチを与えるところでは,最短の一意的なモデル名 mmodel を使うことができる.
  • 使用可能なオプション:
  • Method Automatic方程式の処理方法
  • Method->{"opt1"->val1}における"opti"の使用可能な設定値:
  • "Elimination"All単純な方程式を除外する
    "ReduceIndex"True平衡モデルにおける微分代数方程式の指数を減少させる
    "StartTime"0シミュレーションの開始時間

例題

すべて開くすべて閉じる

  (4)

Wolfram System Modeler Linkをロードする:

線図で表されたモデルを示す:

線図表現を入力として使う:

モデルの要約を示す:

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

スコープ  (30)

一般的なプロパティ  (12)

使用可能なプロパティのリストを示す:

モデルの記述を得る:

モデルの図を得る:

グリッドを示す:

枠目盛を示す:

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

図のPlotRangePaddingを増やす:

モデルのページサイズを使い,モデルの図を枠なしで示す:

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

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

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

モデル内に保存されたプロットの名前を得る:

保存されたプロットのシミュレーションを行い,表示する:

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

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

保存されたモデルはベースクラスからのものである:

図表示のモデル名を取得する:

変数と方程式  (9)

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

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

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

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

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

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

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

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

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

初期値とパラメータ値  (3)

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

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

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

命名  (2)

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

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

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

構造的特性  (4)

モデルが構築されるクラスを得る:

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

ローカルに宣言されたコンポーネントをモデルに取り込む:

"Components" は継承されたコンポーネントを含む:

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

オプション  (3)

Method  (3)

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

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

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

メソッドオプション"ReduceIndex"で指数減少を不可にする:

アプリケーション  (4)

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

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

系を解く:

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

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

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

初期値を得る:

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

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

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

方程式を求める:

微分を0に設定して解く:

WSMFindEquilibriumでも同じ結果が得られる:

微分方程式を使って減水振子の動作を調べる:

特性と関係  (3)

WSMSimulateによる解とNDSolveによる解を比較する:

NDSolveを使って解く:

WSMSimulateを使って解く:

モデルはその図で表される:

図表示はWSMModelData["modelname"]を評価したものである:

図表示は他の関数の入力として直接使うことができる:

成分のダイアグラムは成分クラスのそれとは異なるかもしれない:

モータークラスそれ自体はパラメータ集合を持たない: