Создайте углы поворота из матрицы направляющего косинуса
[r1 r2 r3] = dcm2angle(n)
[r1 r2 r3] = dcm2angle(n,s)
[r1 r2 r3] = dcm2angle(n,s,lim)
[r1 r2 r3] = dcm2angle(n,s,lim,action)
[r1 r2 r3] = dcm2angle(n,s,lim,action,tolerance)
[r1 r2 r3] = dcm2angle(n)
вычисляет набор углов поворота, r1
, r2
, r3
, для данной матрицы направляющего косинуса, n
. n
является 3 3 m
матрицей, содержащей матрицы направляющих косинусов m
. r1
возвращает массив m
первых углов поворота. r2
возвращает массив m
вторых углов поворота. r3
возвращает массив m
третьих углов поворота. Углы поворота выводятся в радианах. Эта функция применяется только к матрицам направляющих косинусов, которые являются ортогональными с детерминантом +1.
[r1 r2 r3] = dcm2angle(n,s)
вычисляет набор углов поворота, r1
, r2
, r3
, для данной матрицы направляющего косинуса, n
, и заданной последовательности вращения, s
.
Последовательностью вращения по умолчанию является 'ZYX'
, где r1
является z
- вращение оси, r2
является y
- вращение оси, и r3
является x
- вращение оси.
Поддерживаемыми последовательностями вращения является 'ZYX'
, 'ZYZ'
, 'ZXY'
, 'ZXZ'
, 'YXZ'
, 'YXY'
, 'YZX'
, 'YZY'
, 'XYZ'
, 'XYX'
, 'XZY'
и 'XZX'
.
[r1 r2 r3] = dcm2angle(n,s,lim)
вычисляет набор углов поворота, r1
, r2
, r3
, для данной матрицы направляющего косинуса, n
, заданной последовательности вращения, s
, и заданного углового ограничения, lim
. lim
задает или 'Default'
или 'ZeroR3'
. Смотрите Предположения и Ограничения для полных определений угловых ограничений.
[r1 r2 r3] = dcm2angle(n,s,lim,action)
выполняет action
, если матрица направляющего косинуса недопустима (не ортогональный).
Предупреждение — Выводит предупреждение и указывает, что матрица направляющего косинуса недопустима.
Ошибка — ошибка Отображений и указывает, что матрица направляющего косинуса недопустима.
Ни один — не выводит предупреждение или ошибку (значение по умолчанию).
[r1 r2 r3] = dcm2angle(n,s,lim,action,tolerance)
использует уровень tolerance
, чтобы оценить, если матрица направляющего косинуса, n
, допустима (ортогональный). tolerance
является скаляром, значением по умолчанию которого является eps(2)
(4.4409e-16
). Функция считает матрицу направляющего косинуса допустимой, если эти условия верны:
Транспонирование матричных времен направляющего косинуса само равняется 1
в заданном допуске tolerance
(transpose(n)*n == 1±tolerance
)
Детерминант матрицы направляющего косинуса равняется 1
в заданном допуске (det(n) == 1±tolerance
).
Определите углы поворота из матрицы направляющего косинуса:
dcm = [1 0 0; 0 1 0; 0 0 1]; [yaw, pitch, roll] = dcm2angle(dcm) yaw = 0 pitch = 0 roll = 0
Определите углы поворота от нескольких матриц направляющих косинусов:
dcm = [ 1 0 0; 0 1 0; 0 0 1]; dcm(:,:,2) = [ 0.85253103550038 0.47703040785184 -0.21361840626067; ... -0.43212157513194 0.87319830445628 0.22537893734811; ... 0.29404383655186 -0.09983341664683 0.95056378592206]; [pitch, roll, yaw] = dcm2angle(dcm,'YXZ') pitch = 0 0.3000 roll = 0 0.1000 yaw = 0 0.5000
Определите углы поворота из матриц направления, подтвержденных в допуске:
dcm = [ 1 0 0; 0 1 0; 0 0 1]; dcm(:,:,2) = [ 0.85253103550038 0.47703040785184 -0.21361840626067; ... -0.43212157513194 0.87319830445628 0.22537893734811; ... 0.29404383655186 -0.09983341664683 0.95056378592206]; [pitch, roll, yaw] = dcm2angle(dcm,'YXZ','Default','None',0.1) pitch = 0 0.3000 roll = 0 0.1000 yaw = 0 0.5000
Ограничения 'Default'
для 'ZYX'
, 'ZXY'
, 'YXZ'
, 'YZX'
, 'XYZ'
и реализаций 'XZY'
генерируют угол r2
, который находится между ±90 градусами, и r1
и углами r3
, которые находятся между ±180 градусами.
Ограничения 'Default'
для 'ZYZ'
, 'ZXZ'
, 'YXY'
, 'YZY'
, 'XYX'
и реализаций 'XZX'
генерируют угол r2
, который находится 0–180 градусов, и r1
и углы r3
, которые находятся между ±180 градусами.
Ограничения 'ZeroR3'
для 'ZYX'
, 'ZXY'
, 'YXZ'
, 'YZX'
, 'XYZ'
и реализаций 'XZY'
генерируют угол r2
, который находится между ±90 градусами, и r1
и углами r3
, которые находятся между ±180 градусами. Однако, когда r2
является ±90 градусами, r3
установлен в 0 градусов.
Ограничения 'ZeroR3'
для 'ZYZ'
, 'ZXZ'
, 'YXY'
, 'YZY'
, 'XYX'
и реализаций 'XZX'
генерируют угол r2
, который находится 0–180 градусов, и r1
и углы r3
, которые находятся между ±180 градусами. Однако, когда r2
является 0 или ±180 градусами, r3
установлен в 0 градусов.
angle2dcm
| dcm2quat
| quat2angle
| quat2dcm