필터 지우기
필터 지우기

Matrix is close to singular or badly scaled, system identification, control, least mean square method

조회 수: 1 (최근 30일)
I am trying to estimate a system transfer function from the bode plot using least mean square method, and in my final stage of calculation,
I have
V0=89, V2=4.87*10^10, V4= 1.26*10^20
S0= -6.5*10^3, S2= -2.56*10^10, S4= 2.33*10^20, S6= 6.62*10^29, S8= 1.61*10^39, S10= 2.96*10^48,
T1= -3.38*10^6, T3=2.53*10^15, T5=-4.09*10^24, T7=-3.85*10^34, T9= -2.02*10^44, T11=9.51*10^53,
U2= 1.72*10^13, U4= 1.14*10^22, U6= 2.62*10^31, U8= 7.14*10^40.
Then a matrix M which is
M = [V0 0 -V2 T1 S2 -T3 -S4 T5 S6; 0 V2 0 -S2 T3 S4 -T5 -S6 T7; V2 0 -V4 T3 S4 -T5 -S6 T7 S8; T1 -S2 -T3 -S4 T5 S6 -T7 -S8 T9; S2 T3 -S4 T5 S6 -T7 -S8 T9 S10; T3 -S4 -T5 -S6 T7 S8 -T9 -S10 T11; S4 T5 -S6 U2 0 -U4 0 U6 0; T5 -S6 -T7 0 U4 0 -U6 0 U8; S6 T7 -S8 U4 0 -U6 0 U8 0]
and S= [S0; T1; S2; 0; U2; 0; U4; 0; U6]
My aim is to find G such that
M*G = S,
so I used the command G= M\S;
and I got a warning which says matrix is close to singular or badly scaled.
The G matrix I obtained is
G = [109.5618; 0.0004; 0.0000; -0.0115; 0.0000; -0.0000; 0.0000; -0.0000; 0.0000]
I am pretty sure the matrix that is close to singular is M. But, I really don't know how to overcome this warning/problem. When I read up online, most of the explanation were beyond my comprehension.
Can someone please help me with an easy-to-follow explanation since it is my final year project? and this is just the beginning :-(
Thanks a lot. I will appreciate any help.
  댓글 수: 1
Ced
Ced 2014년 10월 23일
Not an expert in this field, but maybe this helps: The problem is most likely that your have a huge range of scales, i.e. from 1e3 to 1e53 or so. This is bound to give problems. What you could try is to work in dB to reduce that problem, i.e. apply the logarithm everywhere, perform least squares, transform back. Of course, your least-squares is then scaled as well, which may not be what you want, but it would be numerically much better.
Anyone feel free to object if this method makes no practical sense.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Dynamic System Models에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by