domingo, 2 de febrero de 2014

MATLAB Hallar los Eigenvectores de una matriz

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