Производная по времени возврата от операнда
der(x)
x.der
equations
раздел может содержать der
оператор, который возвращает производную по времени от своего операнда:
der(x)
= x.der
= =
der
оператор принимает любое числовое выражение в качестве своего аргумента:
der
применяется к выражениям, которые являются непрерывными, возвращает их производную по времени
der
применяется к time
аргумент возвращает 1
der
применяется к выражениям, которые являются параметрическими или постоянными, возвращает 0
der
применяется к счетным операндам, возвращаемым к 0. Для примера, der(a<b)
возвращает 0, даже если a и b переменные.
Возврат модуля der
- модуль его операнда, разделенная на секунды.
Можно гнездиться der
операторы, чтобы задать производные более высокого порядка. Для примера, der(der(x))
является производной по времени второго порядка x.
Действуют следующие ограничения:
Вы не можете сформировать нелинейные выражения выхода из der
. Для примера, der(x)*der(x)
приведет к ошибке, поскольку эта система больше не является линейно неявной.
Чтобы компонент компилировался, количество дифференциальных уравнений должно равняться количеству дифференциальных переменных.
Этот пример показывает реализацию для простой динамической системы:
Файл Simscape™ выглядит следующим образом:
component MyDynamicSystem variables x = 0; end equations x.der == (1 - x)*{ 1, '1/s' }; % x' = 1 - x end end
Причина, по которой вам нужно умножить на { 1, '1/s' }
является ли это (1-x)
не является единым, в то время как левая сторона (x.der
) имеет модули 1/с. Обе стороны оператора уравнения должны иметь одинаковые модули.