距离
两个状态之间的距离
描述
例子
计算SE3中两个状态之间的距离
创建一个SE(3)状态空间。
space = stateSpaceSE3
Name: 'SE3' StateBounds: [7x2 double] numstatvariables: 7 WeightXYZ: 1 WeightQuaternion: 0.1000
计算两个状态之间的距离。
Dist = distance(space,[2 10 3 0.2 0 0 0.8],[0 -2.5 4 0.7 0.3 0 0 0])
Dist = 12.7269
计算两个状态之间的欧氏距离。
空间。WeightQuaternion = 0;distEuc =距离(空间,[2 10 3 0.2 0 0 0.8;4 5 2 1 2 4 2],[62 5 33 0.2 0 0 0.8;9 9 3 3 1 3.1 7])
distEuc =2×167.2681 - 6.4807
输入参数
空间
- - - - - -状态空间对象
stateSpaceSE2
对象|stateSpaceSE3
对象|stateSpaceDubins
对象|stateSpaceReedsShepp
对象
状态空间对象,指定为stateSpaceSE2
,stateSpaceSE3
,stateSpaceDubins
,或stateSpaceReedsShepp
对象。
states1
- - - - - -距离计算的初始状态
n-by-3矩阵的实值|n-乘7矩阵的实值
用于距离计算的初始状态,指定为n3或n-乘7矩阵的实值。n是指定状态的数目。
对于二维状态空间对象stateSpaceSE2
,stateSpaceDubins
,stateSpaceReedsShepp
,每一行都是形式[x y theta]
,它定义了xy-位置和方向角度θ
状态空间中的状态。
对于三维状态空间对象stateSpaceSE3
,每一行都是形式[x y z qw qx qy qz]
,它定义了xyz-位置和四元数方向[qw qx qy qz]
状态空间中的状态。
该函数支持以下组合进行距离计算:
n- - - - - - - - -n- - - - - -n的州数
states1
和n的州数states2
。例如,
距离(空间,兰德(10、7),兰特(10、7))
1 - - - - - - -n- 1状态在
states1
和n的州数states2
。例如,
距离(空间,兰德(7),兰特(10、7))
n比1 -n的州数
states1
一个状态在states2
。例如,
距离(空间,兰德(10、7),兰德(7))
数据类型:单
|双
states2
- - - - - -距离计算的最终状态
n-by-3矩阵的实值|n-乘7矩阵的实值
距离计算的最终状态,指定为n3或n-乘7矩阵的实值。n是指定状态的数目。
对于二维状态空间对象stateSpaceSE2
,stateSpaceDubins
,stateSpaceReedsShepp
,每一行都是形式[x y theta]
,它定义了xy-位置和方向角度θ
状态空间中的状态。
对于三维状态空间对象stateSpaceSE3
,每一行都是形式[x y z qw qx qy qz]
,它定义了xyz-位置和四元数方向[qw qx qy qz]
状态空间中的状态。
该函数支持以下组合进行距离计算:
n- - - - - - - - -n- - - - - -n的州数
states1
和n的州数states2
。例如,
距离(空间,兰德(10、7),兰特(10、7))
1 - - - - - - -n- 1状态在
states1
和n的州数states2
。例如,
距离(空间,兰德(7),兰特(10、7))
n比1 -n的州数
states1
一个状态在states2
。例如,
距离(空间,兰德(10、7),兰德(7))
数据类型:单
|双
输出参数
版本历史
R2019b引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。