主要内容

randrot

均匀分布的随机旋转

描述

R= randrot返回从随机旋转的均匀分布中抽取的单位四元数。

例子

R= randrot (返回一个——- - - - - -由随机旋转的均匀分布绘制的单位四元数矩阵。

例子

R= randrot (m1、…、锰返回一个m1——-…——-随机单位四元数数组,其中m1、……指出每个维度的大小。例如,randrot(3、4)返回随机单位四元数的3 × 4矩阵。

R= randrot ((m1、…、锰)返回一个m1——-…——-随机单位四元数数组,其中m1、……指出每个维度的大小。例如,randrot ([3, 4])返回随机单位四元数的3 × 4矩阵。

例子

全部折叠

生成一个均匀分布随机旋转的3 × 3矩阵。

R = randrot(3)
r =3x3四元数数组0.17446 + 0.59506i - 0.73295j + 0.27976k 0.69704 - 0.068679 i + 0.52322j - 0.19695k 0.35191 + 0.74478i + 0.523522 j - 0.21842k 0.21908 - 0.89875i - 0.89495 j + 0.56786k 0.17527 - 0.5991i + 0.52986j - 0.68414k 0.6375 + 0.49338i - 0.24049j + 0.54068k 0.2979 - 0.53568i + 0.31819j + 0.72323k -0.30189 - 0.22864i - 0.83159j + 0.40626k

创建一个500个随机四元数的向量。使用rotatepoint可视化应用于点(1,0,0)的随机旋转的分布。

Q = randrot(500,1);Pt = rotatepoint(q, [1 0 0]);图scatter3(pt(:,1), pt(:,2), pt(:,3))轴平等的

图中包含一个轴对象。坐标轴对象包含一个散点类型的对象。

输入参数

全部折叠

方形四元数矩阵的大小,指定为整数值。如果0或者是负的R作为空矩阵返回。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

每个维度的大小,指定为两个或多个整数值。如果任何维度的大小为0或者是负的R作为空数组返回。

例子:randrot(2、3)返回随机四元数的2 × 3矩阵。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

每个维的大小向量,指定为两个或多个整数值的行向量。如果任何维度的大小为0或者是负的R作为空数组返回。

例子:randrot([2、3])返回随机四元数的2 × 3矩阵。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

随机四元数,作为四元数或四元数数组返回。

数据类型:四元数

参考文献

[1]鞋帽K。"均匀随机旋转"图形宝石III(大卫主编)。纽约:学术出版社,1992年。

扩展功能

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

版本历史

在R2019a中引入

另请参阅