ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   How do I add the sum of a series numbers generated by Rnd gen? (https://www.excelbanter.com/excel-worksheet-functions/24397-how-do-i-add-sum-series-numbers-generated-rnd-gen.html)

RandomProblems

How do I add the sum of a series numbers generated by Rnd gen?
 
I need to create the sum of 2,500,000 iterations generated by the Rnd
generator function. I cannot create y=X(1)+X(2)+......X(n) where y is the
sum and x (the first iteration, x(2) the second and so on.

Rowan

I am assuming you are wanting to do this in a macro as you have used Rnd and
not the worksheet function Rand. You could do it like this

Sub RandomSum()
Dim i As Long
Dim y As Double
For i = 1 To 2500000
y = y + Rnd()
Next i
MsgBox y
End Sub

but it would be a lot more efficient and probably not materially different
to do this:

Sub RandomSum()
Dim i As Integer
Dim y As Double
For i = 1 To 25
y = y + Rnd() * 100000
Next i
MsgBox y
End Sub

Hope this helps
Rowan

"RandomProblems" wrote:

I need to create the sum of 2,500,000 iterations generated by the Rnd
generator function. I cannot create y=X(1)+X(2)+......X(n) where y is the
sum and x (the first iteration, x(2) the second and so on.


arno

Hi,

you need a macor for this. However, you'll always get the same result.
Run my code, in column A you'll see the sum you are looking for (250,
2500... 2.5Mio iterations), in column B you'll see the average, which
will always be the same.

Sub test()
Randomize
x = 0
v = 25
For j = 1 To 5
v = v * 10
For i = 1 To v
x = x + Rnd()
Next
Cells(j, 1).Value = x
Cells(j, 2).Value = x / v
Next j
End Sub

the important part for you is:
for i = 1 to 2500000
x = x+Rnd()
next

arno

"RandomProblems" schrieb im
Newsbeitrag ...
I need to create the sum of 2,500,000 iterations generated by the Rnd
generator function. I cannot create y=X(1)+X(2)+......X(n) where y

is the
sum and x (the first iteration, x(2) the second and so on.



RandomProblems

Thanks for the reply. It is exactly what I needed.

"Rowan" wrote:

I am assuming you are wanting to do this in a macro as you have used Rnd and
not the worksheet function Rand. You could do it like this

Sub RandomSum()
Dim i As Long
Dim y As Double
For i = 1 To 2500000
y = y + Rnd()
Next i
MsgBox y
End Sub

but it would be a lot more efficient and probably not materially different
to do this:

Sub RandomSum()
Dim i As Integer
Dim y As Double
For i = 1 To 25
y = y + Rnd() * 100000
Next i
MsgBox y
End Sub

Hope this helps
Rowan

"RandomProblems" wrote:

I need to create the sum of 2,500,000 iterations generated by the Rnd
generator function. I cannot create y=X(1)+X(2)+......X(n) where y is the
sum and x (the first iteration, x(2) the second and so on.


RandomProblems

Thank you for the insitefull response. I guess I am going to do some reading.

"arno" wrote:

Hi,

you need a macor for this. However, you'll always get the same result.
Run my code, in column A you'll see the sum you are looking for (250,
2500... 2.5Mio iterations), in column B you'll see the average, which
will always be the same.

Sub test()
Randomize
x = 0
v = 25
For j = 1 To 5
v = v * 10
For i = 1 To v
x = x + Rnd()
Next
Cells(j, 1).Value = x
Cells(j, 2).Value = x / v
Next j
End Sub

the important part for you is:
for i = 1 to 2500000
x = x+Rnd()
next

arno

"RandomProblems" schrieb im
Newsbeitrag ...
I need to create the sum of 2,500,000 iterations generated by the Rnd
generator function. I cannot create y=X(1)+X(2)+......X(n) where y

is the
sum and x (the first iteration, x(2) the second and so on.





All times are GMT +1. The time now is 11:19 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com