Среднее вращение кватерниона
quatAverage = meanrot(quat)
quatAverage = meanrot(quat,dim)
quatAverage = meanrot(___,nanflag)
возвращает среднее вращение элементов quatAverage
= meanrot(quat
)quat
вдоль первого измерения массива, размер которого не действительно равняется 1.
Если quat
является вектором, meanrot(quat)
возвращает среднее вращение элементов.
Если quat
является матрицей, meanrot(quat)
возвращает вектор - строку, содержащий среднее вращение каждого столбца.
Если quat
является многомерным массивом, то mearot(quat)
действует вдоль первого измерения массива, размер которого не равняется 1, обрабатывая элементы как векторы. Эта размерность становится 1, в то время как размеры всех других размерностей остаются то же самое.
Функция meanrot
нормирует входные кватернионы, quat
, прежде, чем вычислить среднее значение.
возвратите среднее вращение по измерению quatAverage
= meanrot(quat
,dim
)dim
. Например, если quat
является матрицей, то meanrot(quat,2)
является вектор-столбцом, содержащим среднее значение каждой строки.
задает, включать ли или не использовать значения quatAverage
= meanrot(___,nanflag
)NaN
от вычисления для какого-либо из предыдущих синтаксисов. meanrot(quat,'includenan')
включает все значения NaN
в вычисление, в то время как mean(quat,'omitnan')
игнорирует их.
meanrot
определяет среднее значение кватерниона, , согласно [1] (Sensor Fusion and Tracking Toolbox). кватернион, который минимизирует норму Фробениуса в квадрате различия между матрицами вращения:
[1] Markley, Ф. Лэндис, Янг Чен, Джон Лукас Крэссидис и Яаков Ошман. "Средние Кватернионы". Журнал Руководства, Управления и Динамики. Издание 30, Выпуск 4, 2007, стр 1193-1197.