parto dicendo che so come scrivere una fuction per usare il metodo delle potenze inverse
- Codice:
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
o per lo meno così mi è stato spiegato durante un' esercitazione in aula; però non riesco a trovare il modo di risolvere questo esercizio.
Tra l'altro, la domanda fa parte di un quiz a crocette a cui rispondere in pochi minuti quindi una soluzione così articolata mi pare faccia perdere troppo tempo.
Mi date una mano a risolverlo e magari a trovare un metodo più immediato?
Grazie a tutti!