Hallo,
ich habe folgendes Problem in Excel VBA: Das aufrufen folgender Funktion liefert mit jedem Aufruf ein immer kleiner werdendes Ergebnis.
Public Static Function pSVonLambda(ByVal d_0 As Double, ByVal d_N As Double, ByVal N As Integer, ByVal lambda As Double)
Dim zahler, nenner, zs As Double
Dim j As Integer
zahler = d_0 - d_N + lambda * d_0 * summeP(N - 1, 0, (1 + lambda))
For j = 0 To N - 1
zs = zs + summeP(j, 0, (1 + lambda))
Next j
nenner = N + lambda * zs
pSVonLambda = zahler / nenner
End Function
Private Function summeP(ByVal uB As Integer, ByVal lB As Integer, ByVal zahl As Double) As Double
summeP = 0
Dim i As Integer
For i = lB To uB
summeP = summeP + zahl ^ i
Next i
End Function
Hier ein Aufruf, die Ergebnisse darunter kamen alle durch den gleichen Aufruf!!
? pSVonLambda(80,60,3,0.2)
0,511468751172223
0,516084017532034
0,520783334546364
0,525569019339702
0,53044347499838
0,535409194594214
0,540468765436275
0,545624873566039
0,55088030851232
0,556237968323668
0,561700864897312
0,567272129625236
0,572955019379625
Das ganze passiert sowohl wie hier im direktfenster als auch bei Nutzung in Excel...
Wär cool wenn mir jemand eine Erklärung dafür liefern könnte...
Vielen Dank im Vorraus.
|