我想計算陣列中資料點之間的距離。
例子
A1 = array([[ 54. , 15. , 1. ],
[ 55. , 13.66311896, 1. ],
[ 56. , 10.16311896, 1.95491503],
[ 57. , 5.83688104, 4.45491503], # shape 6rows x 3 col
[ 58. , 2.33688104, 7.54508497],
[ 59. , 1. , 10.04508497],
[ 60. , 1. , 11. ],
現在,我想計算第 1 列和第 2 列中的點之間的距離。所有距離都應該從第 0 行計算,即,(x1,y1 = 15,1) 但 x2,y2 是從元素第 1 行變化的變數到第 6 行。我想將此距離保存為“串列”。請幫我在python中解決這個問題
uj5u.com熱心網友回復:
畢達哥拉斯定理指出sqrt(a^2 b^2)=c,其中c是到達點a和的正交線的尖端之間的距離b。
import math
from math import sqrt
dist_list=[]
for i in A1[1:]:
dist=sqrt(pow(A1[0][1]-i[1],2) pow(A1[0][2]-i[2],2))
dist_list.append(dist)
如果您不想匯入math:
for i in A1[1:]:
dist=pow(pow(A1[0][1]-i[1],2) pow(A1[0][2]-i[2],2),0.5)
dist_list2.append(dist)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/414378.html
標籤:
