[Matlab] Inversion matrice complexe 39x39
Résolu/Fermé
matbator
-
28 mai 2009 à 18:59
karim et hanene Messages postés 6 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 09:59
karim et hanene Messages postés 6 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 mars 2012 - 2 mars 2012 à 09:59
A voir également:
- [Matlab] Inversion matrice complexe 39x39
- Inversion ecran pc - Guide
- Vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
- Inversion polarité haut parleur ✓ - Forum Enceintes / HiFi
- Inversion majuscule minuscule - Forum Bureautique
- Pas modifier une partie de matrice - Forum Excel
4 réponses
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
31 mai 2009 à 03:03
31 mai 2009 à 03:03
Bonsoir mon ami !
Si ta matrice est mal conditionnée ou très proche d'une matrice singulière, il n'y a aucun moyen de donner ta matrice telle qu'elle est à Matlab pour qu'il l'inverse.
Les possibilités qui me viennent à l'esprit sont :
1) Utiliser une méthode itérative pour la résolution comme la méthode de Gauss-Seidel, peut-être que les résultats seront meilleurs s'il ne s'agit que d'un problème de conditionnement, mais tu auras certainement besoin d'un nombre important d'itérations pour arriver à la solution.
Tu pourras trouver un programme pour cette méthode sur cette page : http://matlabdb.mathematik.uni-stuttgart.de/download.jsp?MC_ID=3&MP_ID=406
2) Utiliser un préconditionneur si le problème est uniquement un problème de conditionnement de ta matrice
3) Si le problème que tu essaies de résoudre correspond à un problème inverse, il faut savoir qu'en général, les problèmes inverses ne sont pas des problèmes bien posés au sens de Hadamard (ils sont donc mal posés, jolie lapalissade...) et il est nécessaire de régulariser ces problèmes, la méthode de régularisation la plus utilisée étant selon moi la régularisation de Tychonoff. Une méthode possible de détermination du(des) paramètre(s) de régularisation est le Morozov Discrepancy Principle.
Je te souhaite une bien bonne nuit !
Si ta matrice est mal conditionnée ou très proche d'une matrice singulière, il n'y a aucun moyen de donner ta matrice telle qu'elle est à Matlab pour qu'il l'inverse.
Les possibilités qui me viennent à l'esprit sont :
1) Utiliser une méthode itérative pour la résolution comme la méthode de Gauss-Seidel, peut-être que les résultats seront meilleurs s'il ne s'agit que d'un problème de conditionnement, mais tu auras certainement besoin d'un nombre important d'itérations pour arriver à la solution.
Tu pourras trouver un programme pour cette méthode sur cette page : http://matlabdb.mathematik.uni-stuttgart.de/download.jsp?MC_ID=3&MP_ID=406
2) Utiliser un préconditionneur si le problème est uniquement un problème de conditionnement de ta matrice
3) Si le problème que tu essaies de résoudre correspond à un problème inverse, il faut savoir qu'en général, les problèmes inverses ne sont pas des problèmes bien posés au sens de Hadamard (ils sont donc mal posés, jolie lapalissade...) et il est nécessaire de régulariser ces problèmes, la méthode de régularisation la plus utilisée étant selon moi la régularisation de Tychonoff. Une méthode possible de détermination du(des) paramètre(s) de régularisation est le Morozov Discrepancy Principle.
Je te souhaite une bien bonne nuit !
Bonjour
j'ai le même problème que vous avec des matrices 100*100. Avez vous réussi à resoudre votre problème de matrices singulières. Si oui comment???
Merci d'avance pour votrre réponse
j'ai le même problème que vous avec des matrices 100*100. Avez vous réussi à resoudre votre problème de matrices singulières. Si oui comment???
Merci d'avance pour votrre réponse
salut tout le monde mon probléme c est que j ai une matrice singuliére non pas proche et je dois inverser pour calculer la matrice de covariance . bon en faite je travaille pas sur matlab mais sur SAS .
mais je voudrais juste savoir si il ya une solution pour régler ce probléme de matrice singuliére .
merci d 'avance
mais je voudrais juste savoir si il ya une solution pour régler ce probléme de matrice singuliére .
merci d 'avance
Bonjour
Malheureusement, je n'ai pas réussi à inverser mais matrices qui étaient mal conditionnées.
Par contre j'ai essayé plusieurs méthodes notamment à base de pré-conditionneurs. Cela décompose ta matrice en un produit de matrice plus simple ayant de bonnes propriètés (notamment A-1 = transposée(A) ). J'ai par exemple utilisé la décomposition Choleski ou la méthode SPAI et j'ai pu constater que les matrcies inversés suite à ces décompositions étaient "mieux" inversées.
J'avais également pensé réaliser des inversions par bloc. C'est à dire puisque mon problème était la dynamique de la matrice (écart entre le plus petit terme et le plus grand de l'ordre de 10^40), j'ai pensé à organiser ma matrcie de telle sorte que les petits termes soient tous au même endroit et de même pour les plus grands. Ainsi on a des sous matrices avec une dynamique plus faible qu'on peut essayer d'inverser individuellement. Puis regrouper ces matrices inversées dans la matrice globale en faisant des simples calculs d'addition, soustraction, ... .
J'éspère que ca peut t'aider en tout cas bon courage
Malheureusement, je n'ai pas réussi à inverser mais matrices qui étaient mal conditionnées.
Par contre j'ai essayé plusieurs méthodes notamment à base de pré-conditionneurs. Cela décompose ta matrice en un produit de matrice plus simple ayant de bonnes propriètés (notamment A-1 = transposée(A) ). J'ai par exemple utilisé la décomposition Choleski ou la méthode SPAI et j'ai pu constater que les matrcies inversés suite à ces décompositions étaient "mieux" inversées.
J'avais également pensé réaliser des inversions par bloc. C'est à dire puisque mon problème était la dynamique de la matrice (écart entre le plus petit terme et le plus grand de l'ordre de 10^40), j'ai pensé à organiser ma matrcie de telle sorte que les petits termes soient tous au même endroit et de même pour les plus grands. Ainsi on a des sous matrices avec une dynamique plus faible qu'on peut essayer d'inverser individuellement. Puis regrouper ces matrices inversées dans la matrice globale en faisant des simples calculs d'addition, soustraction, ... .
J'éspère que ca peut t'aider en tout cas bon courage
karim et hanene
Messages postés
6
Date d'inscription
samedi 3 décembre 2011
Statut
Membre
Dernière intervention
2 mars 2012
2 mars 2012 à 09:59
2 mars 2012 à 09:59
bonjour
je veux que vous m'aidez svp,j'ai un probléme avec la dévision d'une image de taille[n m] en blocs 8*8 sous matlab!! est ce que vous avez une lien qui pourra m'aider ?
je veux que vous m'aidez svp,j'ai un probléme avec la dévision d'une image de taille[n m] en blocs 8*8 sous matlab!! est ce que vous avez une lien qui pourra m'aider ?