Bonjour,
je n'arrive pas à programmer la méthode des puissances inverses itérée en matlab
cette méthode consiste à trouver de propche en proche les valeurs propres d'une matrice en commencant par la plus petite.
J'ai réussi à programmer la méthode de la puissance inverse simple, donc j'obtient la plus petite vp.
voila l'algo et mon programme Matlab:
x(0) donné
A*y(k+1)=x(k)
x(k+1)=y(k+1) / norm(y(k+1))
b(k+1)=y(k+1).x(k)
l(k+1)=1/b(k+1)
y=ones(10,1);
x=y/norm(y);
k=0;
l=0;
err=1;
b=0;
while err>10^(-8)
k=k+1;
y=inv(A)*x;
b=y(1)/x(1);
err=norm(y-b*x);
x=y/norm(y);
l=1/b;
end
l
Maintenant, je vous donne l'algo de la puissance inverse itérée:
étant donnés les k-1 premiers vecteurs propres
x(0)donné
A*y(k+1)=x(k)
x~(k+1)=y(k+1) / norm(y(k+1))
x(k+1)=x~(k+1)-Somme(i=1..k-1)(x~(k+1).ei)ei
b(k+1)=y(k+1).x(k)
l(k+1)=1/b(k+1)
voila
pouvez vous m'aider à impléenter ca sous Matlab svp!
je suis désespérée...
Merci de votre aide.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :