reduceDifferentialOrder

Уменьшайте систему дифференциальных уравнений высшего порядка к эквивалентной системе дифференциальных уравнений первого порядка

Синтаксис

[newEqs,newVars] = reduceDifferentialOrder(eqs,vars)
[newEqs,newVars,R] = reduceDifferentialOrder(eqs,vars)

Описание

пример

[newEqs,newVars] = reduceDifferentialOrder(eqs,vars) переписывает систему дифференциальных уравнений высшего порядка eqs как система дифференциальных уравнений первого порядка newEqs путем замены производными в eqs с новыми переменными. Здесь, newVars состоит из исходных переменных vars, увеличенных с этими новыми переменными.

пример

[newEqs,newVars,R] = reduceDifferentialOrder(eqs,vars) возвращает матричный R, который выражает новые переменные в newVars как производные исходных переменных vars.

Примеры

Уменьшайте дифференциальный порядок системы ДАУ

Уменьшайте систему, содержащую ДАУ высшего порядка к системе, содержащей только ДАУ первого порядка.

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

syms x(t) y(t) c1 c2
eqs = [diff(x(t), t, t) + sin(x(t)) + y(t) == c1*cos(t),...
                              diff(y(t), t) == c2*x(t)];
vars = [x(t), y(t)];

Перепишите эту систему так, чтобы все уравнения стали дифференциальными уравнениями первого порядка. Функция reduceDifferentialOrder заменяет ДАУ высшего порядка по выражениям первого порядка путем представления новой переменной Dxt(t). Это также представляет все уравнения как символьные выражения.

[newEqs, newVars] = reduceDifferentialOrder(eqs, vars)
newEqs =
 diff(Dxt(t), t) + sin(x(t)) + y(t) - c1*cos(t)
                        diff(y(t), t) - c2*x(t)
                         Dxt(t) - diff(x(t), t)
 
newVars =
   x(t)
   y(t)
 Dxt(t)

Покажите отношения между сгенерированными и исходными переменными

Уменьшайте систему, содержащую секунду - и выражение третьего порядка к системе, содержащей только ДАУ первого порядка. Кроме того, возвратите матрицу, которая выражает переменные, сгенерированные reduceDifferentialOrder через исходные переменные этой системы.

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

syms x(t) y(t) f(t)
eqs = [diff(x(t),t,t) == diff(f(t),t,t,t), diff(y(t),t,t,t) == diff(f(t),t,t)];
vars = [x(t), y(t)];

Вызовите reduceDifferentialOrder с тремя выходными аргументами. Этот синтаксис возвращает матричный R с двумя столбцами: первый столбец содержит новые переменные, и второй столбец выражает новые переменные как производные исходных переменных, x(t) и y(t).

[newEqs, newVars, R] = reduceDifferentialOrder(eqs, vars)
newEqs =
 diff(Dxt(t), t) - diff(f(t), t, t, t)
   diff(Dytt(t), t) - diff(f(t), t, t)
                Dxt(t) - diff(x(t), t)
                Dyt(t) - diff(y(t), t)
             Dytt(t) - diff(Dyt(t), t)
 
newVars =
    x(t)
    y(t)
  Dxt(t)
  Dyt(t)
 Dytt(t)
 
R =
[  Dxt(t),    diff(x(t), t)]
[  Dyt(t),    diff(y(t), t)]
[ Dytt(t), diff(y(t), t, t)]

Входные параметры

свернуть все

Система, содержащая дифференциальные уравнения высшего порядка, заданные как вектор символьных уравнений или выражений.

Переменные исходных дифференциальных уравнений, заданных как вектор символьных функций или вызовы функции, такие как x(t).

Пример: [x(t),y(t)]

Выходные аргументы

свернуть все

Система дифференциальных уравнений первого порядка, возвращенных как вектор-столбец символьных выражений.

Расширенный набор переменных, возвращенных как вектор-столбец символьных вызовов функции. Этот вектор включает переменные vars исходного состояния, сопровождаемые сгенерированными переменными, которые заменяют производные высшего порядка в eqs.

Отношения между новыми и исходными переменными, возвращенными как символьная матрица с двумя столбцами. Первый столбец содержит новые переменные newVars. Второй столбец содержит их определение как производные исходных переменных vars.

Введенный в R2014b