Power Method Eigenvectors Code
Afficher commentaires plus anciens
I am attempting to make a code for a manual computation of the Power Method.
I think I have it working properly but wanted to make sure. Any thoughts?
function [lambda,x,k] = power_method(A,x,tol,maxit);
% Initialize
n = length(A);
k = 0;
y = zeros(1,n);
tolerance = 1;
while k < maxit && (tolerance > tol)
yk = A * x; % y(k) = A* x(k)
xnext = yk / norm(yk); % X(k+1) = yk / 2norm(yk)
lambda = dot (xnext,(A * xnext)); % lambda = X(k+1) * (A * X(k+1))
k = k + 1;
tolerance = norm(yk - lambda * x);
err = tolerance;
x = xnext;
end
2 commentaires
James Tursa
le 28 Jan 2021
What do you mean by "look smoother"?
Benjamin Boettcher
le 28 Jan 2021
Modifié(e) : Benjamin Boettcher
le 28 Jan 2021
Réponses (1)
James Tursa
le 28 Jan 2021
The only obvious thing I would note is that the following line doesn't accomplish anything because you don't use err in your code, so it can be removed:
err = tolerance;
1 commentaire
Benjamin Boettcher
le 28 Jan 2021
Catégories
En savoir plus sur Programming dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!