Different MIMO zeros, poles when using tf and ss system representation
22 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (1)
Arkadiy Turevskiy
le 7 Mai 2015
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 commentaires
Arkadiy Turevskiy
le 8 Mai 2015
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.
Voir également
Catégories
En savoir plus sur Classical Control Design dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!