余弦相似度 matlab
时间: 2023-11-20 20:59:37 浏览: 160
matlab计算余弦相似度
余弦相似度是一种常用的相似度计算方法,可以用于比较两个向量之间的相似度。在Matlab中,可以使用cosine函数来计算余弦相似度。具体步骤如下:
1.将两个向量转化为行向量,并将其归一化。
```matlab
vec1 = vec1(:)'; % 将vec1转化为行向量
vec2 = vec2(:)'; % 将vec2转化为行向量
vec1 = vec1 / norm(vec1); % 归一化vec1
vec2 = vec2 / norm(vec2); % 归一化vec2
```
2.计算两个向量的点积。
```matlab
dot_product = dot(vec1, vec2);
```
3.计算两个向量的模长乘积。
```matlab
norm_product = norm(vec1) * norm(vec2);
```
4.计算余弦相似度。
```matlab
cosine_similarity = dot_product / norm_product;
```
下面是一个完整的示例代码:
```matlab
vec1 = [1, 2, 3];
vec2 = [2, 4, 6];
vec1 = vec1(:)';
vec2 = vec2(:)';
vec1 = vec1 / norm(vec1);
vec2 = vec2 / norm(vec2);
dot_product = dot(vec1, vec2);
norm_product = norm(vec1) * norm(vec2);
cosine_similarity = dot_product / norm_product;
disp(cosine_similarity);
```
输出结果为:
```
1
```
这是因为向量vec1和向量vec2的方向相同,余弦相似度为1。
阅读全文