Didviding and multiplying transfer functions

조회 수: 306 (최근 30일)
Marko
Marko 2016년 4월 6일
댓글: Syndi Katya 2024년 2월 21일
Hi all,
I have a question on transfer function division and multiplication. If I calculate the closed loop function using:
G/(1+G*H)
I obtain different results than if I try calculating it by hand or using command.
feedback(G,H)
For example
4.244e-12 s^3 + 8.004e-08 s^2 + 8e-07 s
------------------------------------------------------------------------
1.801e-19 s^5 + 6.792e-15 s^4 + 6.407e-11 s^3 + 4.308e-08 s^2 + 0.0008 s
This is the closed loop using first command. This is with feedback command:
0.0001 s + 0.001
-------------------------------------------
4.244e-12 s^3 + 8.004e-08 s^2 + 8e-07 s + 1
While calculating it by hand gives:
0.0001 s + 0.001
-------------------------------------------
4.244e-12 s^3 + 1.224e-07 s^2 + 8e-07 s + 1
Do you know how is this possible?
Thanks!
  댓글 수: 2
J. Carlos Aguado
J. Carlos Aguado 2020년 10월 7일
You just have to apply "minreal" to your result, and you will see that minreal(G/(1+G*H)) = feedback(G, H). MatLab should you that automatically.
Syndi Katya
Syndi Katya 2024년 2월 21일
Nice trick

댓글을 달려면 로그인하십시오.

답변 (2개)

Debarati Banerjee
Debarati Banerjee 2016년 4월 12일
편집: Debarati Banerjee 2016년 4월 12일
Can you first apply the function ' minreal ' on your 'G' and 'H' functions before applying the closed loop formula? This 'minreal' function will reduce the systems into minimal order.
Also, can you please provide the G and H functions with which you arrived at these results?
Cheers!
Debarati

yu-hsien chen
yu-hsien chen 2018년 10월 14일
편집: Walter Roberson 2020년 10월 7일
This is a really really late reply but the above link explained it.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by