How to create a transfer function with no simplification ?
15 views (last 30 days)
Show older comments
s=tf('s')
num=(s+0.1946)*1.4;
den=(4*s+1)*(50*s+4)*(12*s+1);
G=tf(num/den)
G = zpk((s+0.1946)*1.4/((4*s+1)*(50*s+4)*(12*s+1)))
If I use zpk command I get finally a simplification which leads to:
(which is ideal for calculating directly the pole and zero locations)
G =
0.00058333 (s+0.1946)
-----------------------------
(s+0.25) (s+0.08333) (s+0.08)
Continuous-time zero/pole/gain model.
I would like to get excactly the same coefficients like is given to num and den above. ((s+0.1946)*1.4)/((4*s+1)*(50*s+4)*(12*s+1))
Is it posible?
Thank you.
0 Comments
Answers (2)
Sam Chak
on 15 Oct 2022
The zpk() command shows the zero/pole/gain model. (
),
, and (
) are not in pole forms.
If the native transfer function is required for analysis, then how about this form?
syms s
num = (s + 0.1946)*1.4;
den = (4*s + 1)*(50*s + 4)*(12*s + 1);
G = num/den
Paul
on 15 Oct 2022
I'm almost certain that this can't be done in the CST. If just wanted for display purposes you'd have to write your own code, but even that might be painful because the numerator is in the form of (s + a) but the denominator factors are in the form (s/b + 1) so you'd need different code to handle those two formats.
This answer shows some code for reformatting the display of a discrete-time tf to show more precision of the coefficients. Maybe it could be a starting point for this use case?
2 Comments
Sam Chak
on 15 Oct 2022
I think if OP wants for display purposes without any computational analysis, perhaps using LaTeX or any professional Equation Editor should make the Transfer Function looks 'beautiful'.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!