|
From: | Doug Stewart |
Subject: | Re: Same sequence of random number generators than under Matlab? |
Date: | Tue, 5 Jun 2012 08:25:52 -0400 |
You won't have much luck mimicking Matlab's rand function, as Matlab uses the Mersenne twister PRNG, which is very good, but quite complicated. And because you don't have access to the source code, you can't be sure of how it's been set up to work.Assuming you don't want too many random numbers, the simple LCG should suffice.-AlasdairOn Tue, Jun 5, 2012 at 10:01 PM, Alasdair McAndrew <address@hidden> wrote:
The article you want is at http://www.mathworks.com.au/moler/random.pdfand the LCG (very simple) isx(n+1) = 16807*x(n) mod 2^31-1 with x(1)=1.You can see Moler's m-file here:-AlasdairOn Tue, Jun 5, 2012 at 7:21 PM, Mathieu Dubois <address@hidden> wrote:
----- Mail original -----
De: "Alasdair McAndrew" <address@hidden>
À: "Mathieu Dubois" <address@hidden>, address@hidden
Envoyé: Lundi 4 Juin 2012 14:26:00
Objet: Re: Same sequence of random number generators than under Matlab?
Following your advice, I was trying to implement the LCG but I can't find the document. Could you repost it?
> Writing your own is a good idea. Cleve Moler, here, speaks of the linear congruential generator
> x_{k+1} = ax_k (mod m)
> with a,m = 16807, 2^31-1
Also thanks for the other algorithm but I want to use a simple one.
Mathieu
On Mon, Jun 4, 2012 at 12:03 AM, Mathieu Dubois < address@hidden > wrote:
Hello,
I want to comapre the output of the Self-Organinzin Map algorithm under Matlab and Octave.
The algorithm is stochastic because, as in most training algorithm, the data are presented inrandom order.
In order to compare as precisely as possible the Matlab and Octave version it seems necessary to have the same sequence of random numbers.
Is there a way to do that?
I have tried the following:
rand('twister', 10);
s = rand(10, 1);
disp(s);
disp(mean(s));
disp(var(s));
The sequences are different (but the statistics are close).
Mathieu
[Prev in Thread] | Current Thread | [Next in Thread] |