# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# qrand

Class: qrandstream

Generate quasi-random 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```