пустой указатель

Пустой пробел матрицы

Синтаксис

Z = null(A)
Z = null(A,'r')

Описание

пример

Z = null(A) возвращает ортонормированное основание для пустого пробела A.

пример

Z = null(A,'r') возвращает "рациональное" основание для пустого пробела A, который обычно не ортонормирован. Если A является небольшой матрицей с маленькими целочисленными элементами, то элементы Z являются отношениями маленьких целых чисел. Этот метод численно менее точен, чем null(A).

Примеры

свернуть все

Пустой пробел матрицы содержит векторы, которые удовлетворяют. Используйте функцию null, чтобы вычислить ортонормированные и рациональные базисные векторы для пустого пробела матрицы.

Создайте матрицу магического квадрата 4 на 4. Эта матрица является неполным рангом с одним из сингулярных значений, являющихся равным нулю.

A = magic(4)
A = 4×4

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

Вычислите ортонормированное основание для пустого пробела A. Подтвердите это в ошибке округления.

x1 = null(A)
x1 = 4×1

    0.2236
    0.6708
   -0.6708
   -0.2236

norm(A*x1)
ans = 4.4019e-15

Теперь вычислите рациональное основание для пустого пробела. Подтвердите это.

x2 = null(A,'r')
x2 = 4×1

    -1
    -3
     3
     1

norm(A*x2)
ans = 0

x1 и x2 подобны, но нормализованы по-другому.

Недоопределенные линейные системы включают больше неизвестных, чем уравнения. Недоопределенная система может иметь бесконечно много решений или никакое решение. Когда система имеет бесконечно много решений, они все лежат на строке. Точки на строке все получены с линейными комбинациями пустых векторов пробела. Этот пример находит одно конкретное решение недоопределенной системы и затем получает общую форму для всех решений.

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

A = [1 8 15 67; 7 14 16 3]
A = 2×4

     1     8    15    67
     7    14    16     3

b = ones(2,1);
x0 = A\b
x0 = 4×1

         0
         0
    0.0623
    0.0010

Полное общее решение недоопределенной системы имеет форму, где:

  • пустой пробел

  • любой вектор соответствующей длины

  • решение, вычисленное наклонной чертой влево

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

N = null(A)
N = 4×2

   -0.2977   -0.8970
   -0.6397    0.4397
    0.7044    0.0157
   -0.0769   -0.0426

x = x0 + N*[1; -2]
x = 4×1

    1.4963
   -1.5192
    0.7354
    0.0093

norm(A*x-b)
ans = 1.8291e-14

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

свернуть все

Введите матрицу.

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

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

свернуть все

Пустые базисные векторы пробела, возвращенные в столбцах матрицы. Z удовлетворяет свойства:

  • A*Z имеет незначительные элементы.

  • size(Z,2) является оценкой ничтожности A.

Алгоритмы

null(A) вычисляет сингулярное разложение матрицы, [U,S,V] = svd(A,0). Столбцы V, которые не соответствуют ненулевым сингулярным значениям, формируют набор ортонормированных базисных векторов для пустого пробела.

"Рациональное" основание для пустого пробела null(A,'r') получено из уменьшенной формы эшелона строки A, как вычислено rref.

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

Смотрите также

| | |

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

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