Dominando valores y vectores propios en MATLAB: Guía práctica
Los valores propios y vectores propios son conceptos fundamentales en álgebra lineal, ampliamente usados en varios campos, incluyendo física, ingeniería y análisis de datos. En MATLAB, estos conceptos pueden explorarse y computarse 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 el vector propio correspondiente se escala durante la transformación.
¿Qué son los vectores propios?
Un vector propio es un vector no nulo que solo cambia por 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 de MATLAB
MATLAB proporciona funciones integradas para computar valores propios y vectores propios.
Uso de eig
Esta función computa 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 se trata de 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 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 vectores propios derechos correspondientes. 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 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, la transpuesta de W y B.
El problema de valores propios generalizado se trata de 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 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 preliminar de balanceo en el algoritmo. Por defecto, balanceOption es "balance", que activa el balanceo. La función eig puede devolver cualquiera de los argumentos de salida mencionados en los ejemplos anteriores.
[___] = eig(A,B,algorithm), donde algorithm es "chol", usa la factorización de Cholesky de B para computar los valores propios generalizados. El algoritmo por defecto depende de las propiedades de A y B, pero es "qz" (algoritmo QZ) cuando A o B no son simétricas.
[___] = eig(___,outputForm) devuelve los valores propios en el formato especificado por outputForm, usando cualquiera de los argumentos de entrada o salida mencionados anteriormente. Establezca outputForm en "vector" para obtener los valores propios en un vector columna, o "matrix" para obtenerlos en una matriz diagonal.
Ejemplos para la función Matlab eig()
Aquí hay algunos ejemplos para ilustrar cómo usarla:
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:
% Definir la matriz A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Calcular los valores propios e = eig(A)
En el ejemplo anterior:
- La matriz A se define como una matriz 3x3 con entradas como se muestra.
- La función eig(A) computa los valores propios de la matriz A.
- El resultado de eig(A) se almacena en la variable e, que es un vector columna conteniendo los valores propios de A.
Cuando se computa el código, la salida que obtenemos es la siguiente:
>> % Definir la matriz A A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % Calcular los valores propios e = eig(A) e = 16.1168 -1.1168 -0.0000
Ejemplo 2: Obtener valores y vectores propios usando [V,D] = eig(A)
En MATLAB, puede encontrar los valores propios y vectores propios de la matriz A usando la función eig.
Considere el siguiente código:
% Definir la matriz A A = [2, -1; 4, 3]; % Calcular los valores y vectores propios [V, D] = eig(A); % Mostrar los valores propios disp('Valores propios:'); disp(D); % Mostrar los vectores propios disp('Vectores propios:'); disp(V); En el código anterior tenemos:
- La matriz A se define como una matriz 2x2 con entradas como se muestra.
- La función [V, D] = eig(A) computa tanto los valores propios (D) como los vectores propios correspondientes (V) de la matriz A.
- D es una matriz diagonal conteniendo los valores propios de A.
- V es una matriz cuyas columnas son los vectores propios correspondientes.
Cuando se ejecuta el código, la salida que obtenemos es la siguiente:
>> % Definir la matriz A A = [2, -1; 4, 3]; % Calcular los valores y vectores propios [V, D] = eig(A); % Mostrar los valores propios disp('Valores propios:'); disp(D); % Mostrar los vectores propios disp('Vectores propios:'); disp(V); Valores propios: 2.5000 + 1.9365i 0.0000 + 0.0000i 0.0000 + 0.0000i 2.5000 - 1.9365i Vectores propios: -0.1118 + 0.4330i -0.1118 - 0.4330i 0.8944 + 0.0000i 0.8944 + 0.0000i
MATLAB
- Polinomios en MATLAB: Representación, Evaluación, Raíces y Ajuste
- Guía MATLAB: Cálculo eficiente de derivadas de polinomios
- Simulink: Entorno de Simulación y Diseño Basado en Modelos de MATLAB
- Variables en MATLAB: Conceptos Básicos y Ejemplos Prácticos
- Comandos Esenciales de MATLAB para Computación Eficiente
- MATLAB: Filtro Laplaciano de Gaussiano para detección de bordes
- MATLAB: Visión General del Entorno Líder en Computación Numérica
- Ecuaciones Algebraicas en MATLAB: Resolver, Simplificar y Factorizar
- Gráficos de Funciones en MATLAB: Guía Paso a Paso
- Derivadas Simbólicas en MATLAB con el Comando diff
- Guía Rápida para Configurar tu Entorno MATLAB