Main Content

qrand

Generate quasirandom points from stream

Syntax

x = qrand(q)
X = qrand(q,n)

Description

x = qrand(q) returns the next value x in the quasi-random number stream q of the qrandstream class. x is a 1-by-d vector, where d is the dimension of the stream. The command sets q.State to the index in the underlying point set of the next value to be returned.

X = qrand(q,n) returns the next n values X in an n-by-d matrix.

Objects q of the qrandstream class encapsulate properties of a specified quasi-random number stream. Values of the stream are not generated and stored in memory until q is accessed using qrand.

Examples

Use qrandstream to 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, 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

See Also

|