Améliorer une matrice mal conditionnée

J'ai une matrice mal conditionnée, dont rcond() est proche de zéro, et par conséquent, à l'inverse de cette matrice n'est pas venu pour être correct. J'ai essayé d'utiliser pinv() mais ça ne résout pas le problème. C'est de cette façon que je prends l'inverse:

X = (A)\(b);

J'ai cherché une solution à ce problème et trouvé ce lien (dernière solution) pour l'amélioration de la matrice. La solution, il suggère d'utiliser cette:

A_new = A_old + c*eye(size(A_old));

c > 0. La mesure d'employer cette technique fonctionne dans la fabrication de la matrice A mieux conditionné et la solution résultante a l'air mieux. Cependant, j'ai étudié à l'aide de différentes valeurs de c et la solution résultante dépend de la valeur de choisi c.

D'autres qu'à la main en train d'étudier pour la valeur de cest-il une manière automatique grâce auquel je peux trouver la valeur de c pour laquelle je obtenir la meilleure solution?

source d'informationauteur