How does MATLAB generate Halton sequences

p = haltonset(d)
constructs a Halton quasi-random point set in d dimensions. Mathematically, the Halton set is basically d van der Corput sequences with different bases. So my question is, which base values does MATLAB use? I opened the code of HALTONSET and QRANDSET, but couldn't figure it out.
I ask this because I am working with Halton sets for my thesis and want to clarify how they are used in MATLAB.

回答 (1 件)

Arnab Sen
Arnab Sen 2016 年 2 月 22 日

0 投票

Hi Eric,
You can get the Name of the sequence on which point set P is based from 'Type' property of P. So, the code snippet would be like below:
>> P = haltonset(d)
>> base=P.Type
The base value depends on the dimension provided. If the dimension is 'd' the Bases will be the first 'd' primes. For example for dimension d=5, the Bases is [2,3,5,7,11].

3 件のコメント

Eric Schols
Eric Schols 2016 年 2 月 22 日
Thank you for your answer, it seems very logical to me. However, when I try it myself, base returns
Halton
instead of a set of prime numbers. Am I doing something wrong?
Arnab Sen
Arnab Sen 2016 年 2 月 23 日
編集済み: Arnab Sen 2016 年 4 月 26 日
you are getting the correct answer. There is no property or function that output bases. I found that by inspecting the MATLAB script haltonset.m itself.
Eric Schols
Eric Schols 2016 年 3 月 3 日
Then how is it results are reproducable? That indicates something is governing the output.

サインインしてコメントする。

カテゴリ

質問済み:

2016 年 2 月 17 日

編集済み:

2016 年 4 月 26 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by