Forum » Programiranje » VBA Poissonova razporeditev
VBA Poissonova razporeditev
mihibo5 ::
Pozdravljeni,
v VBA moram narediti program, ki za števila 1-100 s parametrom 1,5 izračuna verjetnosti zbirnih funkcij.
V Javi za prvi dve števili dobim rezultat dvakrat premajhen, kasneje se ta razlika še bolj spremeni, tukaj pa Infinity za vsa števila. Rezultati bi morali priti:
1 - 0,735758882
2 - 0,40600585
3 - 0,149361205
4 - 0,073262556
5 - 0,033689735
6 - 0,014872513
7 - 0,006383174
8 - 0,002683701
9 - 0,001110688
10 - 0,000453999
11 - 0,000183719
12 - 7,37305E-05
13 - 2,93843E-05
14 - 1,16414E-05
15 - 4,58853E-06
16 - 1,80056E-06
17 - 7,03789E-07
18 - 2,7414E-07
19 - 1,06453E-07
20 - 4,12231E-08
... do sto
Hvala za odgovore.
v VBA moram narediti program, ki za števila 1-100 s parametrom 1,5 izračuna verjetnosti zbirnih funkcij.
Module Module1 Sub Main() Dim value(100) As Double For X As Integer = 1 To 100 Dim r As Double = 0 For k As Integer = 0 To X r += ((Math.Pow(Math.E, -X) * (Math.Pow(X, k))) / (factorial(X))) Next Console.WriteLine(r) Next Console.WriteLine(1 * Math.Log10(1.5)) Console.ReadKey() End Sub 'Function which calculates the factorial value of number n' Public Function factorial(n As Integer) As Integer Dim r As Integer = 0 For i As Integer = 1 To n r *= i Next Return r End Function End Module
V Javi za prvi dve števili dobim rezultat dvakrat premajhen, kasneje se ta razlika še bolj spremeni, tukaj pa Infinity za vsa števila. Rezultati bi morali priti:
1 - 0,735758882
2 - 0,40600585
3 - 0,149361205
4 - 0,073262556
5 - 0,033689735
6 - 0,014872513
7 - 0,006383174
8 - 0,002683701
9 - 0,001110688
10 - 0,000453999
11 - 0,000183719
12 - 7,37305E-05
13 - 2,93843E-05
14 - 1,16414E-05
15 - 4,58853E-06
16 - 1,80056E-06
17 - 7,03789E-07
18 - 2,7414E-07
19 - 1,06453E-07
20 - 4,12231E-08
... do sto
Hvala za odgovore.
amacar ::
Tule
množiš 0*cifre od 1-n, zato je rezultat vedno 0
tu
potem deliš z 0, ki ga vrne prejšnja funkcija od tu infinity
Pa tudi računati fakulteto z integerji ti ne bo šlo, boš hitro overflowal.
Dim r As Integer = 0 For i As Integer = 1 To n r *= i Next Return r
množiš 0*cifre od 1-n, zato je rezultat vedno 0
tu
r += ((Math.Pow(Math.E, -X) * (Math.Pow(X, k))) / (factorial(X)))
potem deliš z 0, ki ga vrne prejšnja funkcija od tu infinity
Pa tudi računati fakulteto z integerji ti ne bo šlo, boš hitro overflowal.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# program za pretvorbo v desetiško število z rekurzijoOddelek: Programiranje | 1457 (1180) | MrStein |
» | [C#] Operacija IN in ALI med dvema int številomaOddelek: Programiranje | 1161 (974) | LeQuack |
» | [C#] Input string was not in a correct format.Oddelek: Programiranje | 1076 (1013) | Cvenemir |
» | Java ObjektiOddelek: Programiranje | 2233 (1927) | Mavrik |
» | [Naloga] Eulerjevo številoOddelek: Programiranje | 3094 (2446) | gani-med |