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

Синтаксис

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

Описание

пример

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

пример

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

Примеры

свернуть все

Используйте функцию null, чтобы вычислить ортонормированные и рациональные базисные вектора для ядра матрицы. Ядро матрицы содержит векторы x это удовлетворяет Ax=0.

Создайте матрицу магического квадрата 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. Подтвердите это Ax1=0, в ошибке округления.

x1 = null(A)
x1 = 4×1

    0.2236
    0.6708
   -0.6708
   -0.2236

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

Теперь вычислите рациональный базис ядра. Подтвердите это Ax2=0.

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

    -1
    -3
     3
     1

norm(A*x2)
ans = 0

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

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

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

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

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

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

  • N пустой пробел A.

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

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

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

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