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.
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
assert | Program customized run-time errors and warnings |
delay | Return past value of operand |
der | Return time derivative of operand |
equations | Define component or domain equations |
function | Reuse expressions in component equations and in member declarations of domains and components |
if | Specify conditional equations, assignments, annotations, and conditional sections in component files |
.if | Perform element-wise conditional operations with array-type predicates (Since R2023b) |
integ | Perform time integration of expression |
intermediates | Define intermediate terms for use in equations |
scatteredlookup | Return value based on interpolating unstructured set of data points (Since R2023a) |
tablelookup | Return value based on interpolating set of data points |
time | Access global simulation time |
value | Convert 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 theequations
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.