[MATLAB] Calcul valeurs propres matrices
Résolu/Fermé
snakehill
555 - 11 mars 2020 à 18:04
- Messages postés
- 39
- Date d'inscription
- samedi 18 janvier 2003
- Statut
- Membre
- Dernière intervention
- 20 novembre 2008
555 - 11 mars 2020 à 18:04
A voir également:
- Valeur propre matrice matlab
- Valeur propre matlab - Meilleures réponses
- Les valeurs propres d'une matrice matlab - Meilleures réponses
- [MATLAB] Calcul valeurs propres matrices ✓ - Forum - Matlab
- Concaténer matrice matlab - Conseils pratiques - MatLab
- Remplir une matrice matlab ✓ - Forum - Matlab
- Matrice de matrice matlab ✓ - Forum - Matlab
- Excel rechercher valeur dans matrice ✓ - Forum - Excel
4 réponses
snakehill
2 nov. 2008 à 11:33
- Messages postés
- 39
- Date d'inscription
- samedi 18 janvier 2003
- Statut
- Membre
- Dernière intervention
- 20 novembre 2008
2 nov. 2008 à 11:33
Tu te fous de ma gueule ? C'est moi qui t'ai donné ce code et ça ne répond pas a la question !!!!! ....
Sacabouffe
4 nov. 2008 à 00:21
- Messages postés
- 9418
- Date d'inscription
- dimanche 19 août 2007
- Statut
- Membre
- Dernière intervention
- 29 mai 2009
4 nov. 2008 à 00:21
Salut
T'as pas besoin de ta fonction seidel dans ton programme.
À la sortie de ta boucle, la valeur propre est bien lambda = X'*Y comme tu l'as écrit et ton vecteur propre unitaire est X, tu l'as directement.
Pour ton souci, je dirais que 15 itérations, c'est peut-être un peu faible, essaie de l'augmenter, d'autant plus que les erreurs se cumulent à chaque fois que tu calcules une nouvelle valeur propre.
Mais si t'utilises pas un nombre faramineux d'itérations nb_it, tu peux aussi faire directement :
Bonne nuit
T'as pas besoin de ta fonction seidel dans ton programme.
À la sortie de ta boucle, la valeur propre est bien lambda = X'*Y comme tu l'as écrit et ton vecteur propre unitaire est X, tu l'as directement.
Pour ton souci, je dirais que 15 itérations, c'est peut-être un peu faible, essaie de l'augmenter, d'autant plus que les erreurs se cumulent à chaque fois que tu calcules une nouvelle valeur propre.
Mais si t'utilises pas un nombre faramineux d'itérations nb_it, tu peux aussi faire directement :
Y=eye(taille,1); X=mat^nb_it*Y; X=X/norm(X); lambda=X'*mat*X;T'as la valeur propre lambda et le vecteur propre unitaire associé X.
Bonne nuit
Scoleproj
2 nov. 2008 à 03:43
- Messages postés
- 226
- Date d'inscription
- lundi 22 septembre 2008
- Statut
- Membre
- Dernière intervention
- 24 juillet 2012
2 nov. 2008 à 03:43
Avec Seidel , ou Jacobi , ou la méthode de relaxation , je te conseille seidel :
function [Xbase]=seidel(A,B,epsilon)
ligne=size(A,1);
colonne=size(A,2);
Xbase=rand(ligne,1);
while norm(A*Xbase-B) > epsilon
for i=1:ligne,
Xbase(i)=(B(i)-sum(A(i,1:(i-1))*Xbase(1:(i-1)))-sum(A(i,(i+1):colonne)*Xbase((i+1):colonne)))/A(i,i);
end
end
ça renvoie un vecteur Xbase qui est la solution du système.
function [Xbase]=seidel(A,B,epsilon)
ligne=size(A,1);
colonne=size(A,2);
Xbase=rand(ligne,1);
while norm(A*Xbase-B) > epsilon
for i=1:ligne,
Xbase(i)=(B(i)-sum(A(i,1:(i-1))*Xbase(1:(i-1)))-sum(A(i,(i+1):colonne)*Xbase((i+1):colonne)))/A(i,i);
end
end
ça renvoie un vecteur Xbase qui est la solution du système.
snakehill
2 nov. 2008 à 14:47
- Messages postés
- 39
- Date d'inscription
- samedi 18 janvier 2003
- Statut
- Membre
- Dernière intervention
- 20 novembre 2008
2 nov. 2008 à 14:47
up ?
23 avril 2011 à 14:24
11 mars 2020 à 18:04