lzq8281 发表于 2006-10-31 19:54

求助大哥大姐:如何确定两点距离

在rand函数产生的随机点中,如何保证任意两点之间的距离大于某一个值比如0.2
程序如下:
  clear
s=rand(2,10)
s =
Columns 1 through 8
    0.0579    0.8132    0.1389    0.1987    0.2722    0.0153    0.4451    0.4660
    0.3529    0.0099    0.2028    0.6038    0.1988    0.7468    0.9318    0.4186
Columns 9 through 10
    0.8462    0.2026
    0.5252    0.6721
plot(,'.')

q214468952 发表于 2006-11-1 08:07

我用过求50到100的随机数。做法是50+50*rand(),好象和楼主的问题有点像。

lzq8281 发表于 2006-11-1 10:30

麻烦这位兄弟指点一下,我希望这些随机点之间的间距大于0.2,排除小于0.2的点

thounder 发表于 2006-11-1 10:38

能不能加一个限定条件?
加一个计算两点距离的函数 Sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))?

eight 发表于 2006-11-1 10:48

原帖由 lzq8281 于 2006-10-31 19:54 发表
在rand函数产生的随机点中,如何保证任意两点之间的距离大于某一个值比如0.2
程序如下:
  clear
s=rand(2,10)
s =
Columns 1 through 8
    0.0579    0.8132    0.1389    0.1987    0.2722    0 ...


楼主到底是希望从随机点序列中选择满足条件的所有点,还是希望生成满足条件、个数是预先给定的随机点序列?

lzq8281 发表于 2006-11-1 11:43

原帖由 thounder 于 2006-11-1 10:38 发表
能不能加一个限定条件?
加一个计算两点距离的函数 Sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))?
我这个约束加上过,但是实现不了,不会排除小于0.2的点,可能我加的不对

lzq8281 发表于 2006-11-1 11:47

原帖由 eight 于 2006-11-1 10:48 发表



楼主到底是希望从随机点序列中选择满足条件的所有点,还是希望生成满足条件、个数是预先给定的随机点序列?
希望从随机点序列中选择满足条件的所有点,能不能实现呀?

eight 发表于 2006-11-1 12:41

原帖由 lzq8281 于 2006-11-1 11:47 发表

希望从随机点序列中选择满足条件的所有点,能不能实现呀?

s = rand(10,2);
a = squareform(pdist(s) > 0.2);

lzq8281 发表于 2006-11-1 14:35

回复 #8 eight 的帖子

非常感谢,我基本明白了
页: [1]
查看完整版本: 求助大哥大姐:如何确定两点距离