En este ejemplo se muestra como encontrar los eigenvalores, la transformación diagonal y los eigenvectores de una matriz cuadrada si y solo si los eigenvalores son diferentes de cero y deferentes de si mismos, si no es así el resultado sera erróneo.
MATLAB regresa los valores de los vectores propios de una manera peculiar, sin embargo la realización de este script se trata de que los vectores propios sean de preferencia números enteros reales como en la mayoría de ejemplos de los libros de álgebra lineal y control automático.
% ************************************************************************
% * Este script encuentra los eigenvalores y eigenvectores de una matriz *
% * Hecho por Jonathan Israel Hernández Hernández *
% * Nospherathuxxx.blogspot.mx *
% ************************************************************************
clc;clear all;close all;
disp('Eigenvalores y Eigenvectores de una matriz')
disp(' ')
q=input('Ingrese la dimención de la matriz A: ');
A=zeros(q);
for i = 1:q
for j = 1:q
A(i,j) = input(strcat('Ingrese valor numerico de A (',num2str(i),',',num2str(j),') : '));
end
end
[vec,val]=eig(A);
('los eigenvalores de la matriz son: ')
L=diag(val)
V=zeros(q);
for k = 1:q
s1=(vec(:,k));
s2=(min(abs(s1)));
if (s2 == 0)
s2= (max (abs (s1)));
end
for n=1:q
s3(n,1)=( s2 == s1(n,1));
end
s4=sum(s3');
if (s4 == 0)
vp=(-1/s2).*vec(:,k);
else
vp=(1/s2).*vec(:,k);
end
for h = 1:q
V(h,k)=vp(h,1);
end
end
('los eigenvectores de la matriz son: ')
V
clear all;close all;
No hay comentarios:
Publicar un comentario