Вы ищете нетривиальное решение у к А * V = с у = [х, у, г] и ...
A =
0.70710678118655 0 0.70710678118655
-0.50000000000000 0.70710678118655 0.50000000000000
-0.50000000000000 -0.70710678118655 0.50000000000000
Вы можете превратить это в (AI) v = 0, где I - тождественная матрица 3x3. Что нужно сделать, чтобы найти нетривиальное решение проверяет нулевое пространство A-I:
>> null(A-eye(3))
ans =
0.67859834454585
-0.67859834454585
0.28108463771482
Итак, у вас есть одномерный нуль-пространство. В противном случае вы увидите более одного столбца. Каждая линейная комбинация столбцов является точкой в этом нулевом пространстве, в которой A-I отображает нулевой вектор. Таким образом, каждое кратное этого вектора является решением вашей проблемы.
На самом деле, ваша матрица A является матрицей вращения первого рода, так как det (A) = 1 и A '* A = тождество. Таким образом, оно имеет собственное значение 1 с осью вращения в качестве соответствующего собственного вектора. Вычисленный выше вектор I является нормированной осью вращения.
Примечание: для этого я заменил ваш 0.7071 на sqrt (0.5). Если ошибки округления являются проблемой, но вы знаете заранее, что там должен быть нетривиальным решением лучший выбор, чтобы сделать сингулярное разложение ИИ и выбрать право наиболее правый сингулярный вектор:
>> [u,s,v] = svd(A-eye(3));
>> v(:,end)
ans =
0.67859834454585
-0.67859834454585
0.28108463771482
Таким образом, вы может вычислить вектор v, который минимизирует | A * vv | при условии, что | v | = 1, где |. | является евклидовой нормой.
Поскольку первое уравнение отсутствует, не должно быть трудно найти решение вручную. Что вы получаете? Знаки –
+/- не будут иметь никакого эффекта. – Nzbuu
@ Хани: Почему вы уверены, что существует ненулевое решение? –