メインコンテンツ

der

オペランドの時間微分を返す

親の節: equations

構文

der(x)

説明

der 演算子は、そのオペランドの時間微分を返します。

der(x) = x˙ = dxdt

der 演算子は、コンポーネントまたはドメインの equations セクションで使用します。

der 演算子は、引数として任意の数値式を受け取ります。

  • 連続の式に der を適用すると、その時間微分が返されます。

  • time 引数に der を適用すると、1 が返されます。

  • パラメトリックな式または定数の式に der を適用すると、0 が返されます。

  • 可算オペランドに der を適用すると、0 が返されます。たとえば、a および b が変数であっても、der(a<b) は 0 を返します。

der の戻り値の単位は、そのオペランドの単位を秒で除算したものになります。

der 演算子を入れ子にして、高次の微分を指定できます。たとえば、der(der(x)) は x の 2 階時間微分です。

次の制限が適用されます。

  • der の出力の非線形式を形成することはできません。たとえば、der(x)*der(x) は、陰的な線形システムではなくなるため、エラーが発生します。

  • コンポーネントをコンパイルするには、微分方程式の数が微分変数の数と等しくなくてはなりません。

すべて展開する

次の例では、単純な動的システムの実装を示します。

x˙=1x

完全な Simscape™ ファイルは次のとおりです。

component MyDynamicSystem
  variables
    x = 0;
  end
  equations
    der(x) == (1 - x)*{ 1, '1/s' };  % x' = 1 - x
  end
end

{ 1, '1/s' } で乗算する理由は、(1-x) が単位なしであるのに対し、左辺 (der(x)) の単位が 1/s であるためです。方程式ステートメントの両辺の単位は同じでなければなりません。

ヒント

  • x.derder(x) と等価ですが、推奨されません。コードをわかりやすくするために der(x) を使用してください。x.der は将来のリリースで削除される可能性があります。

バージョン履歴

R2008b で導入

参考