Hello all,

I want to write a MEX function to import a part of C code into MATLAB. This
piece of code is a normally distributed random number generator. It is
controlled by a seed() function which has to be called to initialize the
algorithm.

What I am trying to do is to call this seed() function inside the MEX file using
a specific number as its arguments (seed(10), for example) in order to get a
"controlled" sequence of random numbers. The problem is that wherever I put this
seed() function (inside MexFunction, inside the generator algorithm function or
anywhere else), the result is the same sequence of numbers each time I call the
function. What I want is to get different results for each call of the function
(which is the normal case) but after re-setting the seed(), the result sequence
must be the same as the previous one. For example:

% start of code

% code

% ....

X = norm_numbers(1, 0, 4) % A vector with 4 normally distributed random
numbers

Let's say X = [ 0.4 , 0.1 , -0.33 , 0.27 ].

% code

% ....

Y = norm_numbers(1, 0, 4)

Let's say Y = [ 0.23 , 0.41 , 0.54 , -0.11] .

% ....

% more code

% end of code

After rerunning the code, I want X and Y to be the same as the above ones.

Any help would be appreciated.

G.

P.S: The algorithm that I'm working is the polar form of Box-Muller transform.