1

(Matlab R 2019b)

我在分类器中使用@dtw函数作为距离函数。fitcknn错误消息说两个输入数组的尺寸dtw不相同。

我更改了函数dtw以显示数组的尺寸,我发现第一个打印是正确的(x 和 y 都是一个维度)但第二个打印不是。之后出现错误消息。

这是代码:

function [Mdl,Y,pred,gav,gavClass] = test_fitcknn()
    %Tests fitcknn
    % 2020-05-02
    load Y.mat Y;
    load pred.mat pred ;
    Mdl=fitcknn(pred,Y,'Distance',@dtw);
    gav=mean(pred);
    gavClass=predict(Mdl,gav);
end

这是错误消息:

Error in test_fitcknn (line 8)
    gavClass=predict(Mdl,gav);

Caused by:
    Error using dtw (line 91)
    The number of rows between X and Y must be equal when X and Y are matrices

 pred is the input data 60X156 real
 Y is 60X1 cell output  character string  

我以这种方式保存了数据:

save y.mat y
save pred.mat pred

最好的问候阿拉维

4

0 回答 0