Jsoftware
High-Performance Development Platform

 « Return to Thread: Random number generation

RE: Random number generation

by Henry Rich :: Rate this Message:

Reply to Author | View in Thread

What you executed was:

3 3 * ?0

which is

3 3 * (?0)

in other words, you asked for one number, then multiplied it by 3 twice.


You could have your verb apply to atoms by giving it a rank of 0:

   f1 =: 3 : 'y * ?0'"0

Or, you could design it to work with arrays of any shape:

   f2 =: 3 : 'y * ?(#y)#0'

Working with bigger arrays is faster, but perhaps not by enough
to be worth the trouble.  Depends on your application.

Henry Rich
 

> -----Original Message-----
> From: programming-bounces@...
> [mailto:programming-bounces@...] On Behalf Of
> Benoît Roesslinger
> Sent: Monday, June 30, 2008 10:46 AM
> To: programming@...
> Subject: [Jprogramming] Random number generation
>
> Hi,
>
> I am new to J and when doing some experiments with random
> number generation
> I stumbled across the following behavior, which wasn't what
> I'd expect :
>
>    f=: 3 : 'y * ?0'
>    f 3
> 2.91414
>    f 3
> 0.139888
>    f 3
> 0.990328
>
> OK so far, but when I tried:
>
>    f 3 3
>
> it gives me :
>
> 0.0403801 0.0403801 (same values!)
>
> whereas I'd expect a behavior much like the one of '?'...
> Is this behavior normal ?
> Suppose I want to create a function to generate a random
> deviate from a
> distribution (normal for instance) with some parameters (mean
> and sd for
> instance) that will work in the same fashion as '?', ie it is
> possible to
> generate lots of random deviates at once using code such as :
> distri 100 $
> x, where x would represent parameters, what is the best way to go ?
>
> Many thanks in advance!
>
> Benoît.
> ----------------------------------------------------------------------
> For information about J forums see
> http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

 « Return to Thread: Random number generation

LightInTheBox - Buy quality products at wholesale price!