dtw.m

来自「patten regnization source从1-14章能运行」· M 代码 · 共 46 行

M
46
字号
function dist = dtw(t,r)
% 涝仿:
%   t -- 矫氰 菩畔
%   r  -- 曼炼 菩畔
%
% 免仿:
%   dist -- 概莫 胶内绢

n = size(t,1);
m = size(r,1);

% frame match distance matrix
d = zeros(n,m);

for i = 1:n
for j = 1:m
	d(i,j) = sum((t(i,:)-r(j,:)).^2);
end
end

% accumulate distance matrix
D =  ones(n,m) * realmax;
D(1,1) = d(1,1);

% dynamic programming
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]);
end
end

dist = D(n,m);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?