reduceDifferentialOrder

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

Описание

пример

[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