qrandstream

Class: qrandstream

Construct quasi-random number stream

Syntax

q = qrandstream(type,d)
q = qrandstream(type,d,prop1,val1,prop2,val2,...)
q = qrandstream(p)

Description

q = qrandstream(type,d) constructs a d-dimensional quasi-random number stream q of the qrandstream class, of type specified by type. type is either 'halton' or 'sobol', and q is based on a point set from either the haltonset class or sobolset class, respectively, with default property settings.

q = qrandstream(type,d,prop1,val1,prop2,val2,...) specifies property name/value pairs for the point set on which the stream is based. Applicable properties depend on type.

q = qrandstream(p) constructs a stream based on the specified point set p. p must be a point set from either the haltonset class or sobolset class.

Examples

Construct a 3-D Halton stream, based on a point set that skips the first 1000 values and then retains every 101st point:

q = qrandstream('halton',3,'Skip',1e3,'Leap',1e2)
q =
Halton quasi-random stream in 3 dimensions
Point set properties:
Skip : 1000
Leap : 100
ScrambleMethod : none

nextIdx = q.State
nextIdx =
1

Use qrand to generate two samples of size four:

X1 = qrand(q,4)
X1 =
0.0928    0.3475    0.0051
0.6958    0.2035    0.2371
0.3013    0.8496    0.4307
0.9087    0.5629    0.6166
nextIdx = q.State
nextIdx =
5

X2 = qrand(q,4)
X2 =
0.2446    0.0238    0.8102
0.5298    0.7540    0.0438
0.3843    0.5112    0.2758
0.8335    0.2245    0.4694
nextIdx = q.State
nextIdx =
9

Use reset to reset the stream, and then generate another sample:

reset(q)
nextIdx = q.State
nextIdx =
1

X = qrand(q,4)
X =
0.0928    0.3475    0.0051
0.6958    0.2035    0.2371
0.3013    0.8496    0.4307
0.9087    0.5629    0.6166