Find non singular transformation matrix
6 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Paul
2021 年 11 月 17 日
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?
採用された回答
Paul
2021 年 11 月 17 日
編集済み: Paul
2021 年 11 月 17 日
T1 = [0 0 0 0 0 0 1 0 1 0];
T = [T1;null(T1).'];
4 件のコメント
Paul
2021 年 12 月 22 日
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
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Dynamic System Models についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!