Bonjour,
Je cherche à résoudre numériquement un système sur-déterminé de 3 inconnues à l'aide d'un nombre d'équations fixé au départ, mais pouvant être de 3 à 100 équations.
J'effectue la résolution de façon matricielle, grâce à A*x = b, alors x = (A+)*b où (A+) est le pseudo-inverse de A.
Pour donner une idée de l'application, "b" n'est pas un vecteur, mais une matrice puisque je résous plusieurs systèmes en même. Donc, par exemple, si je suis sur-déterminé par 10 équations et que j'ai 1000 vecteurs "b" à résoudre, alors je fais [3x10]*[10x1000] où [3x10] est le pseudo-inverse de A qui était alors [10x3], tandis que [10x1000] sont mes 1000 vecteurs à résoudre et donc j'obtiens un résultat [3x1000] qui sont chacune des 1000 résolutions de 3 inconnues, par moindre carré.
Or, parfois dans mes 1000 vecteurs [10x1], je sais d'avance que certaines valeurs sont erronées, alors j'aimerais les invalider. Par exemple, si je sais qu'il y a une valeur invalide, alors j'aimerais d'une certaine façon l'invalider pour que le résultat soit celui de [3x9]*[9x1]. Je peux donc invalider jusqu'à 7 valeurs par vecteur dans cet exemple. Cependant, les valeurs à invalider sont différentes d'un vecteur à l'autre, alors je me demandais s'il était possible de garder cette technique de résolution matricielle plutôt simple tout en invalidant ou compensant l'invalidité de certaines valeurs.
Merci,
Éric