problem in summation of two transfer function

9 views (last 30 days)
JAVAD GORJI
JAVAD GORJI on 10 Jan 2022
Commented: JAVAD GORJI on 11 Jan 2022
Hello guys,
I have defined two transfer function as below:
numerator1 = 1;
denominator1 = [2,1];
sys1 = tf(numerator1, denominator1)
sys1 =
1
-------
2 s + 1
numerator2 = 2;
denominator2 = [2,1];
sys2 = tf(numerator2, denominator2)
sys2 =
2
-------
2 s + 1
when I use
sys3 = sys1 + sys2
I get the multiple version of two TF while I expect to get normal summation
I want this:
sys3 =
3
-------
2 s + 1
PS: I already tested minreal(sys3) and sys3 = parallel(sys1, sys2), again same (multiply) result!
where am I doing wrong?

Accepted Answer

Paul
Paul on 11 Jan 2022
sys1 = tf(1,[2 1]);
sys2 = tf(2,[2 1]);
sys3 = sys2 + sys1
sys3 = 6 s + 3 --------------- 4 s^2 + 4 s + 1 Continuous-time transfer function.
minreal(sys3)
ans = 1.5 ------- s + 0.5 Continuous-time transfer function.
minreal(parallel(sys1,sys2))
ans = 1.5 ------- s + 0.5 Continuous-time transfer function.
minreal() normalizes the denominator to have unity leading coefficient. But it does give the correct answer. Is ths not the desired/expected result?
  1 Comment
JAVAD GORJI
JAVAD GORJI on 11 Jan 2022
Thanks Paul, yes you are right.
when I used minreal(), because the denominator was changed I thought that the result is wrong while, the answer is correct and numerator and denominator are simplified together.
cheers and thank you again

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!