You are on page 1of 9

PROBLEMA L5-GRAFICAR

graficar(xc,r)
t=0:0.01:2*pi;
x=xc+r*cos(t);
y=r*sin(t);
plot(x,y)

PROBLEMA L5-CIRCULLOG
%El teorema dice que
%Los autovalores estan en la
%union de los circulos
function circulogg(A)
n=length(A);
for i=1:n
r=sum(abs(A(i,:)))-abs(A(i,i));
xc=A(i,i);graficar(xc,r);hold on
end
grid on
x=eig(A);xx=real(x);yy=imag(x);
plot(xx,yy,'ro')

PROBLEMA L5-MOSTRAR
function mostrar(V,nd)
cad=strcat('%.',int2str(nd),'f');
for i=1:length(V)
fprintf(cad,V(i));fprintf(' ');
end
%fprintf('\n');

PROBLEMA L5-P1
clc
clear
A=[ 5 -2 0
-2 3 -1
0 -1 1];
% A=[20
20
-37
%
17
17
50
%
4
-32
-33];
%A=round(rand(2)*100-50)
autovalores=eig(A)
hold off
circulogg(A)

PROBLEMA L5-P2
%Metodo de la potencia en camara lenta
clc;
A=[2 8 1
9 2 6
3 3 7]
l=eig(A);
u=[10 0 0]';
for i=1:10
fprintf('\n\nIteracion numero %d
y=A*u;
[m,p]=max(abs(y));
lam=y(p);
yn=y/lam;
u=yn;
fprintf('y=');mostrar(y,5);
fprintf('\nLam=%.10f
',lam);
fprintf('u=');mostrar(u,5);
end
fprintf('\nlam=')
mostrar(l,10)

',i);

PROBLEMA L5-POTENCIA
% Metodo de la potencia para calcular el valor propio dominante y
% su vector correspondiente
function [lam,u]=potencia(A,u,MAXITE,TOL)
la=0;
for i=1:MAXITE
y=A*u;
[m,p]=max(abs(y));
lam=y(p);yn=y/lam;%yn normalizado <=1
%er=norm(yn-u,2);
u=yn;
er=R(la-lam);la=lam;
if er<TOL break
end
end

PROBLEMA L5-POTENCIA_INVERSA
% Metodo de la potencia inversa
% para calcular el menor valor propio
function [lam,u]=potencia_inversa(A,u,MAXITE,TOL)
A=inv(A);
lma=0;
for i=1:MAXITE
y=A*u;
R=max(abs(y));
lam=y(p);yn=y/lam;%yn normalizado <=1
%err=norm(yn-u,2);
u=yn;
lm=1/lam;
err=abs(lm-lma);lma=lm;
if err<TOL break
end
end
R

PROBLEMA L5-POTENCIA_INVERSA_DESPLAZAMIENTO
% Metodo de la potencia inversa con desplazameinto
% para calcular el autovalor mas cercano a q
function [lam,u]=potencia_inversa_desplazamiento(A,u,q,MAXITE,TOL)
A=inv(A-q*eye(length(A)));
lqa=0;
for i=1:MAXITE
y=A*u;
[m,p]R
lam=y(p);yn=y/lam;%yn normalizado <=1
%err=norm(yn-u,2);
u=yn;
lq=1/lam+q;err=abs(lq-lqa);lqa=lq;
if err<TOL break
end
end
R=1/lam+q;

PROBLEMA L5-POTENCIA_INVERSA
clc;n=7;a=-9;b=9;
while 1
A=round(rand(n)*(b-a)+a);
if sum(abs(imag(eig(A))))==0
break
end
end
A
u0=ones(n,1);iter=50000;er=1e-10;q=10;
[lmayor,uma]R
[lmenor,ume]=potencia_inversa(A,u0,iter,er);
[lq,uq]=potencia_inversa_desplazamiento(A,u0,q,iter,er);
[lmenor;lq;lmayor]'
format short;
lamda=sort(eig(A))

You might also like