daetools
:: reduceRedundancies
Упростите систему дифференциальных алгебраических уравнений первого порядка путем устранения уравнений, содержащих посторонние корни и переменных
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
[newEqs
,newVars
,solvedEquations
,constantVariables
,replacedVariables
,otherEquations
] := daetools::reduceRedundancies(eqs
,vars
)
[newEqs, newVars, solvedEquations, constantVariables, replacedVariables, otherEquations] := daetools::reduceRedundancies(eqs, vars)
устраняет простые уравнения из системы дифференциальных алгебраических уравнений первого порядка eqs
. Это возвращает список остающихся уравнений, список остающихся переменных и еще четыре списка, содержащие информацию об устраненных уравнениях и переменных. Для получения дополнительной информации смотрите Возвращаемые значения.
Используйте daetools::reduceRedundancies
, чтобы упростить систему пяти дифференциальных алгебраических уравнений в четырех переменных к системе двух уравнений в двух переменных.
Создайте следующую систему пяти дифференциальных алгебраических уравнений для четырех переменных состояния: x1(t)
, x2(t)
, x3(t)
и x4(t)
. Эта система также содержит символьные параметры a1
, a2
, a3
, a4
, b
, c
и функция параметра f(t)
, который не является переменной состояния.
eqs := [a1*diff(x1(t),t)+a2*diff(x2(t),t) = b*x4(t), a3*diff(x2(t),t)+a4*diff(x3(t),t) = c*x4(t), x1(t) = 2*x2(t), x4(t) = f(t), f(t) = sin(t)]; vars := [x1(t), x2(t), x3(t), x4(t)]
Используйте daetools::reduceRedundancies
, чтобы устранить уравнения, содержащие посторонние корни и соответствующие переменные состояния.
[newEqs, newVars, solvedEquations, constantVariables, replacedVariables, otherEquations ] := daetools::reduceRedundancies(eqs, vars):
Отобразите новые уравнения и новые переменные.
newEqs; newVars
Отобразите уравнения, что daetools::reduceRedundancies
раньше заменял те переменные состояния от vars
, которые не появляются в newEqs
.
solvedEquations
Отобразите те переменные состояния от vars
что daetools::reduceRedundancies
, замененный постоянными значениями.
constantVariables
Отобразите те переменные состояния от vars
что daetools::reduceRedundancies
, замененный выражениями с точки зрения других переменных.
replacedVariables
Отобразите те уравнения от eqs
, которые не содержат ни одной из переменных состояния vars
.
otherEquations
|
Список или вектор уравнений или выражений в переменных состояния |
|
Список или вектор идентификаторов или выражений, таких как |
Вложенный список, содержащий следующие списки:
Список новых уравнений
Список тех переменных, которые остаются в новой системе ДАУ
Список уравнений, которые не появляются в newEqs
Список уравнений те определения [y1 = value1(t), y2 = value2(t),...]
из переменных [y1,y2,...]
(содержавшийся в исходных уравнениях eqs
и исходном vars
), которые были устранены из eqs
. В newEqs
они заменяются значениями.
Список уравнений те определения [y1 = Y1(t,x,diff(x,t),...), y2 = Y2(t,x,diff(x,t),...),...]
из переменных ]y1,y2,...]
(в исходном vars
), которые были устранены с точки зрения переменных, которые находятся все еще в newVars
. (Как правило, уравнения, включающие только две переменные, используются, чтобы устранить одну из переменных.)
Список уравнений, которые не содержат ни одной из переменных. Эти уравнения не появляются в newEqs
.