주요 콘텐츠

quatmultiply

R2026b

두 쿼터니언의 곱 계산

설명

quatprod = quatmultiply(q,r)는 두 개의 쿼터니언 q와 r에 대한 쿼터니언 곱 quatprod를 계산합니다.

Aerospace Toolbox는 스칼라 우선 규약(scalar-first convention)을 사용하여 정의된 쿼터니언을 사용합니다.

참고

쿼터니언 곱셈은 가환적이지 않습니다.

예제

예제

모두 축소

이 예제는 두 쿼터니언을 곱하고 그 결과로 나온 오일러 각을 출력합니다.

q1 = quaternion([0, 0, 90], 'eulerd', 'ZYX', 'frame');
q2 = quaternion([0, 90, 0], 'eulerd', 'ZYX', 'frame');
qp = quatmultiply(q1, q2);
angles = eulerd(qp, 'ZYX', 'frame');
fprintf('Resulting Euler angles: [%.1f %.1f %.1f]\n', angles);
Resulting Euler angles: [90.0 0.0 90.0]

이 예제는 두 개의 1×4 쿼터니언의 곱을 구하는 방법을 보여줍니다.

q = [1 0 1 0];
r = [1 0.5 0.5 0.75];
mult = quatmultiply(q, r)
mult = 1×4

    0.5000    1.2500    1.5000    0.2500

이 예제는 1×4 쿼터니언의 자기 자신과의 곱을 구하는 방법을 보여줍니다.

q = [1 0 1 0];
mult = quatmultiply(q)
mult = 1×4

     0     0     2     0

이 예제는 1×4 쿼터니언 두 개를 곱한 결과를 구하는 방법을 보여줍니다.

q = [1 0 1 0];
r = [1 0.5 0.5 0.75; 2 1 0.1 0.1];
mult = quatmultiply(q, r)
mult = 2×4

    0.5000    1.2500    1.5000    0.2500
    1.9000    1.1000    2.1000   -0.9000

입력 인수

모두 축소

첫 번째 쿼터니언 또는 쿼터니언 집합으로, m×4 행렬 또는 1×4 쿼터니언으로 지정됩니다. 각 요소는 실수여야 합니다.

q의 스칼라 숫자는 반드시 첫 번째 열에 위치해야 합니다.

데이터형: double | single

두 번째 쿼터니언 또는 쿼터니언 집합으로, m×4 행렬 또는 1×4 쿼터니언으로 지정됩니다. 각 요소는 실수여야 합니다.

r의 스칼라 숫자는 반드시 첫 번째 열에 위치해야 합니다.

데이터형: double | single

출력 인수

모두 축소

쿼터니언 곱으로, m×4 행렬로 반환합니다.

세부 정보

모두 축소

참고 문헌

[1] Stevens, Brian L., Frank L. Lewis. Aircraft Control and Simulation, 2nd Edition. Hoboken, NJ: John Wiley & Sons, 2003.

확장 기능

모두 확장

버전 내역

R2006b에 개발됨