Domanda

Ho un algoritmo in C ++ che utilizza Kalman Filter. In qualche parte del codice di prevedere un quaternione q ' e poi aggiorno il Quaternion con Kalman Filter q .

Voglio tracciare due grafici in Matlab con l'evoluzione del quaternione predetto e il corretto quaternione (aggiornato) quindi sto usando "engine.h" libreria per inviare informazioni quaternione a Matlab durante la lavorazione (in realtà quello che mando è un matrice 4x1).

Quindi la mia domanda è: : Qual è il modo migliore per tracciare un quaternione in Matlab in modo da poter estrarre informazioni visivamente? E 'forse meglio per tracciare gli angoli separatamente?

È stato utile?

Soluzione

Credo che una buona opzione è l'invio del quaternione come vettore per MATLAB, utilizzando il motore di C ++ MATLAB

[QX qy QZ qw]

Poi, in ambiente MATLAB è possibile utilizzare un strumenti per la traduzione di angoli di Eulero, che è un'opzione visiva comune.

Per aggiungere un percorso di una cassetta degli attrezzi a motore di MATLAB:

addpath(genpath('C:\Program Files (x86)\MATLAB\R2010a\toolbox\SpinCalc'));

Con la cassetta degli attrezzi SPINCALC, la conversione sarebbe qualcosa di simile:

Angles=SpinCalc('QtoEA321',Quaternion,0,0);

Altri suggerimenti

Bene, supponendo che la domanda è "Come visualizzare in modo piacevole uno spazio 4D", Mi vengono in mente un paio di opzioni:

  • Mostra più sezioni dello spazio, che è per (x, y, z, t) -> (x, y), (y, z), ecc ..
  • Show (x, y) come scatter plot e codificare le informazioni di z di colore, t in termini di dimensioni dei punti. Per questo è possibile utilizzare il dispersione di comando:

SCATTER (X, Y, S, C) visualizza cerchi colorati nelle posizioni specificate dai vettori X e Y (che deve essere della stessa dimensione).

Se la tua domanda è "Come visualizzare in modo piacevole quarternions, check this out

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top