rcond

Взаимный номер условия

Синтаксис

C = rcond(A)

Описание

пример

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

Примеры

свернуть все

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

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

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

A = hilb(10);

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

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

Взаимный номер условия является маленьким, таким образом, A плохо обусловливается.

Условие A имеет эффект на решения подобных линейных систем уравнений. Чтобы видеть это, сравните решение с той из встревоженной системы.

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

b = ones(10,1);
x = A\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

Была ли эта тема полезной?