transfer functions arithmetic - is it distributive?

I am using control toolbox for the first time and going through some of the documentation it seems like (h1*K1 + h1*h2*K2) and h1*(K1 + h2*K2) should give me the same resultant transfer function. I get two different transfer functions. I think I am missing something but dont know what. Can you help?
>> h1*(Kf1 + h2*Kf2)
ans =
From input to output "d":
0.06665 z - 0.0485
------------------
z^2 - 2 z + 1
>> (h1*Kf1) + (h1*h2*Kf2)
ans =
From input to output "d":
0.06665 z^2 - 0.1151 z + 0.0485
-------------------------------
z^3 - 3 z^2 + 3 z - 1

1 Comment

Can you show us the code you used to define the variables h1, Kf1, h1, h2, and Kf2?
Can you also confirm that none of those variables were changed between those two lines of code?

Sign in to comment.

Answers (1)

Hi Kapil,
The second expression is merely the first expression multiplied by (z-1)/(z-1). So the two are equivalent, with the second expression lacking some factorization & cancellation.

Products

Release

R2018b

Asked:

on 11 Nov 2019

Answered:

on 11 Nov 2019

Community Treasure Hunt

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

Start Hunting!