Inversa de una matriz. WARNING PRÓXIMA A SINGULAR O MAL ESCALADA!!!
Publicado por Hector (2 intervenciones) el 27/01/2013 15:28:16
Dispongo de estas dos matrices calculadas previamente:
Kkt =
(1,1) 1
(2,2) 1
(2,3) 1
(16,4) 1
(16,5) 1
(3,6) 1
(2,7) 1
(8,8) 1
(3,9) 1
(4,10) 1
(4,11) 1
(5,12) 1
(5,13) 1
(12,14) 1
(12,15) 1
(6,16) 1
(6,17) 1
(7,18) 1
(8,19) 1
(13,20) 1
(13,21) 1
(9,22) 1
(9,23) 1
(14,24) 1
(14,25) 1
(10,26) 1
(10,27) 1
(15,28) 1
(15,29) 1
(11,30) 1
y,
Yt = 1.0e+02 *
(1,1) 0.1211 - 0.2186i
(2,1) -0.1211 + 0.2186i
(1,2) -0.1211 + 0.2186i
(2,2) 0.1211 - 0.2186i
(3,3) 0.5296 - 0.2067i
(4,3) -0.5296 + 0.2067i
(3,4) -0.5296 + 0.2067i
(4,4) 0.5296 - 0.2067i
(5,5) 0.5296 - 0.2067i
(6,5) -0.5296 + 0.2067i
(5,6) -0.5296 + 0.2067i
(6,6) 0.5296 - 0.2067i
(7,7) 1.0267 - 0.4007i
(8,7) -1.0267 + 0.4007i
(7,8) -1.0267 + 0.4007i
(8,8) 1.0267 - 0.4007i
(9,9) 1.0593 - 0.4134i
(10,9) -1.0593 + 0.4134i
(9,10) -1.0593 + 0.4134i
(10,10) 1.0593 - 0.4134i
(11,11) 1.0593 - 0.4134i
(12,11) -1.0593 + 0.4134i
(11,12) -1.0593 + 0.4134i
(12,12) 1.0593 - 0.4134i
(13,13) 1.0593 - 0.4134i
(14,13) -1.0593 + 0.4134i
(13,14) -1.0593 + 0.4134i
(14,14) 1.0593 - 0.4134i
(15,15) 1.0593 - 0.4134i
(16,15) -1.0593 + 0.4134i
(15,16) -1.0593 + 0.4134i
(16,16) 1.0593 - 0.4134i
(17,17) 1.0593 - 0.4134i
(18,17) -1.0593 + 0.4134i
(17,18) -1.0593 + 0.4134i
(18,18) 1.0593 - 0.4134i
(19,19) 1.0267 - 0.4007i
(20,19) -1.0267 + 0.4007i
(19,20) -1.0267 + 0.4007i
(20,20) 1.0267 - 0.4007i
(21,21) 1.0267 - 0.4007i
(22,21) -1.0267 + 0.4007i
(21,22) -1.0267 + 0.4007i
(22,22) 1.0267 - 0.4007i
(23,23) 1.0267 - 0.4007i
(24,23) -1.0267 + 0.4007i
(23,24) -1.0267 + 0.4007i
(24,24) 1.0267 - 0.4007i
(25,25) 1.0267 - 0.4007i
(26,25) -1.0267 + 0.4007i
(25,26) -1.0267 + 0.4007i
(26,26) 1.0267 - 0.4007i
(27,27) 1.0267 - 0.4007i
(28,27) -1.0267 + 0.4007i
(27,28) -1.0267 + 0.4007i
(28,28) 1.0267 - 0.4007i
(29,29) 1.0267 - 0.4007i
(30,29) -1.0267 + 0.4007i
(29,30) -1.0267 + 0.4007i
(30,30) 1.0267 - 0.4007i
y deseo calcular la ecuación:
Ykk = -Kkt * Yt * Kkt ';
para luego poder obtener la A=inv(Ykk);
pero obtengo el siguiente Warning:
%%
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND =
8.790611e-18.
%%
det(A)=1.8757e+16 - 4.9487e+15i;
rank(A)= 15; --> cuando la matriz es 16x16??
Hay alguna forma de calcular dicha matriz inversa??
Siento la notación, les he pasado las matrices como sparse ppara mejor visualización. Si necesitaran el codigo pidanmelo. Muchas gracias de antemano.
Un saludo,
Hector
Kkt =
(1,1) 1
(2,2) 1
(2,3) 1
(16,4) 1
(16,5) 1
(3,6) 1
(2,7) 1
(8,8) 1
(3,9) 1
(4,10) 1
(4,11) 1
(5,12) 1
(5,13) 1
(12,14) 1
(12,15) 1
(6,16) 1
(6,17) 1
(7,18) 1
(8,19) 1
(13,20) 1
(13,21) 1
(9,22) 1
(9,23) 1
(14,24) 1
(14,25) 1
(10,26) 1
(10,27) 1
(15,28) 1
(15,29) 1
(11,30) 1
y,
Yt = 1.0e+02 *
(1,1) 0.1211 - 0.2186i
(2,1) -0.1211 + 0.2186i
(1,2) -0.1211 + 0.2186i
(2,2) 0.1211 - 0.2186i
(3,3) 0.5296 - 0.2067i
(4,3) -0.5296 + 0.2067i
(3,4) -0.5296 + 0.2067i
(4,4) 0.5296 - 0.2067i
(5,5) 0.5296 - 0.2067i
(6,5) -0.5296 + 0.2067i
(5,6) -0.5296 + 0.2067i
(6,6) 0.5296 - 0.2067i
(7,7) 1.0267 - 0.4007i
(8,7) -1.0267 + 0.4007i
(7,8) -1.0267 + 0.4007i
(8,8) 1.0267 - 0.4007i
(9,9) 1.0593 - 0.4134i
(10,9) -1.0593 + 0.4134i
(9,10) -1.0593 + 0.4134i
(10,10) 1.0593 - 0.4134i
(11,11) 1.0593 - 0.4134i
(12,11) -1.0593 + 0.4134i
(11,12) -1.0593 + 0.4134i
(12,12) 1.0593 - 0.4134i
(13,13) 1.0593 - 0.4134i
(14,13) -1.0593 + 0.4134i
(13,14) -1.0593 + 0.4134i
(14,14) 1.0593 - 0.4134i
(15,15) 1.0593 - 0.4134i
(16,15) -1.0593 + 0.4134i
(15,16) -1.0593 + 0.4134i
(16,16) 1.0593 - 0.4134i
(17,17) 1.0593 - 0.4134i
(18,17) -1.0593 + 0.4134i
(17,18) -1.0593 + 0.4134i
(18,18) 1.0593 - 0.4134i
(19,19) 1.0267 - 0.4007i
(20,19) -1.0267 + 0.4007i
(19,20) -1.0267 + 0.4007i
(20,20) 1.0267 - 0.4007i
(21,21) 1.0267 - 0.4007i
(22,21) -1.0267 + 0.4007i
(21,22) -1.0267 + 0.4007i
(22,22) 1.0267 - 0.4007i
(23,23) 1.0267 - 0.4007i
(24,23) -1.0267 + 0.4007i
(23,24) -1.0267 + 0.4007i
(24,24) 1.0267 - 0.4007i
(25,25) 1.0267 - 0.4007i
(26,25) -1.0267 + 0.4007i
(25,26) -1.0267 + 0.4007i
(26,26) 1.0267 - 0.4007i
(27,27) 1.0267 - 0.4007i
(28,27) -1.0267 + 0.4007i
(27,28) -1.0267 + 0.4007i
(28,28) 1.0267 - 0.4007i
(29,29) 1.0267 - 0.4007i
(30,29) -1.0267 + 0.4007i
(29,30) -1.0267 + 0.4007i
(30,30) 1.0267 - 0.4007i
y deseo calcular la ecuación:
Ykk = -Kkt * Yt * Kkt ';
para luego poder obtener la A=inv(Ykk);
pero obtengo el siguiente Warning:
%%
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND =
8.790611e-18.
%%
det(A)=1.8757e+16 - 4.9487e+15i;
rank(A)= 15; --> cuando la matriz es 16x16??
Hay alguna forma de calcular dicha matriz inversa??
Siento la notación, les he pasado las matrices como sparse ppara mejor visualización. Si necesitaran el codigo pidanmelo. Muchas gracias de antemano.
Un saludo,
Hector
Valora esta pregunta


0