Find non singular transformation matrix
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am working on state space system in matlab script. here C =[0 0 0 0 0 0 1 0 1 0] but I want to observe 1st state i.e. required Cr = [1 0 0 0 0 0 0 0 0 0]. So to get this C I am using transformation matrix T = Cr/C.....but here i am getting singular T matrix
I want nonsingular T matrix
2 commentaires
Paul
le 17 Nov 2021
To make sure we're clear on the question:
You have a model
xdot = A*x + B*u
y = C*x + D*u
where C = [0 0 0 0 0 0 1 0 1 0]
The goal is find the similarity tranformation matrix T that defines a new state vector, z, so that
zdot = Anew*z + Bnew*u
y = Cnew*z + Dnew*u
where Cnew = [1 0 0 0 0 0 0 0 0 0]
Is my understanding correct?
Réponse acceptée
Paul
le 17 Nov 2021
Modifié(e) : Paul
le 17 Nov 2021
T1 = [0 0 0 0 0 0 1 0 1 0];
T = [T1;null(T1).'];
4 commentaires
Paul
le 22 Déc 2021
Follow the same approach, but put the C vector from plant in the fifth row of T instead of the first. Here's an example:
sys = rss(10); % random system for example
sys.c
N = null(sys.c).';
T = [N(1:4,:); sys.c; N(5:end,:)]; % sys.c in the fifth row, distribute N across the others
sysnew = ss2ss(sys,T);
sysnew.c % verify desired result
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!