Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah NumPy Boleh Mengira Jarak Euclidean Antara Dua Titik 3D dengan Cekap?

Bagaimanakah NumPy Boleh Mengira Jarak Euclidean Antara Dua Titik 3D dengan Cekap?

Patricia Arquette
Patricia Arquetteasal
2024-12-09 14:22:14953semak imbas

How Can NumPy Efficiently Calculate Euclidean Distance Between Two 3D Points?

Mengira Jarak Euclidean dengan NumPy

Dalam ruang 3D, diberi dua titik a = (ax, ay, az) dan b = (bx , oleh, bz), jarak Euclidean antara mereka dinyatakan sebagai:

dist = sqrt((ax-bx)^2 (ay-by)^2 (az-bz)^2)

Bagaimanakah NumPy boleh digunakan untuk mengira jarak ini?

Menggunakan NumPy, anda mempunyai tatasusunan a dan b mewakili dua titik:

import numpy
a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))

Penyelesaian:

Kepada selesaikan ini, manfaatkan numpy.linalg.norm:

dist = numpy.linalg.norm(a-b)

Nilai lalai bagi parameter ord dalam numpy.linalg.norm ialah 2, sepadan dengan norma l2. Oleh kerana formula jarak Euclidean mewakili norma l2, pengiraan ini mengukur jarak antara titik dengan tepat.

Fungsi ini mengambil asas teorinya daripada Pengenalan kepada Perlombongan Data, seperti yang digambarkan di bawah:

[Imej penjelasan teori daripada Pengenalan kepada Perlombongan Data]

Atas ialah kandungan terperinci Bagaimanakah NumPy Boleh Mengira Jarak Euclidean Antara Dua Titik 3D dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn