exponenta event banner

rcond

Номер ответного условия

Синтаксис

Описание

пример

C = rcond(A) возвращает оценку для ответного условия A в 1-норме. Если A хорошо кондиционирован, rcond(A) около 1,0. Если A плохо кондиционирован, rcond(A) около 0.

Примеры

свернуть все

Проверьте чувствительность плохо кондиционированной матрицы.

Заметной матрицей, которая является симметричной и положительной определённой, но плохо обусловленной, является матрица Гильберта. Элементами матрицы Гильберта являются H (i, j) = 1/( i + j-1).

Создайте матрицу Гильберта 10 на 10.

A = hilb(10);

Найдите ответный номер условия матрицы.

C = rcond(A)
C = 2.8286e-14

Ответный номер условия мал, поэтому A плохо кондиционирован.

Состояние A оказывает влияние на решения аналогичных линейных систем уравнений. Чтобы увидеть это, сравните раствор Ax = b с раствором возмущенной системы, Ax = b + 0,01.

Создайте вектор столбца из единиц и решите Ax = b.

b = ones(10,1);
x = A\b;

Теперь измените b на 0.01 и решить проблему возмущенной системы.

b1 = b + 0.01;
x1 = A\b1;

Сравните решения, x и x1.

norm(x-x1)
ans = 1.1250e+05

С тех пор A плохо кондиционирован, небольшое изменение в b приводит к очень большому изменению (порядка 1e5) в решении x = A\b. Система чувствительна к возмущениям.

Изучите, почему число взаимных условий является более точной мерой сингулярности, чем определитель.

Создайте матрицу тождества, кратную 5 на 5.

A = eye(5)*0.01;

Эта матрица является полной и имеет пять равных сингулярных значений, которые можно подтвердить вычислением svd(A).

Вычислить определитель A.

det(A)
ans = 1.0000e-10

Хотя определитель матрицы близок к нулю, A на самом деле очень хорошо кондиционирован и не близок к тому, чтобы быть единственным.

Рассчитать число взаимных условий A.

rcond(A)
ans = 1

Матрица имеет ответный номер условия 1 и поэтому очень хорошо кондиционирован. Использовать rcond(A) или cond(A) вместо det(A) для подтверждения сингулярности матрицы.

Входные аргументы

свернуть все

Входная матрица, заданная как квадратная числовая матрица.

Типы данных: single | double

Выходные аргументы

свернуть все

Ответный номер условия, возвращаемый как скаляр. Тип данных C является таким же, как A.

Ответное число условий является масштабно-инвариантной мерой того, насколько близка данная матрица к множеству сингулярных матриц.

  • Если C около 0, матрица почти единичная и плохо обусловленная.

  • Если C около 1,0, матрица хорошо кондиционирована.

Совет

  • rcond является более эффективным, но менее надежным способом оценки состояния матрицы по сравнению с номером условия, cond.

Расширенные возможности

..

См. также

| | | | |

Представлен до R2006a