Main Content

simscapeEquation

Convert symbolic expressions to Simscape language equations

Description

example

simscapeEquation(f) converts the symbolic expression f to a Simscape™ language equation. This function call converts any derivative with respect to the variable t to the Simscape notation X.der. Here X is the time-dependent variable. In the resulting Simscape equation, the variable time replaces all instances of the variable t except for derivatives with respect to t.

simscapeEquation converts expressions with the second and higher-order derivatives to a system of first-order equations, introducing new variables, such as x1, x2, and so on.

example

simscapeEquation(LHS,RHS) returns a Simscape equation LHS == RHS.

Examples

collapse all

Convert the following expressions to Simscape language equations.

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;'

Convert this expression containing the second derivative.

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

Convert this expression containing the fourth and second derivatives.

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;'

Tips

  • The equation section of a Simscape component file supports a limited number of functions. For details and the list of supported functions, see Simscape equations (Simscape). If a symbolic equation contains functions that are not available in the equation section of a Simscape component file, simscapeEquation cannot convert these equations correctly to Simscape equations. Such expressions do not trigger an error message. Expressions with infinities are prone to invalid conversion.

Version History

Introduced in R2010a