我使用MATLABMATLAB使用pdist處理的時間序列聚類
我試圖使用DTW庫下面是我的距離測量方法對時間序列數據的聚類問題 http://www.mathworks.com/matlabcentral/fileexchange/16350-continuous-dynamic-time-warping
TimeData = csvread('testData10.csv',1,0)
Y = pdist(TimeData,@dtw_dist)
Z = linkage(Y,'complete')
dendrogram(Z)
我做一個功能,以適應「pdist」距離函數
function d2 = dtw_dist(XI,XJ)
[dist,D,k,w,rw,tw] = dtw2(XI,XJ,0)
d2 = dist
end
的格式,但我得到的錯誤信息
Error using pdist (line 373)
Error evaluating distance function 'dtw_dist'.
Caused by:
Error using -
Matrix dimensions must agree.
我會apericiate如果有人可以幫助我
謝謝!
--- 2015年1月5日更新---
更改我的功能可按到DTW調用,以適應格式 和它的作品
function d2 = dtw_dist(XI,XJ)
result =[];
[m1,n1] = size(XI);
[m2,n2] = size(XJ);
for j=1:m2
result = horzcat(result,dtw(XI,XJ(j,:)));
end
d2=result;
end
如果沒有您的數據或工具箱,很難說清楚,但是在調用「dtw2」時看起來有些問題。我建議您檢查您是否正確調用該功能,例如通過在該行上放置一個斷點並檢查「XI」和「XJ」的值以及它們是否與函數期望的輸入類型相匹配。 –