Find non singular transformation matrix

6 views (last 30 days)
RJS
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
  2 Comments

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
Paul
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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!