Find non singular transformation matrix

6 views (last 30 days)
RJS on 17 Nov 2021
Commented: Paul on 22 Dec 2021
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
RJS on 18 Nov 2021
yes

Paul on 17 Nov 2021
Edited: Paul on 17 Nov 2021
Assuming the goal is as described in this comment, one solution would be:
T1 = [0 0 0 0 0 0 1 0 1 0];
T = [T1;null(T1).'];
Paul on 22 Dec 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
ans = 1×10
-0.2270 -1.7085 0 -1.4590 0.2800 0.3869 1.1516 -0.3147 0 -0.6773
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
ans = 1×10
0 0 0 0 1 0 0 0 0 0