我有一個使用卡爾曼濾波器的C++算法。代碼中的某處預測四元數,然後使用卡爾曼濾波器更新四元數q。在Matlab中使用「engine.h」在C++中繪製四元數
我想繪製Matlab中的兩個圖形與預測四元數和校正(更新)四元數的演化,所以我使用「engine.h」庫在處理過程中發送四元數信息給Matlab(實際上我發送的是一個4x1矩陣)。
所以我的問題是:在Matlab中繪製四元數的最佳方式是什麼,這樣我可以直觀地提取信息?單獨繪製角度可能更好嗎?
我有一個使用卡爾曼濾波器的C++算法。代碼中的某處預測四元數,然後使用卡爾曼濾波器更新四元數q。在Matlab中使用「engine.h」在C++中繪製四元數
我想繪製Matlab中的兩個圖形與預測四元數和校正(更新)四元數的演化,所以我使用「engine.h」庫在處理過程中發送四元數信息給Matlab(實際上我發送的是一個4x1矩陣)。
所以我的問題是:在Matlab中繪製四元數的最佳方式是什麼,這樣我可以直觀地提取信息?單獨繪製角度可能更好嗎?
我認爲一個好的選項發送四元作爲載體,以MATLAB,用C++ MATLAB引擎
[QX QY QZ QW]
然後,在MATLAB環境中,你可以使用一個toolbox翻譯成歐拉角,這是一個常見的視覺選項。
對於MATLAB引擎加入工具箱的路徑:
addpath(genpath('C:\Program Files (x86)\MATLAB\R2010a\toolbox\SpinCalc'));
隨着spincalc工具箱,將是這樣的:
Angles=SpinCalc('QtoEA321',Quaternion,0,0);
好吧,假設的問題是「如何在一個不錯的方式形象化四維空間」, 我能想到的幾個選項:空間的
散射(X,Y,S,C)顯示在所述位置的彩色圓圈由矢量X和Y(指定 ,其必須是相同的尺寸)。
如果你的問題是「如何在一個不錯的方式quarternions可視化, check this out
你的問題標題不符合您的實際問題。 – 2012-01-11 08:55:26
謝謝,我剛剛糾正它。 – 2012-01-11 08:57:54
如果我沒有弄錯,你的問題與「engine.h」或C++無關,對吧? – 2012-01-11 13:09:14