exponenta event banner

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