t=xlsread('D:\program files\matlab\重心欧式距离识别2.xls','dtw','C2:C35');
r=xlsread('D:\program files\matlab\重心欧式距离识别2.xls','dtw','H2:H35');
%计算序列帧数
n = size(t,1);
m = size(r,1);
% 帧匹配距离矩阵
d = zeros(n,m);
for i = 1:n
for j = 1:m
d(i,j) = sum((t(i,:)-r(j,:)).^2);
end
end
% 累积距离矩阵
D = ones(n,m) *realmax;
D(1,1) = d(1,1);
% 动态规划
for i = 2:n
for j = 1:m
D1 = D(i-1,j);
if j>1
D2 = D(i-1,j-1);
else
D2 =realmax;
end
if j>2
D3 = D(i-1,j-2);
else
D3 =realmax;
end
D(i,j) = d(i,j) + min([D1,D2,D3]);
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载