Dominar los valores propios y los vectores propios en MATLAB:una guía práctica
Los valores propios y los vectores propios son conceptos fundamentales en álgebra lineal, ampliamente utilizados en diversos campos, incluidos la física, la ingeniería y el análisis de datos. En MATLAB, estos conceptos se pueden explorar y calcular fácilmente.
¿Qué son los valores propios?
Un valor propio es un escalar, denotado como (lambda), asociado con una transformación lineal de un espacio vectorial. Representa el factor por el cual se escala el vector propio correspondiente durante la transformación.
¿Qué son los vectores propios?
Un vector propio es un vector distinto de cero que solo cambia en un factor escalar cuando se le aplica una transformación lineal. En otras palabras, si A es una matriz, v es un vector propio de A correspondiente al valor propio si −
Av=v
Aquí, A es una matriz cuadrada, v es el vector propio y es el valor propio.
Funciones MATLAB
MATLAB proporciona funciones integradas para calcular valores propios y vectores propios.
Usando eig
Esta función calcula los valores propios y vectores propios de una matriz.
Sintaxis
e = eig(A) [V,D] = eig(A) [V,D,W] = eig(A) e = eig(A,B) [V,D] = eig(A,B) [V,D,W] = eig(A,B) [___] = eig(A,balanceOption) [___] = eig(A,B,algorithm) [___] = eig(___,outputForm)
Explicación de la sintaxis
e =eig(A) devuelve un vector columna con los valores propios de la matriz cuadrada A.
[V,D] =eig(A) devuelve una matriz diagonal D con los valores propios de A y una matriz V cuyas columnas son los vectores propios correspondientes. Esto significa que multiplicar A por V es lo mismo que multiplicar V por D.
[V,D,W] =eig(A) también devuelve una matriz completa W cuyas columnas son los vectores propios izquierdos correspondientes. Esto significa que multiplicar la transpuesta de W por A es lo mismo que multiplicar D por la transpuesta de W.
El problema de valores propios consiste en encontrar soluciones a la ecuación Av =v, donde A es una matriz cuadrada, v es un vector columna y es un escalar. Los valores que satisfacen esta ecuación son los valores propios y los valores de v que la satisfacen son los vectores propios derechos. Los vectores propios izquierdos, w, satisfacen la ecuación w'A =w'.
e =eig(A,B) devuelve un vector columna con los valores propios generalizados de las matrices cuadradas A y B.
[V,D] =eig(A,B) devuelve una matriz diagonal D con los valores propios generalizados y una matriz completa V cuyas columnas son los correspondientes vectores propios derechos. Esto significa que multiplicar A por V es lo mismo que multiplicar B, V y D juntos.
[V,D,W] =eig(A,B) también devuelve una matriz W completa cuyas columnas son los vectores propios izquierdos correspondientes. Esto significa que multiplicar la transpuesta de W por A es lo mismo que multiplicar D, la transpuesta de W y B.
El problema de valores propios generalizado consiste en encontrar soluciones a la ecuación Av =Bv, donde A y B son matrices cuadradas, v es un vector columna y es un escalar. Los valores que satisfacen esta ecuación son los valores propios generalizados y los valores de v son los vectores propios derechos correspondientes. Los vectores propios izquierdos, w, satisfacen la ecuación w'A =w'B.
[___] =eig(A, balanceOption), donde balanceOption es "nobalance", desactiva el paso de equilibrio preliminar en el algoritmo. De forma predeterminada, balanceOption es "saldo", lo que activa el equilibrio. La función eig puede devolver cualquiera de los argumentos de salida mencionados en los ejemplos anteriores.
[___] =eig(A,B,algoritmo), donde el algoritmo es "chol", utiliza la factorización de Cholesky de B para calcular los valores propios generalizados. El algoritmo predeterminado depende de las propiedades de A y B, pero es "qz" (algoritmo QZ) cuando A o B no son simétricos.
[___] =eig(___,outputForm) devuelve los valores propios en el formato especificado por outputForm, utilizando cualquiera de los argumentos de entrada o salida mencionados anteriormente. Establezca OutputForm en "vector" para obtener los valores propios en un vector de columna, o "matriz" para obtenerlos en una matriz diagonal.
Ejemplos de la función eig() de Matlab
Aquí hay algunos ejemplos para ilustrar cómo usarlo:
Ejemplo 1:calcular valores propios usando e =eig(A)
En MATLAB, puede encontrar los valores propios de la matriz A usando la función eig. Considere el siguiente código:
% Define the matrix A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Compute the eigenvalues e = eig(A)
En el ejemplo anterior −
- La matriz A se define como una matriz de 3x3 con las entradas que se muestran.
- La función eig(A) calcula los valores propios de la matriz A.
- El resultado de eig(A) se almacena en la variable e, que es un vector de columna que contiene los valores propios de A.
Cuando se calcula el código, el resultado que obtenemos es el siguiente:
>> % Define the matrix A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Compute the eigenvalues e = eig(A) e = 16.1168 -1.1168 -0.0000
Ejemplo 2:Obtener valores propios y vectores propios usando [V,D] =eig(A)
En MATLAB, puede encontrar los valores propios y los vectores propios de la matriz A usando la función eig.
Considere el siguiente código:
% Define the matrix A
A = [2, -1;
4, 3];
% Compute the eigenvalues and eigenvectors
[V, D] = eig(A);
% Display the eigenvalues
disp('Eigenvalues:');
disp(D);
% Display the eigenvectors
disp('Eigenvectors:');
disp(V);
En el código anterior tenemos −
- La matriz A se define como una matriz de 2x2 con las entradas que se muestran.
- La función [V, D] =eig(A) calcula tanto los valores propios (D) como los correspondientes vectores propios (V) de la matriz A.
- D es una matriz diagonal que contiene los valores propios de A.
- V es una matriz cuyas columnas son los vectores propios correspondientes.
Cuando se ejecuta el código, el resultado que obtenemos es el siguiente:
>> % Define the matrix A
A = [2, -1;
4, 3];
% Compute the eigenvalues and eigenvectors
[V, D] = eig(A);
% Display the eigenvalues
disp('Eigenvalues:');
disp(D);
% Display the eigenvectors
disp('Eigenvectors:');
disp(V);
Eigenvalues:
2.5000 + 1.9365i 0.0000 + 0.0000i
0.0000 + 0.0000i 2.5000 - 1.9365i
Eigenvectors:
-0.1118 + 0.4330i -0.1118 - 0.4330i
0.8944 + 0.0000i 0.8944 + 0.0000i
MATLAB
- MATLAB - Toma de decisiones
- MATLAB - Tipos de datos
- MATLAB - Comandos
- MATLAB - Polinomios
- MATLAB - Cadenas
- MATLAB - Notación de dos puntos
- MATLAB:filtro laplaciano de gaussiano para detección de bordes
- MATLAB - Matriz
- MATLAB - Cálculo
- MATLAB - Trazado
- Dominar los valores propios y los vectores propios en MATLAB:una guía práctica