Среднее вращение кватерниона
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.