У меня есть плохо обусловленная матрица, чей rcond()
близок к нулю, и поэтому обратная матрица не оказывается правильной. Я попытался использовать pinv()
, но это не решает проблему. Вот как я принимаю обратное:
X = (A)\(b);
Я искал решение этой проблемы и нашел эту ссылку (последнее решение) для улучшения матрицы. Решение там предлагает использовать это:
A_new = A_old + c*eye(size(A_old));
Где c > 0
. До сих пор использование этой техники позволяло сделать матрицу A
лучше обусловленной, и результирующее решение выглядело лучше. Однако я исследовал, используя разные значения c
, и результирующее решение зависит от выбранного значения c
.
Помимо ручного поиска значения c
, есть ли автоматический способ найти значение c
, для которого я получу лучшее решение?
A\b
дает вам ошибки? Насколько великA
? Вы можете опубликовать его содержимое, или...? - person Rody Oldenhuis   schedule 12.09.2013A
лучше обусловленным, вам нужно изменить свою матрицу. Какой критерий у вас есть, чтобы ограничить изменения, разрешенные в матрице? В противном случае ответ типа «заменитьA
на матрицу идентичности» решит ваш вопрос. - person Luis Mendo   schedule 12.09.2013