メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

dcm2quat

方向余弦行列を四元数に変換する

説明

q = dcm2quat(dcm) は、指定された方向余弦行列dcm に対して四元数q を計算します。

方向余弦行列が無効、つまり直交していない場合は、q = dcm2quat(dcm,action) はアクションaction を実行します。方向余弦行列の入力と結果の四元数は、フレーム A からフレーム B への右手パッシブ変換を表します。

q = dcm2quat(dcm,action,tolerance) は許容レベル tolerance を使用して、方向余弦行列dcm が許容範囲内にあるかどうかを評価します。

すべて折りたたむ

方向余弦行列から四元数を決定します。

dcm = [0 1 0; 1 0 0; 0 0 -1];
q = dcm2quat(dcm)
q = 1×4

         0    0.7071    0.7071         0

この例では、複数の方向余弦行列から四元数を決定する方法を示します。

dcm        = [ 0 1 0; 1 0 0; 0 0 -1]; 
dcm(:,:,2) = [ 0.4330    0.2500   -0.8660; ...
               0.1768    0.9186    0.3536; ...
               0.8839   -0.3062    0.3536];
q = dcm2quat(dcm)
q = 2×4

         0    0.7071    0.7071         0
    0.8224    0.2006    0.5320    0.0223

許容範囲内で方向余弦行列dcm から四元数を決定します。

dcm = [0 1 0; 1 0 0; 0 0 -1];
q = dcm2quat(dcm, 'Warning', 0.01)
q = 1×4

         0    0.7071    0.7071         0

入力引数

すべて折りたたむ

方向余弦行列。3 x 3 x M 行列として指定されます。

データ型: double

方向余弦行列が無効、つまり直交していない場合の関数の動作。

  • 'Warning' — 警告を表示し、方向余弦行列が無効であることを示します。

  • 'Error' — エラーを表示し、方向余弦行列が無効であることを示します。

  • 'None' — 警告やエラーを表示しません。

データ型: char | string

方向余弦行列の有効性の許容値。スカラーとして指定します。次の条件が満たされる場合、関数は方向余弦行列を有効とみなします。

  • 方向余弦行列の転置をそれ自体で掛けると、指定された許容値 (transpose(dcm)*dcm == 1±tolerance) 内で 1 になります。

  • 方向余弦行列の行列式は、指定された許容値 (det(dcm) == 1±tolerance) 内で 1 に等しくなります。

データ型: double

出力引数

すべて折りたたむ

四元数、m 行 4 列の行列で返されます。q の最初の列にはスカラー数が入ります。

バージョン履歴

R2006b で導入