1. 程式人生 > >matlab的pdist函數詳解

matlab的pdist函數詳解

var object 技術分享 馬氏距離 歐幾裏得 ref 一個 計算 rman

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函數詳解