Генерация случайного вектора на расстоянии от шаблона - PullRequest
0 голосов
/ 17 октября 2019

Я нашел похожий вопрос здесь : но он не относится к R. Я хотел бы генерировать случайным образом числовой вектор, который находится на определенном расстоянии от определенного числового вектора.

A = c (12,34, -2) Расстояние = z

Найти b = c (rnorm (1), rnorm (1), rnorm (1)) с dist (A), б)

Любой совет для меня? Лучший

1 Ответ

1 голос
/ 17 октября 2019

Случайным образом выберите точку на сфере юнита и добавьте ее к существующей точке. Этот пост по обмену математическими стеками дает хороший метод, который мы будем использовать здесь .

(Первоначально я предложил метод выборки углов и расстояния от начала координат - я учел неоднородность радиуса, но забыл о кластеризации на полюсах. Смотрите историю редактирования, если вам интересно.)

max_dist = 5
draws = rnorm(3)
dist = runif(1) ^ (1/3)
offset = draws / sqrt(sum(draws^2)) * dist * max_dist
result = A + offset

Обратите внимание, что вопрос, на который вы ссылаетесь, касается расширения вектора в том же направлении , где ваш вопрос хочет случайное направление.

...