01/09/2022, 22:04
function [lambda_p,w,m] = potenze_inverse(A,p,z,tol,m_max)
n=size(A);
w=z/norm(z);
lambda_p(1)=p;
[L,U,P]=lu(A-p*eye(n));
for m=1:m_max
y=L\(P*w);
z=U\y;
lambda_p(m+1)=p+1/(w'*z);
w=z/norm(z);
if abs(lambda_p(m+1)-lambda_p(m)) <= tol*abs(lambda_p(m+1))
break
end
end
end
06/09/2022, 11:59
08/09/2022, 09:05
08/09/2022, 09:09
08/09/2022, 09:13
08/09/2022, 09:26
08/09/2022, 09:34
function [lambda_p,w,m] = pot_inverse(A,p,z,tol,m_max)
n=size(A);
w=z/norm(z);
lambda_p(1)=p;
[L,U,P]=lu(A-p*eye(n));
for m=1:m_max
y=L\(P*w);
z=U\y;
lambda_p(m+1)=p+1/(w'*z);
w=z/norm(z);
if abs(lambda_p(m+1)-lambda_p(m)) <= tol*abs(lambda_p(m+1))
break
end
end
end
m_max=6;
tol=1.0e-10;
z=ones(8,1);
p=1.5;
A=hilb(8);
[lambda_p,w1,m1] = pot_inverse(A,p,z,tol,m_max)
plot(1:m1+1,lambda_p,'b+-','linewidth',2)
lambda_max_p=lambda_p(end)
autovalori_A_eig=eig(A)
% ipotesi di calcolo dell' errore
err=(norm(autovalori_max_p)-norm(lambda_A_eig))/norm(autovalori_max_p)
08/09/2022, 16:09
abs(lambda_p(end)-autovalori_A_eig(end))/autovalori_A_eig(end)
08/09/2022, 16:22
autovalori_max_p
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.