Определите, обусловливается ли матрица плохо
tf = isIllConditioned(dA)
возвращает логический tf = isIllConditioned(dA)
1
(true
), если исходная матрица коэффициентов, A
раньше создавал разложение dA
, плохо обусловливается; в противном случае возвращается логический 0 (false).
Используемый тест зависит от типа разложения:
Разложения 'qr'
и 'cod'
— матрица коэффициентов плохо обусловливаются если rank(dA) < min(size(A))
.
Все другие разложения — матрица коэффициентов плохо обусловливается если rcond(dA) < eps
.
Если isIllConditioned
возвращает логический 1
(true
), то решение линейной системы или с dA\b
или с b/dA
отображает предупреждение. Используйте свойство CheckCondition
объекта dA
разложения выключить эти предупреждения.
isIllConditioned
использует ранг и оценки номера условия объекта разложения. Эти оценки могут отличаться по сравнению с вызовом rank(A)
или rcond(A)
на матрице коэффициентов непосредственно.
разложение
| ранг
| rcond