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.

Réponses (1)

Arnab Sen
Arnab Sen le 22 Fév 2016
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 commentaires

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 le 23 Fév 2016
Modifié(e) : Arnab Sen le 26 Avr 2016
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 le 3 Mar 2016
Then how is it results are reproducable? That indicates something is governing the output.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Identification dans Centre d'aide et File Exchange

Modifié(e) :

le 26 Avr 2016

Community Treasure Hunt

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

Start Hunting!

Translated by