problem in summation of two transfer function

11 ビュー (過去 30 日間)
JAVAD GORJI
JAVAD GORJI 2022 年 1 月 10 日
コメント済み: JAVAD GORJI 2022 年 1 月 11 日
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?

採用された回答

Paul
Paul 2022 年 1 月 11 日
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 件のコメント
JAVAD GORJI
JAVAD GORJI 2022 年 1 月 11 日
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

サインインしてコメントする。

その他の回答 (0 件)

製品

Community Treasure Hunt

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

Start Hunting!

Translated by