Unity: получить случайное значение из распределения вероятностей - PullRequest
0 голосов
/ 21 октября 2018

Я хотел бы получить случайное значение из дистрибутива фон Мизеса, используя платформу Accord.NET для статистики.Он должен возвращать число с плавающей точкой между -pi и pi, где он, скорее всего, будет возвращать значения, близкие к среднему.Конечная цель состоит в том, чтобы игрок выполнил случайную прогулку, где он с большей вероятностью идет в определенном направлении.В настоящее время я могу создать только дистрибутив.

public class RandomWalk : MonoBehaviour {
    void Start()
    {
        // Creates von Mises distribution with default mean 0 and concentration 1            
        var vonmises = new VonMisesDistribution();
    }

}

Фон Мизеса не нужен, я ищу способ извлечь случайное значение из любой плотности вероятности (например, нормальное распределение).

1 Ответ

0 голосов
/ 21 октября 2018

Вы можете создать свой собственный метод, который делает это. Мы знаем нормальную функцию распределения y = f (x).Поскольку вам нужно значение между -pi и pi .., мы можем аппроксимировать его как нормальное распределение со средним 0 и стандартным отклонением как 2 * pi / 3.Сгенерируйте случайное значение между 0 и 1, которое действует как ваше значение y, и вычислите ваш X на основе этого x = f-inverse (y).Ваш X будет между -pi и pi.Извините, я не могу дать вам ни одного существующего класса, который вы можете использовать.

...