How to create Padé approximation of a time delay in transfer function form using different orders for numerator and denominator polynomials?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 17 Avr 2025
Réponse apportée : MathWorks Support Team
le 17 Avr 2025
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?
Réponse acceptée
MathWorks Support Team
le 17 Avr 2025
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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!