未定义的运算符'。^'对于类型'数据集'的输入参数 - MatLab

时间:2018-01-30 12:14:50

标签: matlab cosine-similarity

我有这个matlab函数来计算数据集的60个向量之间的余弦相似度。 60行对应于向量编号,2列对应于每个向量的x和y分量。

function [cosSim] = cosineSimilarity(data)

[n_row n_col] = size(data);

norm_r = sqrt(sum(abs(data).^2,2));

for i = 1:n_row
    for j = i:n_row
        cosSim(i,j) = dot(data(i,:), data(j,:)) / (norm_r(i) * norm_r(j));
        cosSim(j,i) = cosSim(i,j);
    end
end
end

主要剧本:

cd(matlabroot)
cd('help/toolbox/stats/examples')
ds = dataset('XLSFile','TestCosSim.xlsx');

c = cosineSimilarity(ds);

当我运行脚本时,出现以下错误:

Undefined operator '.^' for input arguments of type 'dataset'.

Error in cosineSimilarity (line 8)
norm_r = sqrt(sum(data.^2,2));

Error in CosSimTest (line 6)
c = cosineSimilarity(ds);

有人知道为什么会这样吗?

提前多多感谢。

0 个答案:

没有答案