Trong thế giới toán học, khoảng cách ngắn nhất giữa hai điểm trong bất kỳ chiều nào được gọi là khoảng cách Euclide. Nó là căn bậc hai của tổng bình phương hiệu giữa hai điểm
Trong Python, các mô-đun numpy, scipy được trang bị rất tốt các hàm để thực hiện các phép toán và tính toán đoạn thẳng này giữa hai điểm
Trong hướng dẫn này, chúng ta sẽ thảo luận về các phương pháp khác nhau để tính khoảng cách Euclide giữa các tọa độ
Sử dụng mô-đun NumPy để tìm khoảng cách Euclide giữa hai điểm
Mô-đun numpy có thể được sử dụng để tìm khoảng cách cần thiết khi tọa độ ở dạng mảng. Nó có hàm norm[]
, có thể trả về định mức vectơ của một mảng. Nó có thể giúp tính toán Khoảng cách Euclide giữa hai tọa độ, như hình bên dưới
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.linalg.norm[a-b]
print[dist]
đầu ra
Chúng ta cũng có thể trực tiếp thực hiện công thức toán học bằng cách sử dụng mô-đun numpy. Đối với phương pháp này, chúng ta sẽ sử dụng hàm numpy.sum[]
, trả về tổng các phần tử và hàm numpy.square[]
sẽ trả về bình phương của các phần tử
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
đầu ra
Hàm numpy.sqrt[]
cung cấp căn bậc hai của giá trị
Một cách khác để thực hiện công thức Khoảng cách Euclide là sử dụng hàm dot[]
. Chúng ta có thể tìm tích vô hướng của hiệu các điểm và chuyển vị của nó, trả về tổng bình phương
Ví dụ,
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
temp = a-b
dist = np.sqrt[np.dot[temp.T, temp]]
print[dist]
đầu ra
Sử dụng hàm import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
0 để tìm khoảng cách Euclide giữa hai điểm
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
Chúng tôi đã thảo luận về các phương pháp khác nhau để tính Khoảng cách Euclide bằng mô-đun numpy. Tuy nhiên, các phương pháp này có thể hơi chậm nên chúng tôi có sẵn phương pháp thay thế nhanh hơn
Thư viện scipy có nhiều chức năng tính toán khoa học và toán học. Hàm
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
0 trả về Khoảng cách Euclide giữa hai điểmVí dụ,
from scipy.spatial import distance
a = [1, 2, 3]
b = [4, 5, 6]
print[distance.euclidean[a, b]]
đầu ra
Sử dụng hàm import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
2 để tìm khoảng cách Euclide giữa hai điểm
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
Mô-đun
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
3 cũng có thể được sử dụng thay thế. Hàm import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
4 từ mô-đun này có thể trả về đoạn thẳng giữa hai điểmVí dụ,
from math import dist
a = [1, 2, 3]
b = [4, 5, 6]
print[dist[a,b]]
đầu ra
Các phương thức mô-đun
import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
5 và import numpy as np
a = np.array[[1, 2, 3]]
b = np.array[[4, 5, 6]]
dist = np.sqrt[np.sum[np.square[a-b]]]
print[dist]
3 là phương thức thay thế nhanh hơn cho các phương thức numpy và hoạt động khi tọa độ ở dạng Tuple hoặc danh sách 17.88854381999832 12.6885775404495189_______12_______5
# Importing math module
121.931712199461311
# Python Program to explain math.dist[] method
1# Importing math module
321.931712199461311
17.88854381999832 12.6885775404495186
# Importing math module
321.931712199461311
# Python Program to explain math.dist[] method
5# Importing math module
3import
5# Importing math module
3# Importing math module
4_______23_______3_______29_______8_______23_______7 Nói một cách đơn giản, khoảng cách Euclide là ngắn nhất giữa 2 điểm bất kể kích thước. Trong bài viết này để tìm khoảng cách Euclide, chúng ta sẽ sử dụng thư viện NumPy. Thư viện này dùng để thao tác với mảng nhiều chiều rất hiệu quả. Hãy thảo luận về một số cách để tìm khoảng cách Euclide bằng thư viện NumPy