Diferencia entre las funciones inv() y pinv() en MATLAB

Mientras se manejan los datos, que se utilizan para el aprendizaje automático, se vuelve fácil realizar operaciones en los datos si se almacenan en forma de array. Donde inversa es una de las operaciones importantes que se utiliza en muchos lugares durante el manejo de datos. A continuación se presentan dos métodos para encontrar la inversa de una array utilizada en diferentes situaciones.

pinv()

  • Se utiliza para manejar tanto arrays singulares como no singulares, se refiere a la pseudo-inversa de una array.
  • La función pinv() implica el uso de aritmética de punto flotante.

Sintaxis:

pinv(A)

Donde A es una Array de Orden M x N.

Ejemplo:

Matlab

% Matrix
A = [1 2 3; 4 5 6; 7 8 9]
 
% Using inv()
pinv(A)

Producción:

inversión() 

  • Se utiliza para manejar Arrays No Singulares, se refiere a la inversa de una array.
  • La función inv() no implica el uso de aritmética de coma flotante.

Sintaxis:

inversión(A)

Donde A es una Array de Orden M x N.

Ejemplo:

Matlab

% Matrix
A = [1 2 3; 4 5 6; 7 8 9]
 
% Using inv()
inv(A)

Producción:

Supongamos que se toma una array llamada A con algunos valores, necesitamos encontrar la inversa de la array A usando la función incorporada, por lo que tanto pinv (A) como inv (A) se pueden usar para encontrar la inversa de la array . Considere el siguiente programa:

Matlab

% Matrix
A = [1 2; 3 4]
 
% Using inv()
inv(A)
 
% Using pinv()
pinv(A)

Producción: 

Como podemos ver, ambas funciones producen los mismos resultados para una array normal. Ahora usaremos una array singular y aplicaremos ambas funciones para encontrar su inversa. 

Matlab

% Matrix
A = [1 3; 2 6]
 
% Using inv()
inv(A)
 
% Using pinv()
pinv(A)

Producción: 

Entonces, no podemos usar inv() en caso de que Matrix sea singular. Pero usando la misma Array, el inverso se puede calcular usando la función pinv() .

Tanto pinv() como inv() se utilizan para encontrar el inverso de arrays en MATLAB. Sin embargo, la diferencia es que pinv se refiere a pseudo inversa e inv se refiere a inversa. A continuación se muestran algunas diferencias clave entre ambas funciones: 

Tabla de diferencias entre pinv() e inv()

pinv(A)  inversión(A)
La función pinv() puede manejar arrays no cuadradas. La función inv() no puede manejar arrays no cuadradas.
El tiempo de ejecución de pinv() es más que inv(). El tiempo de ejecución de pinv() es más que inv().
Siempre devolverá el inverso de una Array. Es posible que no siempre devuelva el inverso no cuadrado de una array.
La función pinv() en OCTAVE/MATLAB devuelve la pseudo inversa de Moore-Penrose de una array utilizando el valor Singular. La función inv() devuelve el inverso de la array.
La función pinv() es útil cuando su array no es invertible (array singular) o Determinante de esa array = 0.  La función inv() no será útil si su array no es invertible (array singular).

Publicación traducida automáticamente

Artículo escrito por vansharora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *