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