Pairwise distance between pairs of object(Pdist函数用于各种距离的生成)

语法:

D=pdist(x)

D=pdist(x,distance)

解释:

D=pdist(x) 计算m*n的数据矩阵中对象之间的欧几里得距离。矩阵中每一行作为observation,每一列作为variables(即计算矩阵中每一行之间的距离),D得到的是一个长度为m(m-1)/2的距离向量,距离是按顺序排列的(2,1),(3,1)…….(m,1),(3,2)……..(m,2)………(m,m-1);如下图:

为了节省空间D被格式化为一个向量,但是你可以使用squreform函数吧这个向量转换成一个方阵,这样矩阵中的(i,j)i<j,对应于原始数据集中的i和j之间的距离。如下图

D=pdist(x,distance)计算数据矩阵中对象之间的距离,使用distance指定的方法,distance可以取

上图从上至下分别为:欧几里得距离(默认),欧式距离平方,标准欧几里得距离,曼哈顿距离,闵可夫斯基距离,切比雪夫距离,马氏距离,夹角余弦距离,相关距离(两个向量的线性相关程度),spearman,汉明距离,杰卡德距离,

●部分图片来自matlab官方文档

matlab的pdist函数详解的更多相关文章

  1. matlab中imwrite函数详解(imwrite的输出格式)

    参考资料: https://www.mathworks.com/help/matlab/ref/imwrite.html?s_tid=srchtitle 你可能觉得imread函数很简单,但是还是有一 ...

  2. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  3. NSSearchPathForDirectoriesInDomains函数详解

    NSSearchPathForDirectoriesInDomains函数详解     #import "NSString+FilePath.h" @implementation ...

  4. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  5. Linux C popen()函数详解

    表头文件 #include<stdio.h> 定义函数 FILE * popen( const char * command,const char * type); 函数说明 popen( ...

  6. kzalloc 函数详解(转载)

    用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0. view plain /** * kzal ...

  7. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  8. jQuery.attr() 函数详解

    一,jQuery.attr()  函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...

  9. memset函数详解

    语言中memset函数详解(2011-11-16 21:11:02)转载▼标签: 杂谈 分类: 工具相关  功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大 ...

随机推荐

  1. C# 堆和栈的区别?

    解释1.栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义:堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小 解释2. 存放在栈中时要管存储顺 ...

  2. 介绍个好点的,JAVA技术群

    java技术交流,意义是以QQ群为媒介,添加一些有多年工作经验和技术的人群,为有问题的人群解答在工作中遇到的各种问题为思想,java技术交流群号161571685,创建时间为2010年,走过将近5年的 ...

  3. Eclipse导入MyEclipse项目遇到问题解答

    导入一个其他IDE中的项目,第一一定要想到:不同IDE中的配置文件问题: 比如:tomcat启动寻找项目的根目录问题,Eclipse的webContext,Myeclipse的是Webroot文件夹, ...

  4. 501. Find Mode in Binary Search Tree查找BST中的众数

    [抄题]: Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently oc ...

  5. dataframe 用法总结

    http://pda.readthedocs.io/en/latest/chp5.html data = [] 列表初始化 data = (,) data = {} 字典初始化 data = pd.D ...

  6. 类操作,removeClass&addClass

    // 添加类 function addClass(node,className){                 var reg=new RegExp("\\b"+classNa ...

  7. ROW_NUMBER分页

    var query = string.Format("SELECT {0} FROM (SELECT ROW_NUMBER() OVER (ORDER BY {3}) AS RowNum, ...

  8. ASP.NET 5 Middleware, Or Where Has My HttpModule Gone?

    31 March 2015 13:22 ASP.NET 5 has been largely rewritten from the ground up, and incorporates some r ...

  9. 《Wonderland: A Novel Abstraction-Based Out-Of-Core Graph Processing System》章明星

    在2018年3月28日于美国弗吉尼亚州威廉斯堡结束的ACM ASPLOS 2018会议上,计算机系高性能所师生发表了两篇长文.一篇是我系博士生章明星为第一作者,导师武永卫为通讯作者的“Wonderla ...

  10. 编写高质量代码改善C#程序的157个建议——建议22:确保集合的线程安全

    建议22:确保集合的线程安全 集合线程安全是指多个线程上添加或删除元素时,线程键必须保持同步. 下面代码模拟了一个线程在迭代过程中,另一个线程对元素进行了删除. class Program { sta ...