Random value generation over huge range error

So far my code for generating a single random number between the range 1 to nsquare is
g = feval(symengine,'random',1,nsquare);
I'm doing this in Matlab code but calling on mupad due to needing system objects, in this case nsquare is a large number in the order of "273093755969093307889". Currently the code give the following result.
g =
proc()\n name random;\nbegin\n SEED := _MULTIPLIER*SEED mod _MODULUS; \n (SEED mod _DIVISOR) + _OFFSET\nend_proc
If anyone knows how to implement getting a single random variable from a large range, or knows where I'm going wrong with that line, I would greatly appreciate it.

 Accepted Answer

The MuPAD routine random() takes as input a value range, and returns as output a generating procedure that can be called to generate values in that range. So tell MuPAD to evaluate the routine, which I think would be:
feval(symengine, g)

1 Comment

Thank you very much, it appears to be doing what it should now.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!