Как создать рандомную точку с двумя значениями координат?

Как создать рандомную точку с координатами с 2 значениями на промежутке (−5,5)×(−5,5) ?

Нужна рандомная точка при поиске минимума с помощью градиентного спуска. Python


Ответы (2 шт):

Автор решения: Zhihar

а что мешает 2 раза сгенерировать по 1 координате в диапазоне?

min = -5.5
max = 5.5

x = min + (max - min) * random.random()
y = min + (max - min) * random.random()

P.S.

я надеюсь, что промежуток (−5,5)×(−5,5) - это опечатка?

А... по разъяснению автора понял, что надо взять случайную точку в заданной области на плоскости

способ 1 (квадратная область со стороной size):

x0 = -5.5
y0 = -5.5
size = 0.01

x = x0 - size / 2 + size * random.random()
y = y0 - size / 2 + size * random.random()

способ 2 (круглая область с радиусом size):

делаем через полярные координаты:

x0 = -5.5
y0 = -5.5
size = 0.01

r = size * random.random()
phi = 2 * 3.14159 * random.random()

x = x0 + r * math.cos(phi)
y = y0 + r * math.sin(phi)
→ Ссылка
Автор решения: CrazyElf

Если можно использовать библиотеки, то чуть короче если взять numpy:

import numpy as np

x, y = (np.random.rand(2) - 0.5) * 10
print(x, y)
# -3.2738632035969104 4.162504209779479

Правда, тут нижняя граница может попасть, а верхняя нет, т.е. результат будет в диапазоне [-5,5) x [-5,5).

→ Ссылка