dtwdistance.m
资源名称:语音识别.rar [点击查看]
上传用户:doudz874
上传日期:2007-03-30
资源大小:792k
文件大小:1k
源码类别:
语音合成与识别
开发平台:
Matlab
- function dtw=dtwdistance(model_test,modelx);
- [N,N2]=size(model_test);
- [M,M2]=size(modelx);
- D=NaN*ones(N,M);
- d=NaN*ones(N,M);
- D(1,1)=norm(model_test(1,:)-modelx(1,:))^2;
- D(2,2)=norm(model_test(2,:)-modelx(2,:))^2;
- d(2,2)=D(1,1)+D(2,2);
- D(3,2)=norm(model_test(3,:)-modelx(2,:))^2;
- d(3,2)=d(2,2)+D(3,2);
- for i=2:N-1
- for j=3:M-1
- if ((j-1)/(i-1) <= 2) & ((j-1)/(i-1) >= 0.5) & ((M-j)/(N-i) <= 2) & ((M-j)/(N-i) >= 0.5)
- D(i,j)=norm(model_test(i,:)-modelx(j,:))^2;
- d(i,j)=min([d(i-1,j),d(i-1,j-1),d(i-1,j-2)])+D(i,j);
- end
- end
- end
- D(N,M)=norm(model_test(N,:)-modelx(M,:))^2;
- d(N,M)=min([d(N-1,M),d(N-1,M-1),d(N-1,M-2)])+D(N,M);
- dtw=d(N,M);