Я не понимаю, почему Python дать мне объект np.darray не вызывается - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу найти ближайшую точку к точке p, но она не работает

import numpy as np
import matplotlib.pyplot as plt
point = np.array([[1,1],[1,2],[1,3],[2,1], [2,2],[2,3], [3,1], [3,2], [3,3]])
p = np.array([2.5,2])
plt.plot(point[:,0], point[:,1], "ro")
plt.plot(p[0], p[1], "bo")
**This section is where it got the error**
distance = np.zeros(point.shape[0])
for i in range(len(distance)):
    distance[i] = distance(p, point[i])
distance[4]

Ответы [ 2 ]

0 голосов
/ 27 февраля 2020

Вам нужно переименовать массив distance во что-то другое. В настоящее время в строке distance[i] = distance(p, point[i]) Python пытается вызвать ваш массив вместо функции distance().

0 голосов
/ 27 февраля 2020

заменить distance(p, point[i]) с вычислением расстояния

distance = np.zeros(point.shape[0])
for i in range(len(distance)):^M
    distance[i] = sum((p-point[i])**2)**0.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...