首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pdist和pdist2的不同行为

pdist和pdist2的不同行为
EN

Stack Overflow用户
提问于 2016-02-09 12:06:52
回答 1查看 1.2K关注 0票数 1

在MATLAB代码中,我使用的是kullback_leibler_divergence不同的函数,可以找到这里

我有一个矩阵A,我使用下载的函数计算不同的矩阵。

理论上,如果我计算

代码语言:javascript
复制
clear
A = rand(132,6); % input matrix
diss_mat = pdist(A,'@kullback_leibler_divergence'); % calculate the dissimilarity
square_diss_mat = squareform(diss_mat); % I put the dissimilarities in a square matrix
one_dist = pdist2(A(1,:),A,@kullback_leibler_divergence);

我应该得到square_diss_mat的第一行等于one_dist,但我不是。

如果我使用欧几里德距离,我得到它:

代码语言:javascript
复制
diss_mat = pdist(A);
square_diss_mat = squareform(diss_mat);
one_dist = pdist2(A(1,:),A); 

你能告诉我为什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-09 12:23:48

kullback_leibler_divergence是不对称的,因此顺序很重要:

代码语言:javascript
复制
one_dist = pdist2(A, A(1,:), @kullback_leibler_divergence);

我没有看到任何实际的应用程序使用不对称函数与pdistpdist2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35291686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档