Documentation

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. 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.