dcm2angle

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

Синтаксис

[r1 r2 r3] = dcm2angle(n)
[r1 r2 r3] = dcm2angle(n,s)
[r1 r2 r3] = dcm2angle(n,s,lim)
[r1 r2 r3] = dcm2angle(n,s,lim,action)
[r1 r2 r3] = dcm2angle(n,s,lim,action,tolerance)

Описание

[r1 r2 r3] = dcm2angle(n) вычисляет набор углов поворота, r1r2 , r3, для данной матрицы направляющего косинуса, nN 3 3 m матрица, содержащая m матрицы направляющих косинусов. r1 возвращает m массив первых углов поворота. r2 возвращает m массив вторых углов поворота. r3 возвращает m массив третьих углов поворота. Углы поворота выводятся в радианах. Эта функция применяется только к матрицам направляющих косинусов, которые являются ортогональными с определителем +1. Вращение, используемое в этой функции, является пассивным преобразованием между двумя системами координат.

[r1 r2 r3] = dcm2angle(n,s) вычисляет набор углов поворота, r1r2 , r3, для данной матрицы направляющего косинуса, n, и заданная последовательность вращения, s.

Последовательностью вращения по умолчанию является 'ZYX', где r1 z- вращение оси, r2 y- вращение оси и r3 x- вращение оси.

Поддерживаемыми последовательностями вращения является 'ZYX', 'ZYZ', 'ZXY', 'ZXZ', 'YXZ', 'YXY', 'YZX', 'YZY'x, y, z , 'XYX', 'XZY', и 'XZX'.

[r1 r2 r3] = dcm2angle(n,s,lim) вычисляет набор углов поворота, r1r2 , r3, для данной матрицы направляющего косинуса, n, заданная последовательность вращения, s, и заданное угловое ограничение, limlim задает любой 'Default' или 'ZeroR3'. Смотрите Предположения и Ограничения для полных определений угловых ограничений.

[r1 r2 r3] = dcm2angle(n,s,lim,action) выполняет action если матрица направляющего косинуса недопустима (не ортогональный).

  • Предупреждение — Выводит предупреждение и указывает, что матрица направляющего косинуса недопустима.

  • Ошибка — ошибка Отображений и указывает, что матрица направляющего косинуса недопустима.

  • Ни один — не выводит предупреждение или ошибку (значение по умолчанию).

[r1 r2 r3] = dcm2angle(n,s,lim,action,tolerance) использует tolerance уровень, чтобы оценить, если матрица направляющего косинуса, n, допустим (ортогональный). tolerance скаляр, значением по умолчанию которого является eps(2) (4.4409e-16). Функция считает матрицу направляющего косинуса допустимой, если эти условия верны:

  • Транспонирование матричных времен направляющего косинуса само равняется 1 в заданном допуске tolerance (transpose(n)*n == 1±tolerance)

  • Определитель матрицы направляющего косинуса равняется 1 в заданном допуске (det(n) == 1±tolerance).

Примеры

Определите углы поворота из матрицы направляющего косинуса:

dcm = [1 0 0; 0 1 0; 0 0 1];
[yaw, pitch, roll] = dcm2angle(dcm)
yaw =

     0

pitch =

     0

roll =

     0

Определите углы поворота из нескольких матриц направляющих косинусов:

dcm        = [ 1 0 0; 0 1 0; 0 0 1];  
dcm(:,:,2) = [ 0.85253103550038   0.47703040785184  -0.21361840626067; ...
              -0.43212157513194   0.87319830445628   0.22537893734811; ...
               0.29404383655186  -0.09983341664683   0.95056378592206];
[pitch, roll, yaw] = dcm2angle(dcm,'YXZ')

pitch =

         0
    0.3000

roll =

         0
    0.1000

yaw =

         0
    0.5000

Определите углы поворота из матриц направления, подтвержденных в допуске:

dcm        = [ 1 0 0; 0 1 0; 0 0 1];  
dcm(:,:,2) = [ 0.85253103550038   0.47703040785184  -0.21361840626067; ...
              -0.43212157513194   0.87319830445628   0.22537893734811; ...
               0.29404383655186  -0.09983341664683   0.95056378592206];
[pitch, roll, yaw] = dcm2angle(dcm,'YXZ','Default','None',0.1)

pitch =
         0
    0.3000

roll =
         0
    0.1000

yaw =
         0
    0.5000

Допущения и ограничения

'Default' ограничения для 'ZYX', 'ZXY', 'YXZ', 'YZX'x, y, z , и 'XZY' реализации генерируют r2 угол, который находится между ±90 градусами и r1 и r3 углы, которые находятся между ±180 градусами.

'Default' ограничения для 'ZYZ', 'ZXZ', 'YXY', 'YZY', 'XYX', и 'XZX' реализации генерируют r2 угол, который находится 0–180 градусов и r1 и r3 углы, которые находятся между ±180 градусами.

'ZeroR3' ограничения для 'ZYX', 'ZXY', 'YXZ', 'YZX'x, y, z , и 'XZY' реализации генерируют r2 угол, который находится между ±90 градусами и r1 и r3 углы, которые находятся между ±180 градусами. Однако, когда r2 ±90 градусов, r3 установлен в 0 градусов.

'ZeroR3' ограничения для 'ZYZ', 'ZXZ', 'YXY', 'YZY', 'XYX', и 'XZX' реализации генерируют r2 угол, который находится 0–180 градусов и r1 и r3 углы, которые находятся между ±180 градусами. Однако, когда r2 0 или ±180 градусов, r3 установлен в 0 градусов.

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

| | |

Представленный в R2006b
Для просмотра документации необходимо авторизоваться на сайте