主要内容

mtimes,*

四元数乘法

句法

描述

例子

Quatc.=一种*B.实现四元数乘法一种B.是一个四元音。任何一个一种B.必须是标量。

您可以使用四元数乘法来撰写旋转运算符:

  • 为了构成一系列帧旋转,乘以季倍的旋转序列的顺序。例如,申请aP.四元轴随后是一个问:四元轴,乘以订单PQ..旋转算子变成 P. 问: * V. P. 问: , 在哪里V.表示以四元端表单旋转的对象。*代表缀合。

  • 为了撰写一系列点旋转,以期望旋转序列的相反顺序乘以季倍。例如,申请aP.四元轴随后是一个问:四元数,以相反的顺序乘以,QP..旋转算子变成 问: P. V. 问: P. *

例子

全部收缩

创建一个4×1列向量,一种和标量,B..乘一种B.

A =四元数(Randn(4,4))
A =4×1四元轴数组0.53767 + 0.31877I + 3.5784J + 0.7254K 1.8339  -  1.3077I + 2.7694J  -  0.063055K -2.2588  -  0.43359I  -  1.3499J + 0.71474K 0.86217 + 0.34262I + 3.0349J  -  0.20497K-0.20497K
B =四元数(Randn(1,4))
b =四元素-0.12414 + 1.4897i + 1.409J + 1.4172K
c = a * b
C =4×1四元轴数组-6.6117 + 4.8105i + 0.94224J  -  4.2097K -2.0925 + 6.9079i + 3.9995J  -  3.3614K 1.8155  -  6.2313i  -  1.336J  -  1.89K -4.6033 + 5.8317I + 0.047161J  -  2.791K

输入参数

全部收缩

输入要乘以,指定为四元数,四分之一数组,实际标量或实际标量数组。

如果B.那么是非卡尔尔,那么一种必须是标量。

数据类型:四元素|单身的|双倍的

输入要乘以,指定为四元数,四分之一数组,实际标量或实际标量数组。

如果一种那么是非卡尔尔,那么B.必须是标量。

数据类型:四元素|单身的|双倍的

输出参数

全部收缩

四元型产品,作为四元数或四元数返回。

数据类型:四元素

算法

全部收缩

四元数由真正的标量乘法

给予四元数

问: = 一种 问: + B. 问: 一世 + C 问: j + D. 问: k,

产品的产品问:和一个真正的标量β

β 问: = β 一种 问: + β B. 问: 一世 + β C 问: j + β D. 问: K.

四元数标量乘法

四季度基本要素的定义,

一世 2 = j 2 = K. 2 = IJK. = - 1

可以扩展为填充汇总QuationSnion基元乘法的表:

1 一世 j K.
1 1 一世 j K.
一世 一世 -1 K. -J.
j j k -1 一世
K. K. j - -1

读取表时,首先读取行,例如:ij = k和ji = -k。

给定两个四元数, 问: = 一种 问: + B. 问: 一世 + C 问: j + D. 问: k, P. = 一种 P. + B. P. 一世 + C P. j + D. P. K. ,乘法可以扩展为:

Z. = P. 问: = 一种 P. + B. P. 一世 + C P. j + D. P. K. 一种 问: + B. 问: 一世 + C 问: j + D. 问: K. = 一种 P. 一种 问: + 一种 P. B. 问: 一世 + 一种 P. C 问: j + 一种 P. D. 问: K. + B. P. 一种 问: 一世 + B. P. B. 问: 一世 2 + B. P. C 问: IJ. + B. P. D. 问: 我知道 + C P. 一种 问: j + C P. B. 问: + C P. C 问: j 2 + C P. D. 问: jk. + D. P. 一种 问: K. + D. P. B. 问: ki. + D. P. C 问: KJ. + D. P. D. 问: K. 2

您可以使用四元数乘法表简化等式:

Z. = P. 问: = 一种 P. 一种 问: + 一种 P. B. 问: 一世 + 一种 P. C 问: j + 一种 P. D. 问: K. + B. P. 一种 问: 一世 - B. P. B. 问: + B. P. C 问: K. - B. P. D. 问: j + C P. 一种 问: j - C P. B. 问: K. - C P. C 问: + C P. D. 问: 一世 + D. P. 一种 问: K. + D. P. B. 问: j - D. P. C 问: 一世 - D. P. D. 问:

参考文献

[1] Kuipers,杰克B.四元数和旋转序列:具有轨道,航空航天和虚拟现实的应用的底漆.普林斯顿,新泽:普林斯顿大学出版社,2007年。

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

也可以看看

功能

对象

在R2018B中介绍