4

カルマンフィルターを使用するC++のアルゴリズムがあります。コードのどこかで、クォータニオンq'を予測してから、カルマンフィルターqでクォータニオンを更新します。

予測されたクォータニオンと修正された(更新された)クォータニオンの進化を伴う2つのグラフィックをMatlabにプロットしたいので、処理中にクォータニオン情報をMatlabに送信するために「engine.h」ライブラリを使用しています(実際に送信するのは4x1マトリックスです) 。

だから私の質問は:私が視覚的に情報を抽出できるようにMatlabでクォータニオンをプロットするための最良の方法は何ですか?角度を別々にプロットする方が良いでしょうか?

4

2 に答える 2

4

C++ MATLABエンジンを使用して、四元数をベクトルとしてMATLABに送信するのが良いオプションだと思います

[qx qy qz qw]

次に、MATLAB 環境で、ツールボックスを使用してオイラー角に変換できます。これは一般的な視覚オプションです。

ツールボックスのパスを matlab エンジンに追加する場合:

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

spincalc ツールボックスを使用すると、変換は次のようになります。

Angles=SpinCalc('QtoEA321',Quaternion,0,0);
于 2012-07-03T11:27:39.757 に答える
4

さて、質問が「4D 空間を適切に視覚化する方法」であると仮定すると、いくつかのオプションを考えることができます。

  • (x,y,z,t) -> (x,y)、(y,z) などの空間の複数のスライスを表示します。
  • (x,y) を散布図として表示し、z の情報を色で、t をドットのサイズでエンコードします。そのためには、scatterコマンドを使用できます。

SCATTER(X,Y,S,C) は、ベクトル X と Y (同じサイズでなければなりません) で指定された位置に色付きの円を表示します。

あなたの質問が「クォータニオンをうまく視覚化する方法」だった場合は、 これをチェックしてください

于 2012-01-11T13:08:28.487 に答える