二维路径的动态时间扭曲DTW

12个视图(过去30天)
什多兰
什多兰 2020年2月18日
我想计算通过2D空间的两条路径之间的空间差异,但是扭曲它们以允许不同的时间动态。
我将这两条路径作为2×N矩阵接收,其中2行描述了在每列(1到N)处采集的2D空间样本的X和Y坐标,以相同的频率(fs)跨列(时间)采样。
我认为动态时间扭曲(dtw函数)是实现这一点的方法?
然而,在下面的示例中,两条路径(path1和path2)具有相同的采样率(fs)并在不同的时间长度(T1和T2)上运行。但是,鉴于它们具有相同的指数曲率,扭曲应该能够将它们重新采样到欧氏距离为0,但情况并非如此?
fs=.01;
T1=2.5;
T2=2;
X_path1=0:fs:T1;
Y_path1=(0:fs:T1)。^2;
路径1=[X_路径1;Y_路径1];
X_路径2=(0:fs:T2);
Y_path2=(0:fs:T2)。^2;
路径2=[X_路径2;Y_路径2];
子地块(211);
持有在…上;
p(1)=绘图(X_路径1,Y_路径1,“波”);
p(2)=绘图(X_路径2,Y_路径2,“yx”);
图例([p(1)p(2)],“路径1原点”,“路径2原点”,“位置”,“西北”);
[ DistaPasi1PAT2,席,Y] = DTW(PAT1,PATH2);
小批(212);
持有在…上;
p(1)=绘图(路径1(1,XI),路径1(2,XI),“波”);持有在…上;
p(2)=绘图(路径2(1,YI),路径2(2,YI),“yx”);
图例([p(1)p(2)],“路径1扭曲”,“路径2扭曲”,“位置”,“西北”);
头衔([“距离”,num2str(dist_path1路径2)];

答案(0)

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!