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
.
Проверяйте, имеет ли система полулинейных ДАУ первого порядка минимум (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)
Проверяйте, имеет ли следующая система ДАУ низкий или высокий дифференциальный индекс. Если индекс выше, чем 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)
|
Список или вектор уравнений или выражений в переменных состояния |
|
Список или вектор идентификаторов или выражений, таких как |
TRUE
или FALSE
.