rotm2eul

Преобразуйте матрицу поворота в углы Эйлера

Описание

пример

eul = rotm2eul(rotm) преобразует матрицу поворота, rotm, к соответствующим углам Эйлера, eul. Матрица вращения входного сигнала должна быть в преждевременной форме для вращений. Порядок поворота угла Эйлера по умолчанию "ZYX".

пример

eul = rotm2eul(rotm,sequence) преобразует матрицу поворота в углы Эйлера. Углы Эйлера заданы в последовательности поворота оси, sequence. Порядок поворота угла Эйлера по умолчанию "ZYX".

Примеры

свернуть все

rotm = [0 0 1; 0 1 0; -1 0 0];
eulZYX = rotm2eul(rotm)
eulZYX = 1×3

         0    1.5708         0

rotm = [0 0 1; 0 -1 0; -1 0 0];
eulZYZ = rotm2eul(rotm,'ZYZ')
eulZYZ = 1×3

   -3.1416   -1.5708   -3.1416

Входные параметры

свернуть все

Матрица вращения, заданная как матрица 3 на 3 n, содержащая n матрицы вращения. Каждая матрица вращения имеет размер 3 на 3 и ортонормальна. Матрица вращения входного сигнала должна быть в преждевременной форме для вращений.

Примечание

Матрицы вращения, которые немного неортонормальны, могут дать комплексные выходы. Рассмотрите валидацию вашей матрицы, прежде чем вводить в функцию.

Пример: [0 0 1; 0 1 0; -1 0 0]

Последовательность вращения оси для углов Эйлера, заданная как один из следующих строковых скаляров:

  • "ZYX" (по умолчанию) - порядок углов поворота z -ось, y -ось, x -ось.

  • "ZYZ" - Порядок углов поворота z -ось, y -ось z -ось.

  • "XYZ" - Порядок углов поворота x -ось, y -ось z -ось.

Типы данных: string | char

Выходные аргументы

свернуть все

Углы поворота Эйлера в радианах, возвращенные как n-на-3 массив углов поворота Эйлера. Каждая строка представляет один набор углов Эйлера .

Пример: [0 0 1.5708]

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

Введенный в R2015a