dcm2quat

Преобразуйте матрицу направляющего косинуса в кватернион

Синтаксис

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         0

Смотрите также

| | | |

Представленный в R2006b