dcm2rod

Преобразуйте матрицу направляющего косинуса в вектор Эйлера-Родрига

Синтаксис

R = dcm2rod(dcm)
R = dcm2rod(dcm,action)
R = dcm2rod(dcm,action,tolerance)

Описание

пример

R = dcm2rod(dcm) функция вычисляет вектор Эйлера-Родрига (R) из матрицы направляющего косинуса. Эта функция применяется только к матрицам направляющих косинусов, которые являются ортогональными с детерминантом +1.

R = dcm2rod(dcm,action) выполняет action, если матрица направляющего косинуса недопустима (не ортогональный).

R = dcm2rod(dcm,action,tolerance) использует уровень tolerance, чтобы оценить, если матрица направляющего косинуса, n, допустима (ортогональный).

Примеры

свернуть все

Определите вектор Родрига из матрицы направляющего косинуса.

DCM = [0.433 0.75 0.5;-0.25 -0.433 0.866;0.866 -0.5 0.0];
r = dcm2rod(DCM)
r =

    1.3660    0.3660    1.0000

Определите вектор Родрига из матрицы направляющего косинуса, подтвержденной в допуске.

DCM = [0.433 0.75 0.5;-0.25 -0.433 0.866;0.866 -0.5 0.0];
r = dcm2rod(DCM,'Warning',0.1)
r =
    1.3660    0.3660    1.0000

Входные параметры

свернуть все

3 3 M, содержащим матрицы направляющих косинусов M.

Типы данных: double

Функциональное поведение, когда матрица направляющего косинуса недопустима (не ортогональный).

  • Предупреждение — Выводит предупреждение и указывает, что матрица направляющего косинуса недопустима.

  • Ошибка — ошибка Отображений и указывает, что матрица направляющего косинуса недопустима.

  • Ни один — не выводит предупреждение или ошибку (значение по умолчанию).

Типы данных: char | string

Допуск матричной валидности направляющего косинуса, заданной как скаляр. Функция считает матрицу направляющего косинуса допустимой, если эти условия верны:

  • Транспонирование матричных времен направляющего косинуса само равняется 1 в заданном допуске (transpose(n)*n == 1±tolerance)

  • Детерминант матрицы направляющего косинуса равняется 1 в заданном допуске (det(n) == 1±tolerance).

Типы данных: double

Выходные аргументы

свернуть все

M-by-3 матрица, содержащая M векторы Родрига.

Типы данных: double

Алгоритмы

Вектор Эйлера-Родрига b представляет вращение путем интеграции направляющего косинуса оси вращения с касательной половины угла поворота можно следующим образом:

b=[bxbybz]

где:

bx=загар(12θ)sx,by=загар(12θ)sy,bz=загар(12θ)sz

параметры Родрига. Вектор s представляет единичный вектор, вокруг которого выполняется вращение. Из-за касательной, вектор вращения неопределенен, когда угол поворота равняется ±pi радианам или ±180 градусов. Значения могут быть отрицательными или положительными.

Ссылки

[1] Дэй, J.S. "Изменения формулы Эйлера-Родрига, спряжение кватерниона и внутренние связи". Механизм и Теория Машины, 92, 144-152. Elsevier, 2015.

Смотрите также

| | | |

Введенный в R2017a