1. 程式人生 > 程式設計 >計算Python Numpy向量之間的歐氏距離例項

計算Python Numpy向量之間的歐氏距離例項

計算Python Numpy向量之間的歐氏距離,已知vec1和vec2是兩個Numpy向量,歐氏距離計算如下:

import numpy
dist = numpy.sqrt(numpy.sum(numpy.square(vec1 - vec2)))

或者直接:

dist = numpy.linalg.norm(vec1 - vec2)

補充知識:Python中計算兩個資料點之間的歐式距離,一個點到資料集中其他點的距離之和

如下所示:

計算數兩個資料點之間的歐式距離

import numpy as np
def ed(m,n):
 return np.sqrt(np.sum((m - n) ** 2))
i = np.array([1,1])
j = np.array([3,3])
distance = ed(i,j)
print(distance)

在jupyter 中運輸程式碼輸出結果如下:

計算Python Numpy向量之間的歐氏距離例項

計算一個點到資料集中其他點的距離之和

from scipy import *
import pylab as pl
 
all_points = rand(500,2)
pl.plot(all_points[:,0],all_points[:,1],'b.')
pl.show()

在jupyter 中運輸程式碼輸出結果如下:

計算Python Numpy向量之間的歐氏距離例項

from scipy import *
import pylab as pl
 
all_points = rand(500,'b.')
pl.show()

定義函式計算距離

def cost(c,all_points): #指定點,all_points:為集合類的所有點

return sum(sum((c - all_points) ** 2,axis=1) ** 0.5)

以上這篇計算Python Numpy向量之間的歐氏距離例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。