Different MIMO zeros, poles when using tf and ss system representation
조회 수: 10 (최근 30일)
이전 댓글 표시
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,
댓글 수: 0
답변 (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
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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Classical Control Design에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!