• 本文是本人在根据matlab的代码转化为R语言时的一步,分为两种情况。

第一种情况是matlab的pdist(X,'Consine'){一个矩阵的各个点之间的夹角余弦};

第二种情况是matlab的1-pdist2(X,Y,'Consine'){两个矩阵,一个矩阵的点到另外一个矩阵任何一个点的夹角余弦}

理解夹角余弦公式:两个点的夹角余弦公式:

  1. 1一个矩阵点之间的夹角余弦:

matlab的代码为

D1 = pdist(X,'consine')

R语言相应的代码为:

 Consine=matrix(data=0,nrow =dim(X)[1],ncol = dim(X)[1])
这个参考了其他博主的文章做出来的
for (i in 1:dim(X)[1])for (j in 1:dim(X)[1])if (i < j)Consine[i,j] = sum(t(X[i,])*X[j,])/sqrt((sum(X[i,]^2))*sum(X[j,]^2))
#注意理解转置后的运算达到的目的,对着公式理解
  1. 2两个矩阵,第一个矩阵的每一个点到另外一个矩阵的每一个点之间的夹角余弦距离

matlab版的代码:

 Cosine   = 1 - pdist2(PopObj,Z,'cosine');
%%PopObj和Z是本人复现代码时的两个矩阵PopObj(130*3),Z(105*3)
%%得出的结果Consine(130*105)

R语言对应的代码:

#此代码段得出的结果和matlab代码得出得数据完全一样,只是本人在转换中的一步
Consine=matrix(data=0,nrow =dim(PopObj)[1],ncol = dim(Z)[1])
#Tips:如果不对Cosine进行设置会报错(incorrect number of subscripts on matrix)
#本人就是因为这个地方,两个矩阵之间的运算时一直报错
for (m in 1:dim(PopObj)[1]) {for (n in 1:dim(Z)[1]) {Consine[m,n]=sum(t(PopObj[m,])*Z[n,])/sqrt(sum(PopObj[m,]^2)*sum(Z[n,]^2))}
}
#PopObj和Z是本人复现代码时的两个矩阵PopObj(130*3),Z(105*3)
#得出的结果Consine(130*105)

R语言计算夹角余弦(Consine)相关推荐

  1. R语言:计算各种距离

    R语言:计算各种距离 MATLAB 版本的 http://blog.csdn.net/sinat_26917383/article/details/52101425 PYTHON版本的 http:// ...

  2. R语言--计算各种距离

    MATLAB 版本的 http://blog.csdn.net/sinat_26917383/article/details/52101425 PYTHON版本的 http://book.2cto.c ...

  3. R语言计算曼哈顿距离(Manhattan Distance)实战:计算两个向量的曼哈顿距离、dist函数计算矩阵中两两元素的曼哈顿距离

    R语言计算曼哈顿距离(Manhattan Distance)实战:计算两个向量的曼哈顿距离.dist函数计算矩阵中两两元素的曼哈顿距离 目录 R语言计算曼哈顿距离(Manhattan Distance ...

  4. R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度、对字符串向量计算Jaccard相似度、将Jaccard相似度转化为Jaccard距离

    R语言计算杰卡德相似系数(Jaccard Similarity)实战:自定义函数计算Jaccard相似度.对字符串向量计算Jaccard相似度.将Jaccard相似度转化为Jaccard距离 目录 R ...

  5. R语言计算平均值的标准误差(standard error of the mean):自定义函数计算平均值的标准误差、使用plotrix包的std.error函数计算平均值的标准误差

    R语言计算平均值的标准误差(standard error of the mean):自定义函数计算平均值的标准误差.使用plotrix包的std.error函数计算平均值的标准误差 目录

  6. R语言计算回归模型每个样本(观察、observation、sample)的DFFITS度量实战:忽略单个观察(样本)时,回归模型所做的预测会发生多大的变化

    R语言计算回归模型每个样本(观察.observation.sample)的DFFITS度量实战:忽略单个观察(样本)时,回归模型所做的预测会发生多大的变化 目录

  7. R语言计算回归模型每个样本(观察、observation、sample)的杠杆值(leverage)实战:如果一个样本的预测变量比其他样本的预测变量值更极端,那么被认为具有很高的杠杆作用

    R语言计算回归模型每个样本(观察.observation.sample)的杠杆值(leverage)实战:如果一个样本的预测变量比其他样本的预测变量值更极端,那么被认为具有很高的杠杆作用 目录

  8. R语言计算每个分组的行数并将结果添加到dataframe中实战

    R语言计算每个分组的行数并将结果添加到dataframe中实战 目录 R语言计算每个分组的行数并将结果添加到dataframe中实战 #仿真数据

  9. R语言计算F1评估指标实战:F1 score、使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标)

    R语言计算F1评估指标实战:F1 score.使用R中caret包中的confusionMatrix()函数为给定的logistic回归模型计算F1得分(和其他指标) 目录

最新文章

  1. 初识WAP开发时..
  2. “冷潮”之后,P2P或更加适合投资
  3. centos部署python flask_python 微服务框架之nameko实践
  4. aws 数据库迁移_AWS Loft的数据库周
  5. 树莓派4做服务器哪个系统好,【树莓派】树莓派4无痛安装系统(NOOBS篇)
  6. ogre 1.9SDK阅读笔记
  7. FCKEditor的用法与下载
  8. linux ubuntu 加密狗,ubuntu – 将usb加密狗连接到KVM VM
  9. 干掉 Jenkins?顶级 DevOps 工具链大盘点
  10. ViewPager2撸个3D画廊
  11. java助教_Java助教工作总结
  12. 一木.溪桥---Python之简介、环境搭建、PyCharm配置
  13. 简单谈谈XML DOM parser
  14. 我国城市区块链发展水平如何?这个指数告诉你|链塔智库
  15. 2022年油价的暴涨让你意识到了什么?
  16. 获取微信公众号的二维码图片
  17. 面试题—Mybatis动态sql是什么意思?常用的标签有哪些和用途?
  18. 【HDU5984】Pocky(数学)
  19. 移动物联网应用典型案例福建8项目入选,四信携手产业共赢
  20. 阿德莱德大学计算机考研专业,阿德莱德大学研究生学制是几年?

热门文章

  1. 独家解读:你所不知道的阿里1688
  2. day11-random模块-随机
  3. Android——一个简单的智能家居系统
  4. Js实现图片点击切换与轮播
  5. wintogo与多PE合盘
  6. html 点击收藏效果,收藏Javascript中常用的55个经典技巧
  7. 使用设计模式出任CEO迎娶白富美(1)--毕业即失业
  8. Outlook中将发送邮件自动CC给自己
  9. 3.12 编写程序从键盘输入一个整数,计算并输出该数的数字之和。例如:请输入 一个整数:8899123 各位数字之和为:40
  10. 靶机渗透练习13-hackme1