WSMLink`
WSMLink`

WSMParametricSimulateValue

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

WSMParametricSimulateValue["mmodel",v,{p1,p2,}]

変数 v について"mmodel"のシミュレーションをパラメータ piで行う.

WSMParametricSimulateValue["mmodel",{v1,v2,},{p1,p2,}]

複数の変数 viについて"mmodel"のシミュレーションを行う.

WSMParametricSimulateValue["mmodel",vars,tmax,]

0から tmaxまでのシミュレーションを行う.

WSMParametricSimulateValue["mmodel",vars,{tmin,tmax},]

tminから tmaxまでのシミュレーションを行う.

詳細とオプション

  • WSMParametricSimulateValueは,結果をWSMParametricFunctionオブジェクトによって与える.
  • "mmodel"は完全修飾Modelica名を参照する.
  • 最短の一意的モデル名 mmodel は,WSMNames["*.mmodel"]が一意的なマッチを与える際に使うことができる.
  • WSMParametricSimulateValueにはWSMSimulateと同じオプションを使うことができる.

例題

すべて開くすべて閉じる

  (4)

Wolfram System Modeler Linkをロードする:

z についてのパラメトリック解をパラメータ a で得る:

a の数値について評価すると z についての近似関数解が与えられる:

時点 t=10で評価する:

パラメータの異なるいくつかの値についての解をプロットする:

z についてパラメトリック解を y の初期値について得る:

パラメータの異なるいくつかの値について解をプロットする:

変数 z のパラメータ a に対する感度を示す:

に対する感度は時間とともに増す:

オプション  (1)

Method  (1)

Methodを使ってもとになっているソルバを選ぶ:

DASSLソルバを使う:

ParametricNDSolveをソルバとして使う:

ParametricNDSolveは他のソルバよりも速いことが多い:

アプリケーション  (3)

平衡錘投石機での投石を最大化するためにパラメータを最適化する:

投石のタイミングとロープの長さをさまざまに変えて,投石距離のためのパラメトリック関数を取り出す:

パラメータを適切な範囲に制限して投石距離を最大にする:

最適な投石パラメータを使ってシミュレーションを行う:

最初にバウンドするまでの距離を示す:

保存されているプロットを使って投げられたオブジェクトの軌跡をプロットする:

測定データを比較してモデルのパラメータを調節する:

測定された慣性変数についてのパラメトリック関数を計算する:

モデルのフィッティングのための基準関数を設定する:

テストデータにパラメータをフィットさせる:

フィットされたパラメータでシミュレーションを行う:

テストデータと調節されたモデルを一緒に示す:

モデルのパラメータを多くの測定値の平均にフィットさせる:

パラメータ k1k2k3 に基づいて濃度変数についてのパラメトリック関数を作る:

時点とパラメータの集合について評価するフィット関数を定義する:

測定データを定義する:

データとその分布を示す:

各時点における測定値の平均を計算する:

各時点における測定値の標準偏差を計算する:

測定値の平均からそれに対してフィットさせるデータを構築する:

標準偏差に基づいて各時点に重みを付ける:

パラメータをデータにフィットさせる:

最もよくフィットするパラメータを取り出す:

求まったフィットをすべての測定データとともに表示する:

特性と関係  (2)

WSMParametricSimulateWSMParametricSimulateValueのように動作するが,規則のリストを返す:

WSMParametricSimulateValueは単一のパラメトリック関数を返す:

WSMSimulateSensitivityを使って簡単にパラメータの感度を計算することができる:

パラメータの相対変化に対する信号の感度を示す:

aを変化させたときのyzの境界をプロットする: