Вопрос о python и вычислении евклидова расстояния - PullRequest
1 голос
/ 27 мая 2020

Я изучаю python, и мне интересно, может ли кто-нибудь помочь мне направить меня в правильном направлении. Мне нужно написать код python, который будет случайным образом генерировать N (N - это количество, которое пользователь указывает при появлении запроса) точек на 2D-плоскости, что, как мне кажется, я сделал:

from random import randrange
# Example points in 2-dimensional space...
i = int(input('How many coordinates would you like to generate? \n'))

coords_list = [(randrange(100), randrange(100)) for _ in range(i)]

print(coords_list)

Это создает список координатных кортежей: [(1,2), (3,4)] et c.

Затем вопрос просит вычислить матрицу расстояний между этими точками, но я не могу использовать numpy или что-то еще в противном случае я должен использовать функцию расстояния, и я столкнулся с евклидовым уравнением, но я не уверен, как это поможет мне построить матрицу.

Если бы кто-нибудь мог дать мне несколько советов или подсказок, я был бы очень благодарен

Большое спасибо, Джек

1 Ответ

0 голосов
/ 27 мая 2020

Насколько я понимаю из вашего вопроса, вам нужно создать n координат, а затем создать матрицу расстояний по всем точкам на плоскости.

Вы можете использовать scipy - это основанная на Python экосистема программного обеспечения с открытым исходным кодом для математики, естественных наук и инженерии. - Scipy

Эта функция - scipy.spatial.distance.euclidean поможет вам рассчитать расстояние между двумя точками на плоскости.

И вы можете создать al oop поверх него, чтобы сохранить его в матрице для создания вашей матрицы расстояний.

Если мне не хватает какой-то точки в вашем вопросе, дайте мне знать.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...