楼主: 一诺9257
7074 3

[问答] 计算矩阵的距离 [推广有奖]

  • 10关注
  • 7粉丝

教授

66%

还不是VIP/贵宾

-

威望
0
论坛币
23 个
通用积分
3.8021
学术水平
28 点
热心指数
34 点
信用等级
17 点
经验
301 点
帖子
949
精华
0
在线时间
1321 小时
注册时间
2010-3-21
最后登录
2020-2-22

楼主
一诺9257 发表于 2015-9-19 23:10:13 |AI写论文
20论坛币
计算矩阵的元素之间的距离
X=(x1,x2,x3,x4,....,xn),,且
x1=(x11,x12)
x2=(x21,x22)
x3=(x31,x32)
x4=(x41,x42)
.......
xn=(xn1,xn2)

现计算一个矩阵D=(dij)nxn 其中 dij=d(xi,xj)#欧式距离
我用for循环太慢,请问大神有没有优化的程序?谢谢

x <- matrix(rnorm(1000), ncol = 2)
x
n=dim(x)[1]
D=matrix(0,n,n)
for(i in 1:n){
  for(j in 1:n){
    D[i,j]=dist(x=rbind(x[i,],x[j,]))

  }
}






关键词:for循环 欧式距离 有没有 X12 For 程序 元素

沙发
万人往LVR 在职认证  发表于 2015-9-20 12:48:18
dist函数直接计算所有行之间的距离,如果计算列之间距离,转置一下就好
dist(t(data))
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

藤椅
ryoeng 在职认证  发表于 2015-9-20 14:14:58
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

板凳
ryoeng 在职认证  发表于 2015-9-20 14:16:35
提示: 作者被禁止或删除 内容自动屏蔽

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 11:29