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. Это возвращает список остающихся уравнений, список остающихся переменных и еще четыре списка, содержащие информацию об устраненных уравнениях и переменных. Для получения дополнительной информации смотрите Возвращаемые значения.

Примеры

Пример 1

Используйте 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

Параметры

eqs

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

vars

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

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

Вложенный список, содержащий следующие списки:

  • Список новых уравнений

  • Список тех переменных, которые остаются в новой системе ДАУ

  • Список уравнений, которые не появляются в 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.

Введенный в R2014b