haltonset

Квазислучайная точка Холтона установлена

Описание

haltonset объект набора квазислучайной точки, который производит точки из последовательности Холтона. Последовательность Холтона использует различные главные основы в каждой размерности, чтобы заполнить пробел очень универсальным способом.

Создание

Описание

p = haltonset(d) создает d- размерная точка установила p, который является haltonset объект с настройками свойства по умолчанию. Входной параметр d соответствует Dimensions свойство p.

пример

p = haltonset(d,Name,Value) свойства наборов p использование одного или нескольких аргументов пары "имя-значение". Заключите каждое имя свойства в кавычки. Например, haltonset(5,'Leap',2) создает пятимерный набор точки из первой точки, четвертой точки, седьмой точки, десятой точки, и так далее.

Возвращенный объект p инкапсулирует свойства Холтона квазислучайная последовательность. Набор точки конечен с длиной, определенной Skip и Leap свойства и пределами на размере точки устанавливают индексы (максимальное значение 253). Значения набора точки сгенерированы каждый раз, когда вы получаете доступ к p использование net или индексация круглой скобки. Значения не хранятся в p.

Свойства

развернуть все

Это свойство доступно только для чтения.

Номер размерностей точек в точке определяется в виде положительного целочисленного скаляра. Например, каждая точка в точке установила p с p.Dimensions = 5 имеет пять значений.

Используйте d входной параметр, чтобы задать количество размерностей, когда вы создаете набор точки с помощью haltonset функция.

Интервал между точками в последовательности в виде положительного целочисленного скаляра. Другими словами, Leap свойство набора точки задает число точек в последовательности, чтобы прыгнуть и не использовать для каждой взятой точки. Leap по умолчанию значение 0, который соответствует взятию каждой точки от последовательности.

Прыгание является методом, используемым, чтобы улучшить качество набора точки. Однако необходимо выбрать Leap значения с осторожностью. Многие Leap значения создают последовательности, которым не удается затронуть большой sub-hyper-rectangles единичного гиперкуба и, поэтому, не удаться быть универсальным квазислучайным набором точки. Для получения дополнительной информации см. [1].

Одно правило для выбора Leap значения для наборов Холтона должны установить значение к (n–1), где n простое число, которое не использовалось, чтобы сгенерировать одну из размерностей. Например, для d- размерный набор точки, задайте (d+1)th или большее простое число для n.

Пример: p = haltonset(2,'Leap',4); (где d = 2 и n = 5)

Пример: p.Leap = 100;

Настройки, которые управляют скремблированием последовательности в виде структуры с этими полями:

  • Type — Вектор символов, содержащий имя скремблирования

  • Options — Массив ячеек значений параметров для скремблирования

Используйте scramble возразите функции, чтобы установить скремблирования. Для списка допустимых типов скремблирования смотрите type входной параметр scramble. Ошибка происходит, если вы устанавливаете недопустимый тип скремблирования для данного набора точки.

ScrambleMethod свойство также принимает пустую матрицу как значение. Программное обеспечение затем очищает все скремблирование и устанавливает свойство содержать 0x0 структура.

Количество начальных точек в последовательности, чтобы не использовать от набора точки в виде положительного целочисленного скаляра.

Начальные точки последовательности иногда показывают нежелательные свойства. Например, первой точкой часто является (0,0,0,...), который может заставить последовательность быть несбалансированной потому что дубликат точки, (1,1,1,...), никогда не появляется. Кроме того, начальные точки часто показывают корреляции среди различных размерностей, и эти корреляции исчезают позже в последовательности.

Пример: p = haltonset(__,'Skip',2e3);

Пример: p.Skip = 1e3;

Это свойство доступно только для чтения.

Тип последовательности, на котором квазислучайная точка установила p базируется в виде 'Halton'.

Функции объекта

netСгенерируйте набор квазислучайной точки
scrambleСкремблируйте набор квазислучайной точки

Можно также использовать следующие функции MATLAB® с haltonset объект. Программное обеспечение обрабатывает объект набора точки как матрица многомерных точек.

lengthДлина самого большого измерения массива
sizeРазмер массивов

Примеры

свернуть все

Сгенерируйте 3D набор точки Холтона, пропустите первые 1 000 значений, и затем сохраните каждую 101-ю точку.

p = haltonset(3,'Skip',1e3,'Leap',1e2)
p = 
Halton point set in 3 dimensions (89180190640991 points)

Properties:
              Skip : 1000
              Leap : 100
    ScrambleMethod : none

Примените противоположное основание, борющееся при помощи scramble.

p = scramble(p,'RR2')
p = 
Halton point set in 3 dimensions (89180190640991 points)

Properties:
              Skip : 1000
              Leap : 100
    ScrambleMethod : RR2

Сгенерируйте первые четыре точки при помощи net.

X0 = net(p,4)
X0 = 4×3

    0.0928    0.6950    0.0029
    0.6958    0.2958    0.8269
    0.3013    0.6497    0.4141
    0.9087    0.7883    0.2166

Сгенерируйте каждую третью точку, до одиннадцатой точки, при помощи индексации круглой скобки.

X = p(1:3:11,:)
X = 4×3

    0.0928    0.6950    0.0029
    0.9087    0.7883    0.2166
    0.3843    0.9840    0.9878
    0.6831    0.7357    0.7923

Советы

  • Skip и Leap свойства полезны для параллельных приложений. Например, если у вас есть лицензия Parallel Computing Toolbox™, можно разделить последовательность точек через N различные рабочие при помощи функции labindex (Parallel Computing Toolbox). На каждом n th рабочий, набор Skip свойство набора точки к n – 1 и Leap свойство к N – 1. Следующий код показывает, как разделить последовательность через трех рабочих.

    Nworkers = 3;
    p = haltonset(10,'Leap',Nworkers-1);
    spmd(Nworkers)
        p.Skip = labindex - 1;
    
        % Compute something using points 1,4,7...
        % or points 2,5,8... or points 3,6,9...
    end

Алгоритмы

развернуть все

Ссылки

[1] Kocis, L. и В. Дж. Уайтн. “Вычислительные Расследования Последовательностей Низкого Несоответствия”. Транзакции ACM на Mathematical Software. Издание 23, № 2, 1997, стр 266–294.

Введенный в R2008a