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)yt , и 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

Для просмотра документации необходимо авторизоваться на сайте