isIllConditioned

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

Синтаксис

Описание

пример

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

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

  • 'qr' и 'cod' decompositions - Матрица коэффициентов плохо обусловлена, если 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