WSMLink`
WSMLink`

WSMInitialValues

WSMInitialValuesは,バージョン11.3で試験的に導入された関数の連想キー"InitialValues"に段階的に置き換えられつつある.

WSMInitialValues

WSMSimulate等の関数のオプションで,変数の初期値を指定する.

詳細とオプション

  • 設定WSMInitialValues->{v1->a1,}は,シミュレーションまたはモデルにおける初期値 viai に設定する.
  • WSMInitialValuesは,モデルの start 特性に相当する.
  • WSMInitialValuesをシミュレーションに使用してもモデルは再コンパイルされない.
  • WSMInitialValuesは,以下の値を取る:
  • {v1a1,}vi の初期値を ai に設定する
    {v1{a1,a2,},}vi の初期値を aj として並列でシミュレーションを実行する
  • それぞれの vi は,文字列とDotNameのどちらでもよい.

例題

すべて開くすべて閉じる

  (4)

Wolfram SystemModeler Linkをロードする:

デフォルトの初期値でシミュレーションを行う:

xが初期値3を持つように修正する:

さまざまな初期値でシミュレーションを行う:

クレードルの中のボールの初期角度を変化させる:

さまざまな初期角度についての,クレードルの中の最初のボールと最後のボールの角度:

変数に start の値を使ってモデルを作成する:

スコープ  (8)

シミュレーション  (5)

WSMInitialValuesは,シミュレーションの変数の初期値を設定するのに使われる:

WSMInitialValuesは,WSMParameterValuesと一緒に使うことができる:

WSMInitialValuesについてリストが与えられる場合には,複数のシミュレーションが並列で行われる:

複数の初期値が変わるスイープは,等しい長さのリストで行える:

パラメータと初期値の組合せすべてについてシミュレーションを行う:

モデルの作成  (3)

変数に start の値を使ったモデルを作成する:

start の値と初期方程式では,初期方程式が優先される:

start の値を持つモデルを表すModelica文字列を作成する:

アプリケーション  (2)

最終値の条件を満足する初期値を求める:

さまざまな高さで最初に飛び跳ねるボールのシミュレーションを行う:

ボールが18回飛び跳ねる場合のシミュレーションを選ぶ:

成功するシミュレーションにおける最初の高さを求める:

落下をプロットで示す:

平行のスイープを行い,変数を回っている車輪の実験データにフィットさせる:

実験データをインポートし,補間する:

1.9から2.3までの間隔で初期値のシミュレーションを行う:

シミュレーションと実験からノルムの差の合計を求める:

プロットは,質量が2である2つ目のシミュレーションが実験データに最も近いことを示す:

特性と関係  (1)

パラメータは,オプションWSMParameterValuesで設定することができる:

考えられる問題  (2)

初期値の中には,計算されてWSMSimulateで変更することができないものもある:

パラメータをWSMInitialValuesで設定するときには,メッセージは生成されない:

WSMParameterValuesを使ってパラメータを設定する:

おもしろい例題  (1)

さまざまな高さから落とされたボールの高さのプロットを示す: