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