我正在尝试寻找一种在x
,y
平面中选择随机晶格点的方法。建议使用以下代码:
//////////////////////
// Pick random site //
//////////////////////
int m=int(rand()*1.0/RAND_MAX*L*L);
int mx=m%L; //x coordinate of m site
int my=int(m*1.0/L); // y coordinate of m site
换句话说:m
是0
和L^2
之间的随机整数。 x
坐标是m mod L,它是0
和L
之间的数字。 y
被设置为最接近m/L
的整数,它是0
和L
之间的整数。
这似乎可行,但是在L^2
运行中,我们是否更可能搜索x
,y
系统的一部分?谁能解释为什么?是否还有另一种方法可以在均匀采样空间的x
,y
平面上拾取随机坐标点?
答案 0 :(得分:0)