VBA Monte Carlo Simulation - Генератор времени ремонта (логически распределенный) - PullRequest
1 голос
/ 29 марта 2011

Меня зовут Рик, я с зеленым поясом 6 сигм, и я создал симуляцию Монте-Карло по ремонту авиационных двигателей. В настоящее время я делаю проект с 6 сигмами в Excel VBA.

Я просто масштабировал случайное число во время разработки программы, но теперь, когда она разработана, я хотел бы использовать обратный логнормальный CDF http://engineer.jpl.nasa.gov/practices/at2.pdf для создания случайного времени восстановления, но я не смог найти функция онлайн.

Я нашел следующий код на http://www.anthony -vba.kefra.com / vba / vba12.htm , но он для нормального распределения, и я не уверен в его точности. Я не мог найти уравнение для обратного логнормального CDF. Я хотел бы подобный код для функции обратного логнормального CDF.

Любая помощь очень ценится.

'****************************************************************************
'*         Return random numbers from Standard Normal Distribution          *
'****************************************************************************
Function gauss()
    Dim fac As Double, r As Double, V1 As Double, V2 As Double
10      V1 = 2 * Rnd - 1
        V2 = 2 * Rnd - 1
        r = V1 ^ 2 + V2 ^ 2
        If (r >= 1) Then GoTo 10
        fac = Sqr(-2 * Log(r) / r)
        gauss = V2 * fac
End Function

1 Ответ

1 голос
/ 19 апреля 2011

Если вы используете Excel VBA, функцию Excelv Loginv вместе со случайным числом от 0 до 1 можно использовать для генерации случайного, нормально распределенного числа.

...