Как расчитать функцию Лапласса для параметра Z - VB
Формулировка задачи:
Собственно само задание:
Эксперты оценили поздние сроки окончания работ, как 25% опоздания по каждой из них, а ранние – как 20% опережения, с учетом нормального закона распределения оценок работ. Рассчитать вероятность окончания
всего проекта в срок– 30 дней.
Вот сетевая модель. Вложение 336594
Но вопрос не в этом. Это так, в качестве дополнения. Вопрос в том, как расчитать функцию Лапласса для параметра Z.
Вот код:
Формула расчета функции Лапласса:Вложение 336601
дело в том, что интеграл я расчиывал по методу трапеций. Вот по этой формуле: Вложение 336598
Но в этой формуле нужно расчитать вот это число:Вложение 336599
а я не знаю что это за f с двумя штрихами, и расчитал без него. И расчет оказался не правильным((
Посмотрите пожалуйста код, подскажите, может ошибка не в этом??
Листинг программы
- Private Sub Form_Load()
- Dim WorkNorm(8, 8) As Double
- Dim WorkOpt(8, 8) As Double
- Dim WorkPes(8, 8) As Double
- Dim OptOcenka As Double
- Dim PesOcenka As Double
- Dim Otkloneniye(8, 8) As Double
- Dim SredKvadOtkl As Double
- Dim Dispersia As Double
- Dim NV(8, 8) As Double
- Dim MatWait As Double
- Dim Z As Double
- Dim Ver As Double
- Dim TDirect As Double
- WorkNorm(1, 2) = 4: WorkNorm(1, 3) = 3: WorkNorm(1, 4) = 5: WorkNorm(2, 5) = 7: WorkNorm(3, 6) = 8: WorkNorm(4, 7) = 9
- WorkNorm(2, 6) = 10: WorkNorm(4, 6) = 12: WorkNorm(6, 8) = 10: WorkNorm(5, 8) = 8: WorkNorm(1, 2) = 11
- OptOcenka = 0.2
- PesOcenka = 0.25
- TDirect = 30
- For i = 1 To 8
- For j = 1 To 8
- WorkOpt(i, j) = WorkNorm(i, j) - WorkNorm(i, j) * OptOcenka
- Next j
- Next i
- For i = 1 To 8
- For j = 1 To 8
- WorkPes(i, j) = WorkNorm(i, j) + WorkNorm(i, j) * PesOcenka
- Next j
- Next i
- For i = 1 To 8
- For j = 1 To 8
- Otkloneniye(i, j) = 0.028 * ((WorkPes(i, j) - WorkOpt(i, j)) ^ 2)
- Next j
- Next i
- SredKvadOtkl = 0
- For i = 1 To 8
- For j = 1 To 8
- SredKvadOtkl = SredKvadOtkl + Otkloneniye(i, j)
- Next j
- Next i
- Dispersia = Sqr(SredKvadOtkl)
- For i = 1 To 8
- For j = 1 To 8
- NV(i, j) = (WorkOpt(i, j) + 4 * WorkNorm(i, j) + WorkPes(i, j)) / 6
- Next j
- Next i
- MatWait = NV(1, 4) + NV(4, 6) + NV(6, 8)
- Z = Round(((TDirect - MatWait) / Dispersia), 8)
- Ver = ÔóГ*êöèÿ_Г‹Г*ГЇГ«Г*Г±Г±Г*(Z)
- MsgBox Z 'Ver
- End Sub
- Public Function ÔóГ*êöèÿ_Г‹Г*ГЇГ«Г*Г±Г±Г*(a As Double) As Double
- Dim h As Double
- Dim n As Double
- Dim Г€Г*ГІГҐГЈГ°Г*ëë As Double
- Dim e As Double
- Dim sum As Double, F0 As Double, Fn As Double
- Dim pi As Double
- Dim ÊîýôôèöèåГ*ГІ As Double
- pi = 3.1415926535
- e = 2.71828182845905
- n = 10
- h = Round(((a - 0) / n), 8)
- For i = 1 To n - 1
- sum = sum + e ^ (-0.5 * (i) ^ 2)
- Next i
- F0 = e ^ (-0.5 * 0 ^ 2)
- Fn = e ^ (-0.5 * 1000 ^ 2)
- Г€Г*ГІГҐГЈГ°Г*ëë = Round(((h * ((F0 + Fn) / 2 + sum) + (((a - 0) * h ^ 2) / (-12)))), 8)
- ÊîýôôèöèåГ*ГІ = Round(((1 / Sqr(2 * pi))), 8)
- ÔóГ*êöèÿ_Г‹Г*ГЇГ«Г*Г±Г±Г* = ÊîýôôèöèåГ*ГІ * Г€Г*ГІГҐГЈГ°Г*ëë
- End Function
не пойму, куда делись вложенные картинки, модератор?
Короче вот заново.
Сетевая модель:
Формула расчета функции Лапласса:
дело в том, что интеграл я расчиывал по методу трапеций. Вот по этой формуле:
Но в этой формуле нужно расчитать вот это число:
Решение задачи: «Как расчитать функцию Лапласса для параметра Z»
textual
Листинг программы
- Public Function Метод_Трапеций(a As Double, b As Double) As Double
- Dim h As Double
- Dim n As Double
- Dim e As Double
- Dim sum As Double, F0 As Double, Fn As Double, Fx As Double
- e = 2.71828182845905
- n = 1000
- h = Round(((a - b) / n), 8)
- sum = 0
- For i = 1 To n - 1
- Fx = b + i * h
- sum = sum + e ^ (-Fx * Fx / 2)
- Next i
- F0 = e ^ (-0.5 * 0 ^ 2)
- Fn = e ^ (-0.5 * n ^ 2)
- Метод_Трапеций = Round(((h * ((F0 + Fn) / 2 + sum))), 8)
- End Function
- Public Function Лапласс(a As Double) As Double
- Dim pi As Double
- pi = 3.1415926535
- Лапласс = Round((Метод_Трапеций(a, 0) / Sqr(2 * pi)), 8)
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д