Puissances inverses itérée sous Matlab

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
aurorem
Messages: 1
Enregistré le: 23 Mai 2007, 03:57

Puissances inverses itérée sous Matlab

par aurorem » 23 Mai 2007, 03:59

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émenter ca sous Matlab svp
je suis désespérée...
Merci de votre aide.



buzard
Membre Relatif
Messages: 274
Enregistré le: 22 Mai 2006, 14:29

par buzard » 23 Mai 2007, 12:29

bonjour,

tu est sûre pour ton algo des puissances inverses itérées, ne faut-il pas décomposer en LU la matrice pour cela?

sachant en plus qu'il y aura des valeurs propre nulle, il s'agit de faire une résolution d'un système linéaire, et non une simple inversion de matrice (de toute manière ce qui t'intéresse c'est le résultat d'un système Ax=b) l'inversion de la matrice est donc optionnelle (et inefficace en complexité)

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 37 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite