gpt4 book ai didi

c++ - 实现 4 维 Halton 序列

转载 作者:行者123 更新时间:2023-11-28 01:51:59 25 4
gpt4 key购买 nike

可以找到 Halton 序列的伪代码 here .我编写了一个执行此操作的函数,但出于某种原因检查 4 维 Halton 序列的 Matlab 结果,我的数字不匹配,我不确定为什么。这是我的代码:

double Halton_Seq(int index, double base){
double f = 1, r;
while(index > 0){
f = f/base;
r = r + f*(fmod(index,base));
index = index/base;
}
return r;
}

这是我得到的前 10 个结果:

1
0.25
0.5
0.75
0.0625
0.3125
0.5625
0.8125
0.125
0.375

这是 MATLAB 获得的前 10 个结果:

  Columns 1 through 2

0 0.5000

Columns 3 through 4

0.2500 0.7500

Columns 5 through 6

0.1250 0.6250

Columns 7 through 8

0.3750 0.8750

Columns 9 through 10

0.0625 0.5625

最佳答案

你忘记在第 2 行初始化 r

r = 0;

double Halton_Seq(int index, int base){
double f = 1, r = 0;
while(index > 0){
f = f/base;
r = r + f* (index% base);
index = index/base;
}
return r;
}
// Output for 10 (base 2)
0.000000
0.500000
0.250000
0.750000
0.125000
0.625000
0.375000
0.875000
0.062500
0.562500

关于c++ - 实现 4 维 Halton 序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42661304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com