sobolset

Sobol准随机点集

描述

sobolset的是,从Sobol序列产生点的准随机点集的对象。的Sobol序列是在一个高度均匀方式填充空间中的基座-2数字序列。

创建

描述

p= sobolset (d)构建一个d维空间点集p,这是一个sobolset具有默认属性设置的。输入参数d对应于的属性p

例子

p= sobolset (d,名称,值)性能p使用一个或多个名称-值对参数。将每个属性名称用引号括起来。例如,sobolset(5“飞跃”2)创建从所述第一点,第四点,第七点,第十点五维点组,依此类推。

返回的对象p封装一个Sobol拟随机序列的性质。点集是有限的,其长度由跳跃飞跃属性,并通过在点集索引的大小限制(2最大值53)。无论何时访问,都会生成点集的值p运用或括号索引。值不存储内p

属性

展开全部

此属性是只读的。

在点集的点的尺寸,规定为在区间[1,1111]的正整数标量的数目。例如,在点集的每个点pp。尺寸= 5有五个值。

使用d属性创建点集时指定维数的输入参数sobolset函数。

使用reduceDimensions您创建一个集后目标函数,以减少维数。

序列,指定为正整数标量在点之间的间隔。换句话说,该飞跃点集的属性指定的顺序来跳过,而忽略了采取每点的点数。默认飞跃值是0,这对应于服用每一点从序列。

跳跃是一种用来提高点集质量的技术。但是,您必须选择飞跃小心值。许多飞跃值创建的序列不能接触到单位超立方体的大的子超矩形,因此不能成为一致拟随机点集[4]

例子:p = sobolset(__,“飞跃”,50);

例子:p.Leap = 100;

点生成方法中,指定为“标准”要么“格雷码”。的PointOrder属性指定生成Sobol序列点的顺序。当PointOrder被设置为“标准”,生成的点与原始的Sobol序列实现相匹配。当PointOrder被设置为“格雷码”,该序列是由使用索引的格雷码而不是索引本身的实现生成的。

您可以使用“格雷码”选择更快的序列生成,但软件然后改变顺序的生成点。有关格雷码实现的更多信息,请参见[1]

例子:p = sobolset (__“PointOrder”、“graycode”);

例子:p。PointOrder =“标准”;

控制序列置乱的设置,指定为一个结构,包含以下字段:

  • 类型- 包含加扰的名称的字符向量

  • 选项-一个单元格数组的参数值的争夺

使用争夺对象函数来设置加扰。对于有效的争夺类型的列表,请参阅类型输入参数的争夺。如果为给定的点集设置了无效的置乱类型,就会发生错误。

ScrambleMethod属性还接受一个空的矩阵作为值。然后,该软件清除所有扰码,并将属性设置为包含为0x0结构体。

序列中要从点集省略的初始点的数目,指定为正整数标量。

序列的初始点有时表现出不希望的性质。例如,第一点是常(0,0,0,…),这会导致序列不平衡,因为这个点的对应点,(1,1,1,...),从未出现。同样,初始点通常在不同维度之间显示出相关性,而这些相关性在序列的稍后部分消失。

例子:p = sobolset(__“跳过”2 e3);

例子:p。跳过= 1 e3;

此属性是只读的。

序列类型,其上的拟秩点集p是基于的,指定为'Sobol'

对象的功能

生成拟irandom点集
reduceDimensions 降低Sobol点集的维数
争夺 置乱拟随机点集

您还可以使用下面的MATLAB®功能与sobolset对象。该软件将点集对象视为多维点的矩阵。

长度 阵列最大尺寸的长度
大小 数组大小

例子

全部折叠

生成一个三维的Sobol点集,跳过前1000个值,然后保留每101个点。

p = sobolset (3'跳跃',1E3,'飞跃',1E2)
属性:Skip: 1000 Leap: 100 ScrambleMethod: none PointOrder: standard

应用随机线性搅乱结合随机数字移位使用争夺

P =加扰(P,“MatousekAffineOwen”)
P = Sobol点集在3个维(89180190640991分)性状:跳过:1000飞跃:100 ScrambleMethod:MatousekAffineOwen PointOrder:标准

使用生成前四个点

X0 =净(P,4)
X0 =4×30.7601 0.5919 0.9529 0.1795 0.0856 0.0491 0.5488 0.0785 0.8483 0.3882 0.8771 0.8755

通过使用括号索引,每3个点生成第11个点。

X = P(1:3:11,:)
X =4×30.7601 0.5919 0.9529 0.3882 0.8771 0.8755 0.6905 0.4951 0.8464 0.1955 0.5679 0.3192

提示

  • 跳跃飞跃性质对于并行应用是有用的。举例来说,如果你有一个并行计算工具箱™许可,您可以分区分跨序列N不同的工人使用功能labindex。在每一个n,设置跳跃点集的财产n- 1飞跃财产N- 1。下面的代码演示了如何在三个工人们把序列。

    Nworkers = 3;P = sobolset(10,'飞跃',Nworkers-1);spmd(Nworkers) p。跳跃=labindex- 1;%计算点1,4,7…%或分2,5,8 ......或者点3,6,9 ...结束

算法

展开全部

参考文献

[1] Bratley,P.,和B. L.福克斯。“算法659实施Sobol的准随机序列发生器。”关于数学软件的ACM交易。第14卷第1期,1988年,第88-100页。

[2]香,H. S.,和F. J. Hickernell。“算法823:实施加扰的数字序列。”关于数学软件的ACM交易。2003年第29卷第2期,第95-109页。

[3]乔,S,和F. ykuo。关于算法659的评论:实现Sobol的准随机序列生成器。关于数学软件的ACM交易。2003年第29卷第1期,第49-57页。

[4] Kocis,L.,和W. J.白化。“低差异序列的计算的调查。”关于数学软件的ACM交易。1997年第23卷第2期,第266-294页。

关于锚定盒的l2差异。"杂志上的复杂性。第14卷第4期,1998年,527-556页。

介绍了R2008a