【问题标题】:Calculate Euclidean distance for every row with every other row in a NxM matrix?计算NxM矩阵中每一行与每一行的欧几里得距离?
【发布时间】:2017-09-23 05:21:04
【问题描述】:

我有一个从 CSV 文件生成的矩阵,如下所示:

X = xlsread('filename.csv');

我正在根据记录数循环遍历矩阵,我需要找到该矩阵每一行的欧几里得距离:

for i = 1:length(X)
 j = X(:, [2:5])
end

生成的矩阵为 150 X 4。计算每行(以 4 列作为数据点)与每一行的欧几里得距离并获得相同平均值的最佳方法是什么?

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    为了找到任何一对行之间的欧几里得距离,您可以使用函数pdist

    X = randn(6, 4);
    D = pdist(X,'euclidean');
    res=mean(D);
    

    平均值存储在res

    【讨论】:

    • 谢谢!有没有办法直接得到我们在 D 中获得的任何东西的平均值?
    • 注意:这需要统计工具箱。
    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 2016-08-02
    • 1970-01-01
    • 2018-06-10
    • 2014-11-18
    • 2015-01-13
    • 2014-05-08
    • 2012-06-27
    相关资源
    最近更新 更多