# Knowledge Base

 Navigation: Scripting Language > Functions rand We've made some changes. Use 'Ctrl-F5' to clear your browser cache.

Generates a uniform random number between 0 and 1. In order to reset the generator seed use the command randreset.

 Supported Product: FDTD, MODE, DEVICE, INTERCONNECT

 Syntax Description out = rand; Generates a uniform random number between 0 and 1. out = rand(min,max); Generates a random number between min and max. By default, min and max are 0 and 1 respectively. out = rand(min,max,option); option = 1: output is a double precision number between min and max (default) option = 2: output is an integer between min and max.

Example

Simple examples of the output of rand.

?rand;

result:

0.528733

?rand(0,10,1);

result:

9.33399

?rand(0,10,2);

result:

Generate two Gaussian random numbers (Y1 and Y2) using the polar form of the Box Muller transform.

# choose mean and variance

mean_value = 0;

variance_value = 1;

w=1;

for(0;(w>1)|(w==1);0){ # while w>=1

x1 = 2*rand - 1;

x2 = 2*rand - 1;

w = x1^2 + x2^2;

}

w = sqrt( (-2*log( w ) ) / w );

y1 = x1 * w;

y2 = x2 * w;

?Y1 = mean_value + sqrt(variance_value) * y1;

?Y2 = mean_value + sqrt(variance_value) * y2;

result:

0.198101

result:

-2.05023