数学建模社区-数学中国

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

作者: flashfishoo    时间: 2012-5-15 21:26
标题: 如何求一群点中最短两点间距离?
散点.png - y  L: k- U$ Y0 B5 O6 \
帮帮忙啊,就在这些点中求最短两点间距离?(最短的距离)
作者: chengjohn    时间: 2012-5-16 14:49
用佛洛依德算法
作者: zjqylcy    时间: 2012-5-16 16:35
很简单么 0 B" m1 t0 A) o8 o8 j
  算出所有两点间的距离 估计是个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
图论算法
7 E" K" ?" d& L/ YFLOYED算法
3 E6 l# C4 H7 a( ?- y0 j1 @; \/ ?. @9 g5 Y
设A为一个权矩阵 A=(Aij)nxn, dij表示vivj长度 rij 表示 vi到vj点钟的最短路中的一个点的编号% @7 q( W3 x2 z8 I' t  E& t
步骤% ?# w2 v6 u- T4 |$ j5 B. ]* G

2 p! J5 Z' Y4 z2 `8 |6 [一:赋初值。 dij=aij, rij=j k=1
" A7 F4 O( G2 B  w# ?二: 若 dik+dkj <dij 则 dj=dik+dkj, rij=k
+ v' E; H- s7 w) D0 P7 s+ r' A三:若 k=n 则终止 否则领k=n+1& j" y$ @2 h+ P3 J: y
# |( Z  v: G! W0 u, K4 e& X: |
说白了就是,把所有点的距离计算一下 一个一个比较
作者: flashfishoo    时间: 2012-5-20 23:00
以后多多分享 以后多多分享
作者: flashfishoo    时间: 2012-5-21 21:26
谢了哈!谢了哈!谢了哈!
作者: 梦天涯M    时间: 2012-7-26 17:02
data=xlsread('E:\point');
; N3 g( E& r0 Y2 S$ _$ gn=size(data);# n7 V# T, d  ~  t4 c
mindistance=(data(1,1)-data(2,1))^2+(data(1,2)-data(2,2))^2;
: a3 z9 c; |# m, G4 efirst=1;
* G& [( }7 i$ X% v& x4 F7 dsecond=2;% P# x5 X( I7 C. G
for i=1n(1,1)-1)/ c2 f: M2 V3 M' y7 s
    for j=(i+1):n(1,1)
# \1 U0 m+ G2 M2 L- m6 `$ h; J        distance=(data(i,1)-data(j,1))^2+(data(i,2)-data(j,2))^2;
9 `( z4 h# D2 |7 d6 S( h5 N        if (distance<mindistance)7 i0 A2 S! _; l) N9 ]" u
            mindistance=distance;
  s7 }5 h3 w3 w            first=i;; F3 R, u  z0 N7 h2 T* V  v
            second=j;
* `. L8 _* Y' c5 P# y1 o+ G        end
( \/ a) I# `2 m" m) p9 U& o7 p    end8 b1 ]; ~" {8 G7 }, p: d* W
end  h: w9 A4 i7 t" [3 G8 ]1 Q$ L
disp(['最短距离为',num2str(sqrt(mindistance)),'     第一个点所在行',num2str(first),'     第二个点所在行',num2str(second)]);) K- S8 Q% g$ z! K
            - Q2 @+ j8 _! y  k) K
        
' D; n3 G- F& z$ `        , s6 d: F/ N* w! H( I; s
        
$ D1 t2 V- N/ J) T9 h   
作者: 梦天涯M    时间: 2012-7-26 17:04
笑脸是:和(连写的结果。




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