Аппроксимация Паде порядка [m, n] аппроксимирует функцию f (x) вокруг x = x 0 как
Аппроксимация Паде является рациональной функцией, образованной отношением двух степенных рядов. Поскольку это рациональная функция, она точнее ряда Тейлора в аппроксимации функций с полюсами. Аппроксимация Паде представлена функцией Symbolic Math Toolbox™ pade
.
Когда шест или нуль существует в точке расширения x = x 0, точность аппроксимации Паде уменьшается. Для повышения точности может использоваться альтернативная форма аппроксимации Паде, которая является
pade
функция возвращает альтернативную форму аппроксимации Паде, когда вы задаете OrderMode
входной параметр в Relative
.
Аппроксимация Паде используется в теории систем управления, чтобы смоделировать задержки в отклике системы. Задержки возникают в таких системах, как химические и транспортные процессы, где существует задержка между входом и откликом системы. Когда эти входы моделируются, они называются входами с потерей времени. В этом примере показано, как использовать Symbolic Math Toolbox для моделирования отклика системы первого порядка на входы с потерей времени с использованием аппроксимаций Padé.
Поведение системы первого порядка описывается этим дифференциальным уравнением
Введите дифференциальное уравнение в MATLAB®.
syms tau a x(t) y(t) xS(s) yS(s) H(s) tmp F = tau*diff(y)+y == a*x;
Найдите преобразование Лапласа F
использование laplace
.
F = laplace(F,t,s)
F =
Примите ответ системы в t = 0
является 0
. Использовать subs
для замены y(0) = 0
.
F = subs(F,y(0),0)
F =
Чтобы собрать общие термины, используйте simplify
.
F = simplify(F)
F =
Для читаемости замените преобразования Лапласа x(t)
и y(t)
с xS(s)
и yS(s)
.
F = subs(F,[laplace(x(t),t,s) laplace(y(t),t,s)],[xS(s) yS(s)])
F =
Преобразование Лапласа передаточной функции yS(s)/xS(s)
. Разделите обе стороны уравнения на xS(s)
и использование subs
для замены yS(s)/xS(s)
с H(s)
.
F = F/xS(s); F = subs(F,yS(s)/xS(s),H(s))
F =
Решите уравнение для H(s)
. Замена H(s)
с фиктивной переменной, решить для фиктивной переменной используя solve
, и назначить решение обратно H(s)
.
F = subs(F,H(s),tmp); H(s) = solve(F,tmp)
H(s) =
Вход в систему первого порядка является шагом с задержкой во времени. Чтобы представлять входной вход шага, используйте heaviside
. Задержка входа на три временных модулей. Найдите преобразование Лапласа используя laplace
.
step = heaviside(t - 3); step = laplace(step)
step =
Найдите ответ системы, который является продуктом передаточной функции и входа.
y = H(s)*step
y =
Чтобы разрешить построение графика отклика, установите параметры a
и tau
к их значениям. Для a
и tau
, выберите значения 1
и 3
, соответственно.
y = subs(y,[a tau],[1 3]); y = ilaplace(y,s);
Найдите аппроксимацию порядка Паде [2 2]
шага входа с использованием Order
входной параметр в pade
.
stepPade22 = pade(step,'Order',[2 2])
stepPade22 =
Найдите ответ на вход, умножив передаточную функцию и аппроксимацию Padé входного сигнала.
yPade22 = H(s)*stepPade22
yPade22 =
Найдите обратное преобразование Лапласа yPade22
использование ilaplace
.
yPade22 = ilaplace(yPade22,s)
yPade22 =
Чтобы построить график отклика, установите параметры a
и tau
к своим значениям 1
и 3
, соответственно.
yPade22 = subs(yPade22,[a tau],[1 3])
yPade22 =
Постройте график отклика системы y
и ответ, вычисленный из аппроксимации Паде yPade22
.
hold on grid on fplot([y yPade22],[0 20]) title('Pade Approximant for dead-time step input') legend('Response to dead-time step input',... 'Pade approximant [2 2]',... 'Location', 'Best')
The [2 2]
Аппроксимация Паде не хорошо представляет реакцию, потому что полюс существует в точке расширения 0
. Для повышения точности pade
когда в точке расширения есть шест или нуль, установите OrderMode
входной параметр в Relative
и повторите шаги. Для получения дополнительной информации см. pade
.
stepPade22Rel = pade(step,'Order',[2 2],'OrderMode','Relative')
stepPade22Rel =
yPade22Rel = H(s)*stepPade22Rel
yPade22Rel =
yPade22Rel = ilaplace(yPade22Rel)
yPade22Rel =
yPade22Rel = subs(yPade22Rel,[a tau],[1 3])
yPade22Rel =
fplot(yPade22Rel,[0 20],'DisplayName','Relative Pade approximant [2 2]')
Точность аппроксимации Паде также может быть увеличена путем увеличения её порядка. Увеличьте порядок до [4 5]
и повторите шаги. The [n-1 n]
Аппроксимация Паде лучше аппроксимирует ответ при t = 0
чем [n n]
Паде аппроксимация.
stepPade45 = pade(step,'Order',[4 5])
stepPade45 =
yPade45 = H(s)*stepPade45
yPade45 =
yPade45 = subs(yPade45,[a tau],[1 3])
yPade45 =
yPade45 = ilaplace(yPade45)
yPade45 =
yPade45 = vpa(yPade45)
yPade45 =
fplot(yPade45,[0 20],'DisplayName','Pade approximant [4 5]')
Показаны следующие точки:
Аппроксимации Padé могут моделировать входы шага с потерей времени.
Точность аппроксимации Паде увеличивается с увеличением порядка аппроксимации.
Когда в точке расширения существует шест или нуль, аппроксимация Паде неточна относительно точки расширения. Чтобы увеличить точность аппроксимации, установите OrderMode
опция для Relative
. Можно также использовать увеличение порядка знаменателя относительно числителя.