Metodo QR con shift

Messaggioda tinassinstant » 11/06/2011, 20:31

Avrei bisogno di qualcuno che controllasse il mio algoritmo basato sulla fattorizzazione QR con shif per il calcolo degli autovalori... Non riesco a farlo girare correttamente in Matlab:
function [B,D,iter]=QRshift(A,toll,Nmax)
n=size(A,1);
iter=1; %iterazioni
m=1;%numero autovalori
while n>1 & iter<=Nmax
if (abs(A(n,n-1)))>=(toll*(abs(A(n-1,n-1))+abs(A(n,n))))
D(m)=A(n,n);
m=m+1;
n=n-1;
end
I=eye(n);
mu=A(n,n);
iter=iter+1;
[Q,R]=qr(A(1:n,1:n)-mu*I);
B(1:n,1:n)=R*Q+mu*I;
A=B;
end
D(m+1)=B(1,1);
end
end
tinassinstant
Starting Member
Starting Member
 
Messaggi: 5
Iscritto il: 08/12/2010, 18:09

Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti