Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

rotm2eul

Convertire la matrice di rotazione in angoli di Eulero

Descrizione

eul = rotm2eul(rotm) converte una matrice di rotazione, rotm, nei corrispondenti angoli di Eulero, eul. La matrice di rotazione di input deve essere nella forma premoltiplicata per le rotazioni. L'ordine predefinito per le rotazioni degli angoli di Eulero è "ZYX" .

esempio

eul = rotm2eul(rotm,sequence) converte una matrice di rotazione in angoli di Eulero. Gli angoli di Eulero sono specificati nella sequenza di rotazione dell'asse, sequence . L'ordine predefinito per le rotazioni degli angoli di Eulero è "ZYX" .

esempio

[eul,eulAlt] = rotm2eul(___) restituisce anche un set alternativo di angoli di Eulero che rappresentano la stessa rotazione eulAlt .

Esempi

comprimi tutto

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

Argomenti di input

comprimi tutto

Matrice di rotazione, specificata come matrice 3x3xn contenente matrici di rotazione n. Ogni matrice di rotazione ha una dimensione di 3 per 3 ed è ortonormale. La matrice di rotazione di input deve essere nella forma premoltiplicata per le rotazioni.

Nota

Le matrici di rotazione leggermente non ortonormali possono fornire output complessi. Si consiglia di convalidare la matrice prima di inserirla nella funzione.

Esempio [0 0 1; 0 1 0; -1 0 0]

Sequenza di rotazione dell'asse per gli angoli di Eulero, specificata come uno di questi scalari di stringa:

  • "ZYX" (predefinito)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

Ogni carattere indica l'asse corrispondente. Ad esempio, se la sequenza è "ZYX", i tre angoli di Eulero specificati vengono interpretati nell'ordine come una rotazione attorno all'asse z, una rotazione attorno all'asse y e una rotazione attorno all'asse x. Quando si applica questa rotazione a un punto, le rotazioni degli assi verranno applicate nell'ordine x, poi y, poi z.

Tipi di dati: string | char

Argomenti di output

comprimi tutto

Angoli di rotazione di Eulero in radianti, restituiti come un array n-by-3 degli angoli di rotazione di Eulero. Ogni riga rappresenta un insieme di angoli di Eulero.

Esempio [0 0 1.5708]

Soluzione alternativa dell'angolo di rotazione di Eulero in radianti, restituita come un array n-by-3 degli angoli di rotazione di Eulero. Ogni riga rappresenta un insieme di angoli di Eulero.

Esempio [0 0 1.5708]

Funzionalità estese

espandi tutto

Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.

Cronologia versioni

Introdotto in R2015a

espandi tutto

Vedi anche

| |