Main Content

simscapeEquation

Simscape 言語で作成された方程式へのシンボリック式の変換

説明

simscapeEquation(f) は、シンボリック式 f を Simscape™ 言語で作成された方程式に変換します。この関数は、変数 t についての任意の導関数を、Simscape の表記、X.der に変換します。ここで、X は時間依存変数です。結果の Simscape 方程式において、変数 time は、t についての導関数を除く、変数 t のすべてのインスタンスを置き換えます。

simscapeEquation は、2 次以上の導関数をもつ式を、x1x2 などの新しい変数を使用する 1 次方程式系に変換します。

関数 simscapeEquation(LHS,RHS) は、Simscape 方程式 LHS == RHS を返します。

すべて折りたたむ

以下の式を Simscape 言語による方程式に変換します。

syms t x(t) y(t)
phi = diff(x) + 5*y + sin(t);
simscapeEquation(phi)
simscapeEquation(diff(y),phi)
ans =
    'phi == sin(time)+y*5.0+x.der;'

ans =
    'y.der == sin(time)+y*5.0+x.der;'

この 2 次導関数を含む式を変換します。

syms x(t)
eqn1 = diff(x,2) - diff(x) + sin(t);
simscapeEquation(eqn1)
ans =
    'x.der == x1;
       eqn1 == sin(time)-x1+x1.der;'

この 4 次導関数と 2 次導関数を含む式を変換します。

eqn2 = diff(x,4) + diff(x,2) - diff(x) + sin(t);
simscapeEquation(eqn2)
ans =
    'x.der == x1;
       x1.der == x2;
       x2.der == x3;
       eqn2 == sin(time)-x1+x2+x3.der;'

ヒント

  • Simscape コンポーネント ファイルの [equation] セクションでサポートされる関数の数には、制限があります。詳細とサポートされている関数の一覧については、Simscape のequations (Simscape)を参照してください。Simscape コンポーネント ファイルの [equation] セクションに含まれていない関数がシンボリック方程式に含まれる場合、simscapeEquation はこれらの方程式を Simscape 方程式に正しく変換できません。それらの式はエラー メッセージをトリガーしません。無限大を含む式は、変換が無効になる傾向があります。

バージョン履歴

R2010a で導入