null

Синтаксис

Описание

пример

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.

Если rank(A) равно size(A,2), затем Z пуст.

Алгоритмы

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

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

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

.

См. также

| | |

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