Complejo.bas



rem INVERSION DE MATRICES CON NUMEROS COMPLEJOS {Shipley}
CLEAR : CLS
LOCATE 3, 12: PRINT "Inversion de matrices con numeros complejos"
LOCATE 12, 15: INPUT " Orden de la matriz a invertir =", N
DIM a(N, N), c(N), d(N)
CLS : X = 0
LOCATE 10, 20: PRINT "Real           Imaginaria"
FOR I = 1 TO N
 FOR J = 1 TO N
X = X + 1
LOCATE 12, 5: PRINT "("; I; ","; J; ")"
LOCATE 12, 20: INPUT "", a(I, J)
LOCATE 12, 35: INPUT "", b(I, J)
LOCATE 12, 1: PRINT "                                  "
NEXT J, I
FOR k = 1 TO N
t = (a(k, k) ^ 2) + (b(k, k) ^ 2)
e = a(k, k) / t: f = -b(k, k) / t
FOR I = 1 TO N
IF k = 1 THEN 1
FOR J = 1 TO N
IF J = k THEN 2
a = (a(I, k) * a(k, J)) - (b(I, k) * b(k, J))
b = (a(I, k) * b(k, J)) + (b(I, k) * a(k, J))
a(I, J) = a(I, J) - ((a * e) - (b * f))
b(I, J) = b(I, J) - ((a * f) + (b * e))
1 : NEXT J
2 : NEXT I
FOR I = 1 TO N
a = -((a(k, I) * e) - (b(k, I) * f))
b(k, I) = -((a(k, I) * f) + (b(k, I) * e))
a(k, I) = a
a = -((a(I, k) * e) - (b(k, I) * f))
b(k, I) = -((a(I, k) * f) + (b(I, k) * e))
a(I, k) = a
NEXT I
a(k, k) = -e: b(k, k) = f
NEXT k
FOR I = 1 TO N: FOR J = 1 TO N
b(I, J) = -1 * b(I, J): a(I, J) = -1 * a(I, J)
NEXT J, I
CLS : y = 0
LOCATE 4, 20: PRINT "La inversion queda asi": PRINT : PRINT
FOR I = 1 TO N: FOR J = 1 TO N
PRINT "("; I; ","; J; ")="; a(I, J); "+j"; b(I, J)
d$ = INPUT$(1)
NEXT J, I
END