daetools:: isLowIndexDAE

Проверяйте, ниже ли дифференциальный индекс системных уравнений, чем 2

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

daetools::isLowIndexDAE(eqs,vars)

Описание

daetools::isLowIndexDAE(eqs,vars) проверяет, имеет ли система eqs полулинейных дифференциальных алгебраических уравнений первого порядка (ДАУ) низкий дифференциальный индекс. Если дифференциальным индексом системы является 0 или 1, isLowIndexDAE возвращает TRUE. Если дифференциальный индекс eqs выше, чем 1, то daetools::isLowIndexDAE возвращает FALSE.

Количество уравнений eqs должно совпадать с количеством переменных vars.

Примеры

Пример 1

Проверяйте, имеет ли система полулинейных ДАУ первого порядка минимум (0 или 1) дифференциальный индекс.

Создайте следующую систему двух дифференциальных алгебраических уравнений. Здесь, x(t) и y(t) являются переменными состояния системы.

eqs := [diff(x(t),t) = x(t) + y(t), x(t)^2 + y(t)^2 = 1];
vars := [x(t), y(t)]

Используйте daetools::isLowIndexDAE, чтобы проверять дифференциальный порядок системы. Дифференциальным порядком этой системы является 1. Для систем индекса 0 и 1, daetools::isLowIndexDAE возвращает TRUE.

daetools::isLowIndexDAE(eqs, vars)

Пример 2

Проверяйте, имеет ли следующая система ДАУ низкий или высокий дифференциальный индекс. Если индекс выше, чем 1, то используйте daetools::reduceDAEIndex, чтобы уменьшать его.

Создайте следующую систему двух дифференциальных алгебраических уравнений. Здесь, x(t), y(t) и z(t) являются переменными состояния системы.

eqs := [diff(x(t),t) = x(t) + z(t),
        diff(y(t),t) = f(t),
        x(t) = y(t)];

vars := [x(t), y(t), z(t)]

Используйте daetools::isLowIndexDAE, чтобы проверять дифференциальный индекс системы. Для этой системы daetools::isLowIndexDAE возвращает FALSE. Это означает, что дифференциальным индексом системы является 2 или выше.

daetools::isLowIndexDAE(eqs, vars)

Используйте daetools::reduceDAEIndex, чтобы переписать систему так, чтобы дифференциальным индексом был 1. Новая система имеет одну дополнительную переменную состояния, Dyt(t).

[newEqs, newVars, transform, oldIndex] :=
         daetools::reduceDAEIndex(eqs, vars):

newEqs;
newVars

daetools::reduceDAEIndex также возвращает дифференциальный индекс исходной системы.

oldIndex

Проверяйте, ниже ли дифференциальный порядок новой системы, чем 2.

daetools::isLowIndexDAE(newEqs, newVars)

Параметры

eqs

Список или вектор уравнений или выражений в переменных состояния vars и их производные. Выражения представляют уравнения с правой стороной 0.

vars

Список или вектор идентификаторов или выражений, таких как [x1(t), x2(t)].

Возвращаемые значения

TRUE или FALSE.

Введенный в R2014b