数学建模社区-数学中国

标题: 如何求一群点中最短两点间距离? [打印本页]

作者: flashfishoo    时间: 2012-5-15 21:26
标题: 如何求一群点中最短两点间距离?
散点.png
) \& W" ]; a; @7 q4 I帮帮忙啊,就在这些点中求最短两点间距离?(最短的距离)
作者: chengjohn    时间: 2012-5-16 14:49
用佛洛依德算法
作者: zjqylcy    时间: 2012-5-16 16:35
很简单么
( ~( @0 C1 S" s8 y- Y3 E  算出所有两点间的距离 估计是个15*15的上三角矩阵 然后找到一个最小的就OK了
作者: 88静☆峰☆禅88    时间: 2012-5-16 17:20
好东西很有用
作者: xidianzxc    时间: 2012-5-17 10:13
用弗洛伊德算法吧,很好用的

warshall-floyd.txt

7.46 KB, 下载次数: 4, 下载积分: 体力 -2 点

Warshall_floyd.m

862 Bytes, 下载次数: 0, 下载积分: 体力 -2 点


作者: wssl103050    时间: 2012-5-17 13:02
用图论算法就可以了  
作者: Wait-wait!    时间: 2012-5-20 19:13
图论算法 6 {6 O; }9 B  ]6 J5 U
FLOYED算法
: Q! o+ r! o6 Z1 w4 Q
) V8 i2 z6 K( h' m/ c; f$ q设A为一个权矩阵 A=(Aij)nxn, dij表示vivj长度 rij 表示 vi到vj点钟的最短路中的一个点的编号
+ H' A& s) m: A- |0 M步骤8 }8 c* P1 S* P# N0 u: _# U" ?, c# @- n

% |  O0 P' g1 V0 U3 H9 x一:赋初值。 dij=aij, rij=j k=1
7 H4 _* g$ T) g) U! z# z二: 若 dik+dkj <dij 则 dj=dik+dkj, rij=k; f! I8 P( h4 b: M9 z4 S
三:若 k=n 则终止 否则领k=n+13 H3 x& O% u" C/ F1 q' f; u

+ o& e: u* J  Q, `  @5 _说白了就是,把所有点的距离计算一下 一个一个比较
作者: flashfishoo    时间: 2012-5-20 23:00
以后多多分享 以后多多分享
作者: flashfishoo    时间: 2012-5-21 21:26
谢了哈!谢了哈!谢了哈!
作者: 梦天涯M    时间: 2012-7-26 17:02
data=xlsread('E:\point');
8 P% l/ n/ a$ B% e8 [: j3 q* g9 Sn=size(data);
- q6 |: B  A4 v$ S  Z4 _' qmindistance=(data(1,1)-data(2,1))^2+(data(1,2)-data(2,2))^2;' L0 v7 P- K1 ~: L* {4 k
first=1;
' h) x) E4 {. I; Dsecond=2;
2 I  g2 u! ^  }) G8 f. S* W, ~' Afor i=1n(1,1)-1)! t8 g" K' k$ S& }: ]0 [" R0 I
    for j=(i+1):n(1,1)  m/ I$ g0 B% O8 p1 \
        distance=(data(i,1)-data(j,1))^2+(data(i,2)-data(j,2))^2;+ N* `4 s% a% o: d$ D* A$ _  q; y
        if (distance<mindistance)% F) R1 C; m' C* }' P
            mindistance=distance;
8 k: S7 H& s- `% b! _            first=i;
! ~: N8 B: u: H1 L. Q, A            second=j;
: ?, e! j$ [3 {% Q        end+ M/ W* c. \# L  j7 o
    end* w: y2 O+ x$ K) G; Q1 @
end
- D" w; x; P8 ^0 a5 w) }disp(['最短距离为',num2str(sqrt(mindistance)),'     第一个点所在行',num2str(first),'     第二个点所在行',num2str(second)]);
0 C5 c7 H" A+ F" X8 n" }% c8 G            
  J2 h" n! {5 j9 }( U        
  f! d  z6 ?* J        ; G  b) [! t; @% c. B: B
        0 u4 X4 X* K7 G3 a: [! a
   
作者: 梦天涯M    时间: 2012-7-26 17:04
笑脸是:和(连写的结果。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5