Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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 Commento
Ced
Ced il 23 Ott 2014
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.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Dynamic System Models in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by