您的位置:首页 > 其它

求两点间最短距离

2015-03-24 09:07 197 查看

求两点间最短距离

f1<-function(x){
lx<-length(x)
i<-x[lx]
j<-which.min(x[(i+1):(lx-1)])
k<-i+j
return(c(k,x[k]))
}
f2<-function(y){
n<-nrow(y)
yy<-cbind(y,1:n)
y1<-apply(yy[-n,],1,f1)
i<-which.min(y1[2,])
j<-y1[1,i]
return(c(y[i,j],i,j))
}
sigma<-function(b){
m<-matrix(nrow=b,ncol=b)
m<-ifelse(row(m)==col(m),0,rnorm(5)*100)
return(m)
}


方法二,针对距离没有重复值的情况

f<-function(x){
m<-min(x)
n<-which(x==m,arr.ind=T)
return(c(m,n))
}


arr.ind=T 表明返回值是矩阵的下标,即行数和列数

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  R