Didviding and multiplying transfer functions
Ältere Kommentare anzeigen
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 Kommentare
J. Carlos Aguado
am 7 Okt. 2020
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
am 21 Feb. 2024
Nice trick
Antworten (2)
Debarati Banerjee
am 12 Apr. 2016
Bearbeitet: Debarati Banerjee
am 12 Apr. 2016
4 Stimmen
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
am 14 Okt. 2018
Bearbeitet: Walter Roberson
am 7 Okt. 2020
4 Stimmen
This is a really really late reply but the above link explained it.
2 Kommentare
J. Carlos Aguado
am 7 Okt. 2020
That link does not work any more
Walter Roberson
am 7 Okt. 2020
Kategorien
Mehr zu Dynamic System Models finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!