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 个)

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 个评论

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?
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.
Then how is it results are reproducable? That indicates something is governing the output.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by