接近于0是因为计算机模拟的路径不可能正好等于o,因为模拟的路径不是连续的,所以要有一个判断,这里如果w(t)和0的距离的绝对值小于0。001,我就认为是零了。代码在下面,主要思想就是模拟5000条路径,然后把每条路径中使w(t)=0的最大t记录下来,放到一个计数的文件中。
int loop=0 ;
while ( loop <5000) { // simulate 5000 times
double mu = 1, r1 = 0, r2 = 0, time=0;
r1 = gsl_ran_gaussian (r, mu);
for (int i = 0; i < 1000; ++i) {
r2 = r1+ gsl_ran_gaussian (r, mu); // the brown path
if ( fabs (r2- 0) < 0.001) //judgement of zero point
time = i * 0.01 ;
r1 = r2;
}
if (time != 0)
gsl_histogram_increment (h_evec,time); //record largest t make r(t)=0
++loop;
}
[ 本帖最后由 luqi 于 2007-12-24 12:45 AM 编辑 ]