Main Content

Equations

Write equations to represent custom component behavior

The purpose of the equations section in a component file is to establish the mathematical relationships between the variables, parameters, inputs, and outputs of the component, the simulation time, and the time derivatives of each of these entities.

Similarly, the equations section in a domain file serves to establish the mathematical relationships between the domain Across variables, parameters, and intermediates. Domain equations propagate to the nodes of the corresponding domain type.

The syntax of component and domain equations is the same. Defining Component Equations provides generic information on writing equations in Simscape™ language. Domain Equations provides information specific to domain equations.

Language Syntax

assertProgram customized run-time errors and warnings
delayReturn past value of operand
derReturn time derivative of operand
equationsDefine component or domain equations
functionReuse expressions in component equations and in member declarations of domains and components
ifSpecify conditional equations, assignments, annotations, and conditional sections in component files
.ifPerform element-wise conditional operations with array-type predicates (Since R2023b)
integPerform time integration of expression
intermediatesDefine intermediate terms for use in equations
scatteredlookupReturn value based on interpolating unstructured set of data points (Since R2023a)
tablelookupReturn value based on interpolating set of data points
timeAccess global simulation time
valueConvert variable or parameter to unitless value with specified unit conversion

Topics

  • Defining Component Equations

    The purpose of the equations section in a component file is to establish the mathematical relationships between the variables, parameters, inputs, and outputs of the component, the simulation time, and the time derivatives of each of these entities.

  • Simple Algebraic System

    This example shows implementation for a simple algebraic system.

  • Use Simulation Time in Equations

    This example shows how you can access global simulation time from the equation section.

  • Using Conditional Expressions in Equations

    You can specify conditional expressions in equations or conditional assignments to intermediates by using if and .if statements.

  • Using Intermediate Terms in Equations

    Textbooks often define certain equation terms in separate equations, and then substitute these intermediate equations into the main one.

  • Using Lookup Tables in Equations

    You can use the tablelookup function in the equations section of the Simscape file to interpolate input values based on a set of data points in a one-dimensional, two-dimensional, three-dimensional, or four-dimensional table.

  • Programming Run-Time Errors and Warnings

    Use the assert construct to implement run-time error and warning messages for a custom block.

  • Initial Equations

    Specify additional equations to be executed during model initialization only.

  • Simscape Functions

    Use Simscape functions to reuse expressions in equations and member declarations of multiple components.

  • Import Symbolic Math Toolbox Equations

    Example of using Symbolic Math Toolbox™ software to solve the physical equations, generate code in the format appropriate for the Simscape language equation section, and incorporate the generated code into the equation section of a component file.

  • Domain Equations

    Specify additional equations to propagate to all the components that have nodes of the corresponding domain type.