observability staircase form for MIMO system
11 次查看(过去 30 天)
显示 更早的评论
I have a problem with 'obsvf',I used this function to decomposes the state-space system with matrices A,C,B as below into the observability staircase form but the result isnot correct,why? A= [-1.0817,0.0477,-0.3793,-0.2781,1.0423,0.1548,-0.0242,0.4453;1.6776,-0.0384,0.7005,-0.0995,-0.5439,-0.0698,0.0345,0.4453;-1.0103,0.0448,-0.4566,-0.2778,1.1249,-0.0698,-0.0093,0.4453;3.8207,-0.5175,1.2384,0.0208,-0.5604,-0.0698,0.0601,-1.6810; 1.6725, 0.0309,0.6954,-0.0989,-361.5704,-0.0698, 0.0601,0.4453;1.6725, 0.0309,0.6954, -0.0989,-0.5604,-361.0798,0.0601,0.4453; 1.6725,0.0309,0.6954,-0.0989,-0.5604,0.0698,-360.9499, 0.4453; 1.6725, 0.0309,0.6954,202.8811,-0.5604,-0.0698,0.0601,-360.5647]; B=[0,0,0,0;0,0,0,0;0,0 ,0,0;0,0,0,0;361.0100,0,0,0;0,361.0100,0,0;0,0,361.0100,0; 0,0,0,-505.4200]; C=[0,0,0,0,3.3046,0,0,0; 0,0,0,0,0,2.2460e-01,0,0; 3.8641e-02,3.8641e-02,3.8641e-02,4.0534e-03,0,0,1.7949e-01,0; 5.4840e-01,5.4840e-01,5.4840e-01,5.7526e-02,0,0,0,2.1263; 2.8517e+01,2.8517e+01,2.8517e+01,2.9914,0,0,0,0; 0,0,0,4.0161e-01,0,0,0,0; 5.5978e-01,-4.9640e-01,-4.9640e-01,0,0,0,0,0; -1.5096e-01,9.0522e-01,-1.5096e-01,0,0,0,0,0; -4.0881e-01,-4.0881e-01,6.4737e-01,0,0,0,0,0; -9.0922e-04,-2.5509e-03,2.0460e-03,0,0,0,6.1523e-03,-5.1355e-03]; [Abar,Bbar,Cbar,T,k]= obsvf(A,B,C); sum(K)=8; but Ob = obsv(A,C); rank(Ob)=4 why????????????????
0 个评论
回答(2 个)
Rajiv Singh
2012-10-26
OBSV reference page has this tip:
obsv is here for educational purposes and is not recommended for serious control design. Computing the rank of the observability matrix is not recommended for observability testing. Ob will be numerically singular for most systems with more than a handful of states. This fact is well documented in the control literature. For example, see section III in http://lawww.epfl.ch/webdav/site/la/users/105941/public/NumCompCtrl.pdf
So rank test of Ob is not going to be reliable. Note that OBSVF uses a tolerance of 10*n*norm(a,1)*eps, when not specified. This is about 1.0064e-12 for your example. Now if you check rank with this tolerance rank(Ob, 1.0064e-12), you get a value of 8 which agrees with sum(k).
0 个评论
Azzi Abdelmalek
2012-10-26
- obsvf: gives you another state representation (observable forme)
- obsv(A,C) returns the observability matrix [C; CA; CA^2 ...]
They are completly differents
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Computations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!