我有这个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);
有人知道为什么会这样吗?
提前多多感谢。