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-by-3 массив Эйлеровых углов поворота. Каждая строка представляет один набор Угла Эйлера.

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

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

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

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