How to create a transfer function with no simplification ?
조회 수: 15 (최근 30일)
이전 댓글 표시
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
답변 (2개)
Sam Chak
2022년 10월 15일
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
2022년 10월 15일
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
Sam Chak
2022년 10월 15일
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'.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
