Main Content

normalize

変換行列または回転行列を正規化する

R2022b 以降

    説明

    transformationN = normalize(transformation) は変換 transformation の回転を正規化し、transformation と等価であるが回転が正規化された変換 transformationN を返します。

    rotationN = normalize(rotation) は回転 rotation の回転を正規化し、rotation と等価であるが回転が正規化された回転 rotationN を返します。

    メモ

    変換オブジェクトと回転オブジェクトは、回転を自動的に正規化しません。変換または回転を正規化する必要がある場合は、毎回 normalize を使用する必要があります。次の場合にはこれを行う必要が生じることがあります。

    • 変換オブジェクトまたは回転オブジェクトの作成時に、正規化されていない入力変換または回転を指定した。

    • 変換または回転オブジェクトに対して mtimes, * などの多くの操作を実行した。これにより、データ型の精度が原因で変換または回転が非正規化される可能性があります。

    ___ = normalize(___,Method=normMethod) は、指定された変換または回転を正規化するために関数 normalize が使用する正規化方式 normMethod を指定します。

    入力引数

    すべて折りたたむ

    変換。スカラーの se2 オブジェクト、スカラーの se3 オブジェクト、あるいは変換オブジェクトの N 要素配列として指定します。N は変換の合計数です。

    transformation を配列として指定する場合、各要素が同じタイプでなければなりません。

    回転。スカラーの so2 オブジェクト、スカラーの so3 オブジェクト、あるいは回転オブジェクトの N 要素配列として指定します。N は回転の合計数です。

    rotation を配列として指定する場合、各要素が同じタイプでなければなりません。

    正規化方式。次のオプションのいずれかとして指定します。

    • "quat" — 回転部分行列を正規化された四元数に変換してから、正規化された四元数を変換オブジェクトまたは回転オブジェクトに変換し直します。詳細については、quaternion オブジェクトの normalize を参照してください。

    • "cross" — 回転部分行列の 3 番目の列を正規化してから、クロス積によって他の 2 つの列を決定します。

    • "svd" — 特異値分解を使用し、特異値を 1 に設定して、最も近い正規直交行列を求めます。これにより、直交プロクラステス問題が解かれます。

    データ型: char | string

    出力引数

    すべて折りたたむ

    正規化された変換。se2 または se3 オブジェクトとして返されます。

    正規化された回転。so2 または so3 オブジェクトとして返されます。

    拡張機能

    C/C++ コード生成
    MATLAB® Coder™ を使用して C および C++ コードを生成します。

    バージョン履歴

    R2022b で導入

    参考

    関数

    オブジェクト