hehairen 发表于 2009-4-21 21:29

求微观粒子运动程式

一个matlab编程的小问题。关于随机数的。一个看起来很小的问题,我请教了好几个人都都搞不定。只好到这里求助高手,跪求各位高手指点一下小弟。
    我是在做模拟微观粒子运动的,要随机生成一些粒子,粒子是有大小的,可是直接用matlab生成的二维随机坐标有些距离太近,一旦加上粒子半径后看到的粒子有的就重叠在一起了。这是不符合实际情况也是我的程序里所不容许的。所以就要求这些点两两之间的距离不能小于某一个固定值。
    例如区域大小21微米乘以7微米,粒子半径0.5微米,要求随机生成40个粒子,粒子两两之间距离不得小于直径1微米,诚挚的请教这个程序该如何写?

[ 本帖最后由 ChaChing 于 2009-4-22 07:42 编辑 ]

hehairen 发表于 2009-4-22 12:27

求助各位高手关于随机数的问题???

一个看起来很小的问题,我请教了好几个人都都搞不定。只好到这里求助高手,跪求各位高手指点一下啊

我需要在21乘7的平面区域内生成40个随机点的坐标,每2个点之间的距离不小于1。如果直接用rand命令,生成的随机点坐标有些距离会太近。怎样才能既保证颗粒个数,又保证颗粒间距较大啊?

hehairen 发表于 2009-4-22 18:06

自己顶一下啊

yufeng 发表于 2009-4-23 08:30

可以分别xy按随机数生成,同时满足你的约束,这个可以在满足时候,显示结果,不满足重新附值
页: [1]
查看完整版本: 求微观粒子运动程式