티스토리 뷰

Study/Go Lang

[Go Lang] Euclidean Distance

Hoon's Blog 2019. 12. 18. 16:39

# Euclidean Distance?

두 점간의 거리를 계산할 때 주로 사용함.

a, b 두 점간의 유클리디언 거리는 다음과 같음.

 

Euclidean Distance

더보기

수식 입력 참고사이트

http://mathurl.com/

 

mathURL

 

mathurl.com

입력 : d(a,b) = \|a-b\| = \sqrt{(a-b)^T(a-b)}= \sqrt{\sum_j(a_j - b_j)^2}

 

# Exam

Case 1. P(1, 4), Q(3, 1)

PQ = SQRT( (1-3)^2 + (4-1)^2 ) = SQRT(4+9) = 3.605551

 

Case 2. P(2, 2), Q(3, 1)

PQ = SQRT( (2-3)^2 + (2-1)^2 ) = SQRT(1+1) = 1.414214

 

Case1보다 Case2가 유사도(거리)가 더 높음.

 

# Go Lang

// Euclidean project main.go

package main

import (

    "fmt"

    "math"

)

type points struct {

    point_x float64

    point_y float64

}

func main() {

    var arr []points

    arr = append(arr, points{point_x: 1, point_y: 4})

    arr = append(arr, points{point_x: 3, point_y: 1})

    arr = append(arr, points{point_x: 2, point_y: 2})

    fmt.Println("Euclidean Distance")

    fmt.Print("[", arr[0].point_x, ",", arr[0].point_y, "] : [", arr[1].point_x, ",", arr[1].point_y, "] = ")

    fmt.Println(math.Sqrt(math.Pow(arr[0].point_x-arr[1].point_x, 2) + math.Pow(arr[0].point_y-arr[1].point_y, 2)))

    fmt.Print("[", arr[1].point_x, ",", arr[1].point_y, "] : [", arr[2].point_x, ",", arr[2].point_y, "] = ")

    fmt.Println(math.Sqrt(math.Pow(arr[1].point_x-arr[2].point_x, 2) + math.Pow(arr[1].point_y-arr[2].point_y, 2)))

}

 

# 결과

 

'Study > Go Lang' 카테고리의 다른 글

[Go Lang] Web Server?  (0) 2019.12.18
[Go Lang] Mahalanobis Distance  (0) 2019.12.18
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함