Find non singular transformation matrix

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 Comments

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?

Sign in to comment.

 Accepted Answer

Paul
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).'];
See this Answer thread for much more discussion and other approaches.

4 Comments

RJS
RJS on 18 Nov 2021
Edited: RJS on 18 Nov 2021
Thank you @Paul ,after this transformation also i am getting the same result But I want to observe !st state or each state of the system ,
Are there now additional obejctives for the T matrix? If so, I don't understand what they are. Can you clarify this statement and explain how it relates to T: "I want to observe 1st state or each state of the system." ,
If the required C vector is [0 0 0 0 1 0 0 0 0 0], then how to find this transformation
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

Sign in to comment.

More Answers (0)

Categories

Asked:

RJS
on 17 Nov 2021

Commented:

on 22 Dec 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!