数学建模社区-数学中国

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

作者: flashfishoo    时间: 2012-5-15 21:26
标题: 如何求一群点中最短两点间距离?
散点.png
8 C9 K4 t+ v+ w; ?帮帮忙啊,就在这些点中求最短两点间距离?(最短的距离)
作者: chengjohn    时间: 2012-5-16 14:49
用佛洛依德算法
作者: zjqylcy    时间: 2012-5-16 16:35
很简单么 0 n9 W% I; B, S( W9 d6 L. g
  算出所有两点间的距离 估计是个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
图论算法 . _' Y" m  ]  P% ^7 I  r( n, e# h
FLOYED算法5 Z4 p" t5 h1 }2 N% S. r

9 m  R( o1 }& |; u, \2 C* h设A为一个权矩阵 A=(Aij)nxn, dij表示vivj长度 rij 表示 vi到vj点钟的最短路中的一个点的编号
. ]' H6 @' M0 L4 v步骤
- H6 i4 K9 M3 V+ ?
" _  k1 t2 p. U6 J) [一:赋初值。 dij=aij, rij=j k=1
% {; w. W) O; }/ {' N7 H二: 若 dik+dkj <dij 则 dj=dik+dkj, rij=k
* T/ v, B1 Y' ]6 o4 ~三:若 k=n 则终止 否则领k=n+1  V6 p; e: H. _- x8 V

$ \3 N& V4 t& f; ^6 @说白了就是,把所有点的距离计算一下 一个一个比较
作者: flashfishoo    时间: 2012-5-20 23:00
以后多多分享 以后多多分享
作者: flashfishoo    时间: 2012-5-21 21:26
谢了哈!谢了哈!谢了哈!
作者: 梦天涯M    时间: 2012-7-26 17:02
data=xlsread('E:\point');
7 R; E+ B/ {9 E$ s  E: Y+ Ln=size(data);: x' r7 c5 n; d# ^: X: O
mindistance=(data(1,1)-data(2,1))^2+(data(1,2)-data(2,2))^2;& L0 k4 O9 G! {/ r/ S
first=1;& f  V1 J1 |' `+ w
second=2;3 I* f  @1 y9 ]: e; i" j- l
for i=1n(1,1)-1)
! U/ q/ m5 F8 S6 s    for j=(i+1):n(1,1)1 f5 R/ b/ z3 ?( ?$ n
        distance=(data(i,1)-data(j,1))^2+(data(i,2)-data(j,2))^2;3 N/ k2 c! n0 Z0 M  k. q. Q% F* Q2 h
        if (distance<mindistance)0 i9 _6 W# \( D$ p% m
            mindistance=distance;
: G8 I# A3 s0 `! e& t            first=i;
" d6 E8 y. L8 @3 Q: g; C! J            second=j;
3 q' f: E6 X; l# M7 j5 \; T        end
8 s) e4 W9 J6 K& E" U1 \4 s    end+ E/ k: ~2 K6 p$ z# j
end
0 U; a8 @4 R) f: R1 T) [& D: pdisp(['最短距离为',num2str(sqrt(mindistance)),'     第一个点所在行',num2str(first),'     第二个点所在行',num2str(second)]);+ G) }8 k, o' j) i
            $ r+ g& o: Y+ j3 j( E& q
        7 I, H7 q! d& q2 s1 q
        
' P7 R1 {/ R! k) i0 f- p# z        . g5 }( e2 l- Q  Y( h
   
作者: 梦天涯M    时间: 2012-7-26 17:04
笑脸是:和(连写的结果。




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