l-曲线矩阵代码离散弗雷谢距离
根据[2]中的算法,计算n维空间中有序离散点指定的两条曲线之间的离散Fréchet距离[1]。
该实现基于Zachary
Danziger
[3]的MATLAB函数。
但是,它不提供耦合序列的计算。
根据点数和尺寸数的不同,此MEX功能的速度是[3]的10到50倍。
目前,只有欧几里德(
l^2
),出租车(
l^1
)和最大(
l^\infty
)规范可作为距离函数(指定2
,
1或-1分别作为第三个参数)。
如果要使用自定义距离功能,请直接在C代码中实现。
安装
在MATLAB中打开repo目录并输入
mex
DiscreteFrechetDistance.c
如果要将目录添加到路径,请键入
addpath(cd)
savepath
使用范例
调用语法:
d
=
DiscreteFrechetDistance(c1,
c2,
normID)
,其中c1和c2是具有曲线点的矩阵,可选参数normID指定所需的范数(距离函数)。
:warning:
与[3]相反,此函数要求输入矩阵在列中包含点坐标,即矩阵形状应为
x
<nu
2021-08-23 10:19:56
5KB
系统开源
1