cond

Число обусловленности для инверсии

Синтаксис

Описание

пример

C = cond(A) возвращает число обусловленности 2-нормы для инверсии, равной отношению самого большого сингулярного значения A к самому маленькому.

пример

C = cond(A,p) возвращает p- число обусловленности нормы, где p может быть 1, 2Inf, или 'fro'.

Примеры

свернуть все

Вычислите число обусловленности матрицы и исследуйте чувствительность к обратному вычислению.

Создайте матрицу 2 на 2.

A = [4.1 2.8;
     9.7 6.6];

Вычислите число обусловленности 2-нормы A.

C = cond(A)
C = 1.6230e+03

Начиная с числа обусловленности A намного больше, чем 1, матрица чувствительна к обратному вычислению. Вычислите инверсию A, и затем сделайте небольшое изменение во второй строке A и вычислите инверсию снова.

invA = inv(A)
invA = 2×2

  -66.0000   28.0000
   97.0000  -41.0000

A2 = [4.1    2.8; 
      9.671  6.608]
A2 = 2×2

    4.1000    2.8000
    9.6710    6.6080

invA2 = inv(A2)
invA2 = 2×2

  472.0000 -200.0000
 -690.7857  292.8571

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

Вычислите число обусловленности с 1 нормой матрицы.

Создайте 3х3 матрицу.

A = [1 0 -2;
     3 4  6;
    -1 5  7];

Вычислите число обусловленности с 1 нормой A. Значение числа обусловленности с 1 нормой для матрицы m на n

κ1(A)=||A||1||A-1||1,

где 1 норма является максимальной абсолютной суммой столбца матрицы, данной

||A||1=max1jni=1m|aij|.

C = cond(A,1)
C = 18.0000

Для этой матрицы число обусловленности не является слишком большим, таким образом, матрица не особенно чувствительна к обратному вычислению.

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

свернуть все

Введите матрицу. A может быть или квадратным или прямоугольным в размере.

Типы данных: single | double
Поддержка комплексного числа: Да

Тип нормы в виде одного из значений, показанных в этой таблице. cond вычисляет число обусловленности с помощью norm(A,p) * norm(inv(A),p) для значений p кроме 2. Смотрите norm страница для получения дополнительной информации об этих типах нормы.

Значение p

Тип нормы

1

Число обусловленности с 1 нормой

2

Число обусловленности 2-нормы

Inf

Число обусловленности нормы по бесконечности

'fro'

Число обусловленности нормы Фробениуса

Пример: cond(A,1) вычисляет число обусловленности с 1 нормой.

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

свернуть все

Число обусловленности, возвращенное как скаляр. Значения C около 1 указывают на хорошо подготовленную матрицу и большие значения C укажите на плохо обусловленную матрицу. Сингулярные матрицы имеют число обусловленности Inf.

Больше о

свернуть все

Число обусловленности для инверсии

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

Число обусловленности для инверсии матрицы измеряет чувствительность решения системы линейных уравнений к ошибкам в данных. Это дает индикацию относительно точности результатов матричной инверсии и решения для линейного уравнения. Например, число обусловленности 2-нормы квадратной матрицы

κ(A)=AA1.

В этом контексте большое число обусловленности указывает что небольшое изменение в матрице коэффициентов A может привести к большим изменениям в выходе b в линейных уравнениях A x = b и x A = b. Крайний случай когда A так плохо обусловливается, что это сингулярно (бесконечное число обусловленности), в этом случае это не имеет никакой инверсии, и линейное уравнение не имеет никакого уникального решения.

Советы

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

Алгоритмы

Алгоритм для cond имеет три части:

  • Если p = 2то cond использует сингулярное разложение, обеспеченное svd найти отношение самых больших и самых маленьких сингулярных значений.

  • Если p = 1Inf, или 'fro'то cond вычисляет число обусловленности с помощью соответствующей нормы входной матрицы и ее инверсии с norm(A,p) * norm(inv(A),p).

  • Если входная матрица разреженна, то cond игнорирует любой задал p значение и вызовы condest.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте