Лично я ненавижу тот VS значения по умолчанию к "Вкладке к Пробелам", когда Вы разрабатываете в C#. Это настолько неудобно работать с и ненужный.
Да, я знаю, что существуют проблемы с Вкладками, но честно, какой-либо из Вас когда-нибудь встречается с ними кодирующий в C# в Windows?
Обратите внимание, что null (A) делает то же самое (для матрицы с недостаточным рангом) , как показано ниже, но здесь используется функция svd (A)
в MATLAB (которая, как я упоминал в своих комментариях, что делает null (A)
).
[U S V] = svd(A);
x = V(:,end)
Подробнее об этом см. ссылка , связанная с этим (не могу публиковать ее здесь из-за формул).
Вы можете увидеть, имеет ли MATLAB разложение по сингулярным значениям в его наборе инструментов. Это даст вам нулевое пространство вектора.
You can use N = null(A)
to get a matrix N
. Any of the columns of N
(or, indeed, any linear combination of columns of N
) will satisfy Ax = 0
. This describes all possible such x
- you've just found an orthogonal basis for the nullspace of A
.
Note: you can only find such an x
if A
has non-trivial nullspace. This will occur if rank(A) < #cols of A
.