如果我阅读了如何构造Halton quasi-random point set的文档,它提到可以“跳过”第一个值,然后保留“leap”值。
不明白“跳过”和“跳跃”到底是什么意思。
我尝试过以下几种方法:
>> p = haltonset(1,'Skip',50,'Leap',10); d = haltonset(1,'Skip',51,'Leap',9);
>> p(2:10), d(1:9)
ans =
0.7344
0.0703
0.7891
0.4766
0.5859
0.1797
0.9922
0.3164
0.6602
ans =
0.7969
0.7344
0.8828
0.5391
0.8516
0.6484
0.9609
0.6172
0.7539
>> p(2:10) == d(1:9)
ans =
0
0
0
0
0
0
0
0
0我认为这可能会将10个值保存到p中,将9个值保存到d中。也认为d将具有与p相同的值。但事实并非如此。
然后我测试了“leap”是否与生成向量的正常方法相同- ex:(1:leap:10)
>> p = haltonset(1,'Skip',50,'Leap',1); d = haltonset(1,'Skip',50,'Leap',2);
>> p(1:2:10)==d(1:5)
ans =
1
0
0
0
0
>> p = haltonset(1,'Skip',0,'Leap',1); d = haltonset(1,'Skip',0,'Leap',2);
>> p(1:2:10)==d(1:5)
ans =
1
0
0
0
0但事实似乎并非如此..
谁能给出一个简单的英语解释如何解释‘跳过’和‘跳跃’变量。
发布于 2011-10-03 03:59:01
我发现下面的描述非常清楚[引用此documentation page]:
想象一个简单的一维序列,它产生从1到10的整数。这是基本序列,前三个点是1,2,3:

现在看一看Scramble、Leap和Skip是如何协同工作的:



编辑:
让我举一个例子来说明:
%# create 1D sequences (x: picked, .: ignored)
p00 = haltonset(1,'Skip',0,'Leap',0); %# xxxxxxxxxxxxxxx
p50 = haltonset(1,'Skip',5,'Leap',0); %# .....xxxxxxxxxx
p02 = haltonset(1,'Skip',0,'Leap',2); %# x..x..x..x..x..
p52 = haltonset(1,'Skip',5,'Leap',2); %# .....x..x..x..x
%# each pair of these are equal
[p50(1:10) p00(6:15)] %# skip vs. noskip
[p02(1:5) p00(1:3:13)] %# leap vs. noleap
[p52(1:4) p00(6:3:15)] %# skip+leap vs. noskip+noleap一般而言:
skip = 50;
leap = 10;
p00 = haltonset(1,'Skip',0,'Leap',0);
p = haltonset(1,'Skip',skip,'Leap',leap);
num = 9;
[p(1:num) p00(skip+1:leap+1:num*leap+num-leap+skip)]https://stackoverflow.com/questions/7627560
复制相似问题