数学建模社区-数学中国

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

作者: flashfishoo    时间: 2012-5-15 21:26
标题: 如何求一群点中最短两点间距离?
散点.png + U  Z% ]# r) j- D# w
帮帮忙啊,就在这些点中求最短两点间距离?(最短的距离)
作者: chengjohn    时间: 2012-5-16 14:49
用佛洛依德算法
作者: zjqylcy    时间: 2012-5-16 16:35
很简单么
9 A- ^2 ]1 @4 V. A$ N0 [  算出所有两点间的距离 估计是个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
图论算法 : n6 c$ b: I; l/ W
FLOYED算法
9 A  m! |; q: G, B& y+ R: g- K) y+ _4 T0 u7 a& @
设A为一个权矩阵 A=(Aij)nxn, dij表示vivj长度 rij 表示 vi到vj点钟的最短路中的一个点的编号; g; X8 I! `8 z' i- m* H  P- U; J
步骤- T& q+ X) z/ g% b

: Z8 Z/ q0 \/ C. e, U* U一:赋初值。 dij=aij, rij=j k=1
/ q1 }( l# V1 [0 N! e) b6 O二: 若 dik+dkj <dij 则 dj=dik+dkj, rij=k
; }. b$ J0 n: E三:若 k=n 则终止 否则领k=n+1$ v' w1 z/ a: B5 S; C0 _

- G3 f# t* m) }; B! N* G3 ^说白了就是,把所有点的距离计算一下 一个一个比较
作者: flashfishoo    时间: 2012-5-20 23:00
以后多多分享 以后多多分享
作者: flashfishoo    时间: 2012-5-21 21:26
谢了哈!谢了哈!谢了哈!
作者: 梦天涯M    时间: 2012-7-26 17:02
data=xlsread('E:\point');, k9 `! p$ J* c
n=size(data);% f7 z; G. @3 o3 ?& V' R) m  y
mindistance=(data(1,1)-data(2,1))^2+(data(1,2)-data(2,2))^2;
2 o: k, o0 {2 qfirst=1;- o3 W" I; }) V) l& T
second=2;
+ w8 N6 M2 k3 `6 U6 ?4 m; {for i=1n(1,1)-1)$ O7 X& I9 s3 ^1 z3 P* V, j3 a
    for j=(i+1):n(1,1)+ _+ O: k# A/ Q6 H
        distance=(data(i,1)-data(j,1))^2+(data(i,2)-data(j,2))^2;( \$ S  ?3 K% E" a
        if (distance<mindistance)
; b7 I+ K( Z1 g6 m            mindistance=distance;, F( e7 o: K  `+ ?0 ?' p6 U
            first=i;4 x( `/ |) B6 R
            second=j;. `, H- u6 h) K$ H9 W6 q
        end
5 C/ q4 k6 b8 H; J    end
2 c6 F' p& C: tend3 g, c+ P4 G2 ^7 `/ Y2 Z+ @
disp(['最短距离为',num2str(sqrt(mindistance)),'     第一个点所在行',num2str(first),'     第二个点所在行',num2str(second)]);3 \. W5 t  Q" D9 M9 Y  [
            ' m  E8 Q( G* d, p
        - ~. L9 v3 F0 y' C  o3 d
        
* X$ x# y; C9 n        
+ h/ |0 i3 y; ]8 V6 M2 `   
作者: 梦天涯M    时间: 2012-7-26 17:04
笑脸是:和(连写的结果。




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