Different MIMO zeros, poles when using tf and ss system representation
古いコメントを表示
Suppose that we initialize the A,B,C,D arrays of the steady state representation as follows:
A = [-1, 2, 0; 2, 1, 0; -2, -1, 0];
B = [1, 1; -1, 2; 1, -2];
C = [1,-1, 0; -1, 0, 0];
D = zeros(2,2);
If we try to find the zeros and poles of the MIMO system above we end up with different results when using the state space representation and the transfer function:
fprintf('ss representation:\n\n');
fprintf('zeros:\n');
tzero(ss_sys)
fprintf('poles:\n');
pole(ss_sys)
fprintf('tf representation:\n\n');
fprintf('zeros:\n')
tzero(tf_sys)
fprintf('poles:\n');
pole(tf_sys)
ss representation:
zeros:
ans =
0
poles:
ans =
-2.2361
2.2361
0
tf representation:
zeros:
ans =
-2.2361
2.2361
poles:
ans =
2.2361
-2.2361
2.2361
-2.2361
Why is this happening? Which representation should we choose each time we want to calculate the properties of the system?
Thanks in advance,
回答 (1 件)
Arkadiy Turevskiy
2015 年 5 月 7 日
Your post does not include the code for creating ss_sys and tf_sys, but I assume you created tf_sys by doing:
tf_sys=tf(ss_sys);
The reason why you are seeing the difference in poles and zeros is due to numerical issues. Please take a look here . As the doc states, it is recommended to use state space models; transfer function representation is not recommended for working with MIMO systems.
HTH.
3 件のコメント
Amine
2015 年 5 月 7 日
Hello sir! I am using 'ss' and 'tf' commands in order to get the transfer function form of an H infinity controller. Does it means that my controller in its system matrix form is NOT the same in its transfer function form? Thank you!
Arkadiy Turevskiy
2015 年 5 月 8 日
did you have a chance to read the doc I linked to? Again, it is recommended to use state space representation for MIMO systems- it is better behaved numerically.
Amine
2015 年 5 月 22 日
Yes sir I did, thank you so much it was realy helpful! thank you!
カテゴリ
ヘルプ センター および File Exchange で State-Space Control Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!