Main Content

rotm2eul

Convertir una matriz de rotación en ángulos de Euler

Descripción

ejemplo

eul = rotm2eul(rotm) convierte una matriz de rotación, rotm, en los ángulos de Euler correspondientes, eul. La matriz de rotación de entrada debe estar en la forma de premultiplicación para rotaciones. El orden predeterminado para las rotaciones de ángulos de Euler es "ZYX".

Para más información sobre las rotaciones de ángulos de Euler, consulte Ángulos de Euler.

ejemplo

eul = rotm2eul(rotm,sequence) convierte una matriz de rotación en ángulos de Euler. Los ángulos de Euler se especifican en la secuencia de rotación del eje, sequence. El orden predeterminado para las rotaciones de ángulos de Euler es "ZYX".

Ejemplos

contraer todo

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

Argumentos de entrada

contraer todo

La matriz de rotación, especificada como una matriz de 3 por 3 por n que contiene n matrices de rotación. Cada matriz de rotación tiene un tamaño de 3 por 3 y es ortonormal. La matriz de rotación de entrada debe estar en la forma de premultiplicación para rotaciones.

Nota

Las matrices de rotación que sean ligeramente no ortonormales pueden dar resultados complejos. Considere la posibilidad de validar la matriz antes de introducirla en la función.

Ejemplo: [0 0 1; 0 1 0; -1 0 0]

La secuencia de rotación del eje de los ángulos de Euler, especificada como uno de los siguientes escalares de cadena:

  • "ZYX" (predeterminado): el orden de los ángulos de rotación es eje z, eje y y eje x.

  • "ZYZ": el orden de los ángulos de rotación es eje z, eje y y eje z.

  • "XYZ": el orden de los ángulos de rotación es eje x, eje y y eje z.

Tipos de datos: string | char

Argumentos de salida

contraer todo

Los ángulos de rotación de Euler en radianes, devueltos como un arreglo de ángulos de rotación de Euler de n por 3. Cada fila representa un conjunto de ángulos de Euler.

Ejemplo: [0 0 1.5708]

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2015a