मैं यूक्लिडियन दूरी गणना में बहुत खो गया हूं। ऐसा करने के लिए मुझे फ़ंक्शन dist2 {SpatialTools} या rdist {फ़ील्ड} मिल गए हैं, लेकिन वे अपेक्षित काम नहीं करते हैं।एक्स, वाई युक्त मैट्रिक्स द्वारा परिभाषित दो बिंदुओं के बीच यूक्लिडियन दूरी की गणना कैसे करें?
मुझे लगता है कि एक बिंदु में कार्थेसियन प्रणाली में दो निर्देशांक हैं, इसलिए [x, y]। [X1, y1] बिंदु बी: [x2, y2]
अंक में समन्वयन:
2 अंक के बीच की दूरी (पंक्ति द्वारा परिभाषित), मैं 2 अंक के लिए 4 निर्देशांक, इसलिए बिंदु A जरूरत को मापने के लिए x1 (ए और सी देखते हैं, पंक्तियों द्वारा परिभाषित) और x2 (बी और डी होते हैं):A[0,1]
B[0,0]
C[1,1]
D[1,1]
मैं दो मैट्रिक्स की है। मैट्रिक्स में लिखा:
library("SpatialTools")
x1<-matrix(c(0,1,1,1), nrow = 2, ncol=2, byrow=TRUE)
x2<-matrix(c(0,0,1,1), nrow = 2, ncol=2, byrow=TRUE)
तो मैं
> x1
[,1] [,2]
[1,] 0 1 #(as xy coordinates of A point)
[2,] 1 1 #(same for C point)
> x2
[,1] [,2]
[1,] 0 0 #(same for B point)
[2,] 1 1 #(same for D point)
प्राप्त के बीच इयूक्लिडियन दूरी की गणना करने के
A <-> B # same as x1[1,] <-> x2[1,]
C <-> D # same as x1[2,] <-> x2[2,]
मैं EuclidDist प्राप्त करने के लिए मान लेते हैं:
> x1 x2 EuclidDist
[,1] [,2] [,1] [,2]
[1,] 0 1 #A [1,] 0 0 #B 1
[2,] 1 1 #B [2,] 1 1 #D 0
मैं सिर्फ दो अंक से पहचान के बीच दूरी की वेक्टर प्राप्त करने के लिए चाहते हैं [एक्स, वाई] निर्देशांक, तथापि, dist2
का उपयोग कर मैं एक मैट्रिक्स प्राप्त:
> dist2(x1,x2)
[,1] [,2]
[1,] 1.000000 1
[2,] 1.414214 0
मेरा प्रश्न है, जो संख्या वास्तविक इयूक्लिडियन का वर्णन इस मैट्रिक्स से एबी और सीडी के बीच की दूरी? क्या मैं कुछ गलत समझ रहा हूँ? हर सलाह या किसी स्पष्टीकरण के लिए बहुत बहुत धन्यवाद।
महान , धन्यवाद, पाश बहुत उपयोगी है, यह काम करता है! :- डी – maycca
क्या होगा यदि दो matrices हैं जो असमान लंबाई हैं ?? 'x1 <-matrix (सी (0,1,1,1,2,1), nrow = 3, ncol = 2, byrow = TRUE) x2 <-matrix (c (0,0,1,1), nrow = 2, ncol = 2, बाई = सही) ' –