How to create Padé approximation of a time delay in transfer function form using different orders for numerator and denominator polynomials?

조회 수: 2 (최근 30일)
I am using MATLAB R2023b, and I want to generate a Padé approximation for a "time delay" in transfer function form. The resulting transfer function should be of order ["m", "n"], where "m" is not equal to "n".
The "pade" function from the "Control System Toolbox" only supports equal orders for the numerator and denominator polynomials in the transfer function. It takes two arguments: the time delay "T" and a positive integer "N", which specifies the order of both polynomials.
Is there a workaround or alternative method to generate a Padé approximation with differing orders for the numerator and denominator?

채택된 답변

MathWorks Support Team
MathWorks Support Team 2025년 4월 17일
You can use the "pade" function from the "Symbolic Math Toolbox," which generates Padé approximation of symbolic expressions. This function allows you to specify the order of the numerator and denominator polynomials as a vector of two integers using Name-Value pair arguments. See the example below:
pade_tf = pade(<symbolic_expression>, 'Order', [m, n]);
Given "m", "n", and "T", you can use the following set of commands to compute the Padé approximation of the time delay:
syms s; sys = exp(-s*T); % Laplace transform of a time delay of T seconds pade_tf = pade(sys, 'Order', [m, n]);
The transfer function "pade_tf" will be a "sym" object. To extract the coefficients of the numerator and denominator polynomials, you can use the following set of commands: 
[nm,dn] = numden(pade_tf); num = sym2poly(nm); den = sym2poly(dn);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by