Cómo matriz inversa y resultado entero en Octave?
Pregunta
Me gustaría tener una matriz invertible en la octava sino como matriz de números enteros, por lo que:
x = [9,15;19,2];
inv(x)
Aquí me sale:
[-0.0074906, 0.0561798; 0.0711610, -0.0337079]
pero me gustaría llegar [22,17;25,21]
alguien sabe cómo invertir una matriz?
Solución
La inversa de cada elemento es:
x .^ -1
lo que se traduce
0.1111 0.0667
0.0526 0.5000
¿Por qué desea obtener [22,17;25,21]
? ¿Qué operación matemática daría como resultado?
Otros consejos
invertir una matriz en octava:
Usted está confundido acerca de lo que es la inversa de una matriz, No aquí nadie sabe lo que quiera con su salida, así que aquí están algunas pistas.
Si se invierte una matriz de identidad, se obtiene la matriz de identidad:
octave:3> a = [1,0;0,1]
a =
1 0
0 1
octave:4> inv(a)
ans =
1 0
0 1
matrices no cuadradas (matrices m-por-n para el que m! = N) no tienen una inversa
x = [9,15;19,2;5,5];
inv(x)
%error: inverse: argument must be a square matrix
invertir una matriz con un cero en la diagonal provoca un infinito:
octave:5> a = [1,0;0,0]
a =
1 0
0 0
octave:6> inv(a)
warning: inverse: matrix singular to machine precision, rcond = 0
ans =
Inf Inf
Inf Inf
invertir una matriz con valores completos como esto:
octave:1> a = [1,2;3,4]
a =
1 2
3 4
octave:2> inv(a)
ans =
-2.00000 1.00000
1.50000 -0.50000
Para una descripción de lo que está pasando bajo el capó de la función inversa: