Производная по времени возврата от операнда
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/с. Обе стороны оператора уравнения должны иметь одинаковые модули.