- 积分
- 3
- 注册时间
- 2010-1-12
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2010-8-29 10:18:57
|
显示全部楼层
来自 江苏南京
好的谢谢版主:- {dltemp} = Import[FileNameJoin[{NotebookDirectory[], "coordinate.xls"}]]; {drtemp} = Import[FileNameJoin[{NotebookDirectory[], "relation.xls"}]]; lend = Length[dltemp]; lenr = Length[drtemp]; dtemp = Table[If[i == j, 0, \[Infinity]], {i, 1, lend}, {j, 1, lend}]; For[j = 1, j <= lenr, j++, dtemp[[drtemp[[j, 1]], drtemp[[j, 2]]]] = dtemp[[drtemp[[j, 2]], drtemp[[j, 1]]]] = \[Sqrt]((dltemp[[drtemp[[j, 1]], 1]] - dltemp[[drtemp[[j, 2]], 1]])^2 + (dltemp[[drtemp[[j, 1]], 2]] - dltemp[[drtemp[[j, 2]], 2]])^2); ]; floyd[x_] := Module[{n, i, j, k, d, r, result}, n = Length[x]; r = Table[j, {i, 1, n}, {j, 1, n}]; d = x; For[k = 1, k <= n, k++, For[i = 1, i <= n, i++, For[j = 1, j <= n, j++, If[d[[i, j]] > d[[i, k]] + d[[k, j]], d[[i, j]] = d[[i, k]] + d[[k, j]]; r[[i, j]] = k]; ]; ]; ]; result = {d, r} ]; Export[FileNameJoin[{NotebookDirectory[], "distanceread1-2.txt"}], d]
复制代码 relation.xls存的是相邻点的编号,coordinate.xls存的是每个编号点的坐标。三个源文件见附件
由于没办法直接上传xls文件,我把coordinate.xls和relation.xls改了后缀名,麻烦用的时候再改回~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|