Преобразуйте матрицу косинуса направления в кватернион
q = dcm2quat(n)
q = dcm2quat(n,action)
q = dcm2quat(n,action,tolerance)
q = dcm2quat(n) вычисляет кватернион, q, для заданной косинусоидной матрицы направления, n. Входные n является 3х3-бай- m матрица ортогональных матриц направляющих косинусов. Матрица косинуса направления выполняет координатное преобразование вектора в инерционных осях к вектору в осях тела. q возвращает m-by-4 матрица, содержащая m кватернионы. q имеет скалярное число в качестве первого столбца.
Эта функция применяется только к матрицам направляющих косинусов, которые ортогональны с определяющим + 1.
q = dcm2quat(n,action) выполняет action если матрица косинуса направления недопустима (не ортогональна).
Предупреждение - отображает предупреждение и указывает, что матрица косинуса направления недопустима.
Ошибка - Отображает ошибку и указывает, что матрица косинуса направления недопустима.
Нет - не отображает предупреждение или ошибку (по умолчанию).
q = dcm2quat(n,action,tolerance) использует tolerance уровень, чтобы оценить, является ли косинусоидная матрица направления, n, действителен (ортогональен). tolerance является скаляром, значение по умолчанию eps(2) (4.4409e-16). Функция считает матрицу косинуса направления действительной, если эти условия верны:
Транспонирование самой матрицы косинуса направления равняется 1 в пределах заданного допуска (transpose(n)*n == 1±tolerance)
Определяющий матрицы косинуса направления равен 1 в пределах заданного допуска (det(n) == 1±tolerance).
Определите кватернион из матрицы косинуса направления:
dcm = [0 1 0; 1 0 0; 0 0 -1];
q = dcm2quat(dcm)
q =
0 0.7071 0.7071 0Определите кватернионы из нескольких матриц направляющих косинусов:
dcm = [ 0 1 0; 1 0 0; 0 0 -1];
dcm(:,:,2) = [ 0.4330 0.2500 -0.8660; ...
0.1768 0.9186 0.3536; ...
0.8839 -0.3062 0.3536];
q = dcm2quat(dcm)
q =
0 0.7071 0.7071 0
0.8224 0.2006 0.5320 0.0223Определите кватернион из матрицы косинуса направления, подтвержденной в пределах допуска:
dcm = [0 1 0; 1 0 0; 0 0 -1];
q = dcm2quat(dcm,'Warning',0.1)
q =
0 0.7071 0.7071 0angle2dcm | angle2quat | dcm2angle | quat2angle | quat2dcm