isIllConditioned

Определите, обусловливается ли матрица плохо

Синтаксис

Описание

пример

tf = isIllConditioned(dA) возвращает логический 1 TRUE) если исходная матрица коэффициентов A используемый, чтобы создать разложение dA isIllConditioned; в противном случае это возвращает логический 0 ложь).

Используемый тест зависит от типа разложения:

  • 'qr' и 'cod' разложения — матрица коэффициентов плохо обусловливается если rank(dA) < min(size(A)).

  • Все другие разложения — матрица коэффициентов плохо обусловливается если rcond(dA) < eps.

Если isIllConditioned возвращает логический 1 TRUE), затем решая линейную систему с любым dA\b или b/dA выводит предупреждение. Используйте CheckCondition свойство объекта dA разложения выключить эти предупреждения.

Примеры

свернуть все

Создайте матричный объект разложения для 25 25 Гильбертовой матрицы коэффициентов и затем проверяйте, чтобы видеть, обусловливается ли базовая матрица коэффициентов плохо.

A = hilb(25);
dA = decomposition(A)
dA = 
  decomposition with properties:

    MatrixSize: [25 25]
          Type: 'ldl'

  Show all properties

tf = isIllConditioned(dA)
tf = logical
   1

Проверяйте взаимное число обусловленности матрицы коэффициентов. В этом случае isIllConditioned решает что матрица коэффициентов A плохо обусловливается потому что rcond(dA) меньше, чем eps.

rcond(dA)
ans = 2.3569e-20

Входные параметры

свернуть все

Введите разложение в виде decomposition объект.

Пример: dA = decomposition(A,'qr')

Советы

  • isIllConditioned ранг использования и оценки числа обусловленности объекта разложения. Эти оценки могут отличаться по сравнению с вызовом rank(A) или rcond(A) на матрице коэффициентов непосредственно.

Смотрите также

| |

Введенный в R2017b