Улучшение плохо обусловленной матрицы
У меня плохо обусловленная матрица, чьяrcond()
близка к нулю, и, следовательно, обратная сторона этой матрицы не оказывается правильной. Я пытался использоватьpinv()
но это не решает проблему. Вот как я принимаю обратное:
X = (A)\(b);
Я искал решение этой проблемы и нашелэта ссылка (последнее решение) для улучшения матрицы. Решение там предлагает использовать это:
A_new = A_old + c*eye(size(A_old));
гдеc > 0
, Пока что использование этого метода работает в создании матрицыA
лучше обусловлено и полученное решение выглядит лучше. Тем не менее, я исследовал, используя разные значенияc
и результирующее решение зависит от значения выбранногоc
.
Кроме ручного расследования на значениеc
Есть ли автоматический способ, с помощью которого я могу найти значениеc
за что я получу лучшее решение?