24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2784  |  回复: 34
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

阿黛拉

银虫 (小有名气)

[交流] 【求助】如何写FORTRAN程序实现求平均最近邻距离已有2人参与

请问会用FORTRAN写程序的高手:比如我有5个原子的图形坐标和最近邻距离的表格如下               
                   1 # # #  2¥ 3¥ 4¥ 5¥
                   2 # # #  1¥ 3¥ 4¥ 5¥
                   3 # # #  1¥ 2¥ 4¥ 5¥
                   4 # # #  1¥ 2¥ 3¥ 5¥
                   5 # # #  1¥ 2¥ 3¥ 4¥
#代表原子坐标,¥代表原子与最近邻原子的距离(这里的最近邻我写的是除了本身所有的,当然也有情况最近邻并不是除了本身剩余的原子)请问我如何通过程序实现平均最近邻距离的计算??
我想要的是平均距离,也就是所有的¥加和平均。 我这举得是5个的,也可以手动实现,但是我想处理的是60  70 80 诸如这种的,这样的话最近邻可能就得是几百个数,请问如何实现?

实例如下(原格式如第二三行,下面的在复制粘贴时出现了换行,15-38是正常的格式)
ion  position               nearest neighbor table
   1  0.332  0.445  0.489-  25 2.79  21 2.80  20 2.80  31 2.80  35 2.80  28  2.80  
                                         10 2.89  12 2.89 14 2.90
   2  0.501  0.393  0.386-  20 2.79  29 2.79  16 2.80  38 2.80  30 2.80  28 2.80  10 2.89  14 2.90
                             9 2.90
   3  0.610  0.411  0.558-  37 2.79  34 2.80  17 2.80  16 2.80  30 2.80  24 2.80  14 2.89  13 2.90
                             9 2.90
   4  0.645  0.608  0.515-  17 2.80  36 2.80  22 2.80  34 2.80  32 2.80  19 2.80   9 2.90  13 2.90
                            11 2.90
   5  0.366  0.641  0.446-  31 2.80  26 2.80  23 2.80  18 2.80  33 2.80  25 2.80  11 2.88  10 2.89
                            12 2.89
   6  0.441  0.463  0.661-  35 2.79  37 2.80  21 2.80  27 2.80  15 2.80  24 2.80  12 2.89  14 2.89
                            13 2.90
   7  0.535  0.590  0.344-  38 2.79  26 2.80  32 2.80  18 2.80  29 2.80  19 2.80   9 2.89  10 2.89
                            11 2.89
   8  0.476  0.660  0.618-  23 2.79  22 2.80  15 2.80  36 2.80  33 2.80  27 2.80  12 2.90  11 2.90
                            13 2.90
   9  0.568  0.502  0.454-  11 2.72  13 2.72  10 2.72  14 2.72  19 2.83  34 2.83  16 2.83  38 2.84
                             7 2.89   4 2.90   2 2.90   3 2.90
  10  0.437  0.518  0.421-   9 2.72  11 2.72  14 2.72  12 2.73  26 2.83  28 2.83  29 2.83  25 2.84
                             1 2.89   2 2.89   5 2.89   7 2.89
  11  0.504  0.619  0.482-   9 2.72  12 2.72  13 2.72  10 2.72  22 2.83  32 2.83  18 2.83  33 2.83
                             5 2.88   7 2.89   8 2.90   4 2.90
  12  0.409  0.551  0.551-  13 2.72  11 2.72  14 2.72  10 2.73  27 2.83  21 2.83  23 2.83  31 2.83
                             1 2.89   5 2.89   6 2.89   8 2.90
  13  0.540  0.535  0.583-  14 2.72  12 2.72   9 2.72  11 2.72  15 2.83  17 2.83  37 2.83  36 2.83
                             4 2.90   3 2.90   8 2.90   6 2.90
  14  0.472  0.434  0.522-  13 2.72  10 2.72   9 2.72  12 2.72  24 2.83  30 2.83  20 2.83  35 2.83
                             3 2.89   6 2.89   2 2.90   1 2.90
  15  0.512  0.569  0.717-  27 2.79  36 2.79  37 2.79   8 2.80   6 2.80  13 2.83
  16  0.635  0.381  0.424-  34 2.79  38 2.80  30 2.80   2 2.80   3 2.80   9 2.83
  17  0.676  0.519  0.618-  34 2.79  36 2.80  37 2.80   4 2.80   3 2.80  13 2.83
  18  0.468  0.708  0.378-  33 2.79  32 2.80  26 2.80   5 2.80   7 2.80  11 2.83
  19  0.668  0.571  0.382-  32 2.79  34 2.79  38 2.79   7 2.80   4 2.80   9 2.83
  20  0.402  0.328  0.460-  35 2.79  28 2.79   2 2.79  30 2.80   1 2.80  14 2.83
  21  0.308  0.481  0.622-  27 2.79  31 2.79  35 2.80   1 2.80   6 2.80  12 2.83
  22  0.574  0.725  0.544-  36 2.79  32 2.79  33 2.80   8 2.80   4 2.80  11 2.83
  23  0.341  0.672  0.581-  31 2.79   8 2.79  33 2.79  27 2.80   5 2.80  12 2.83
  24  0.508  0.344  0.626-  30 2.79  35 2.80  37 2.80   3 2.80   6 2.80  14 2.83
  25  0.300  0.534  0.386-  26 2.79   1 2.79  28 2.79  31 2.80   5 2.80  10 2.84
  26  0.399  0.604  0.316-  25 2.79  29 2.79   7 2.80  18 2.80   5 2.80  10 2.83
  27  0.378  0.585  0.684-  15 2.79  21 2.79  23 2.80   6 2.80   8 2.80  12 2.83
  28  0.365  0.414  0.357-  29 2.79  20 2.79  25 2.79   2 2.80   1 2.80  10 2.83
  29  0.464  0.484  0.287-  28 2.79  26 2.79  38 2.79   2 2.79   7 2.80  10 2.83
  30  0.537  0.311  0.494-  24 2.79  16 2.80  20 2.80   2 2.80   3 2.80  14 2.83
  31  0.272  0.568  0.518-  23 2.79  21 2.79   5 2.80  25 2.80   1 2.80  12 2.83
  32  0.603  0.692  0.411-  19 2.79  22 2.79  18 2.80   7 2.80   4 2.80  11 2.83
  33  0.440  0.742  0.510-  23 2.79  18 2.79  22 2.80   5 2.80   8 2.80  11 2.83
  34  0.705  0.485  0.486-  16 2.79  19 2.79  17 2.79   3 2.80   4 2.80   9 2.83
  35  0.373  0.361  0.593-  20 2.79   6 2.79  21 2.80  24 2.80   1 2.80  14 2.83
  36  0.611  0.639  0.647-  22 2.79  15 2.79  17 2.80   4 2.80   8 2.80  13 2.83
  37  0.577  0.449  0.688-   3 2.79  15 2.79  17 2.80  24 2.80   6 2.80  13 2.83
  38  0.599  0.468  0.320-   7 2.79  29 2.79  19 2.79  16 2.80   2 2.80   9 2.84

[ Last edited by 阿黛拉 on 2011-2-22 at 09:10 ]
回复此楼

» 收录本帖的淘帖专辑推荐

fortran 原子距离

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-02-22 02:55:14:
你的问题是如何把这些数都读入,呵呵……

另外,你的每个原子就一行,还是有很多行?

你的数据有相应的格式规范吗?

5楼2011-02-22 11:15:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 35 个回答

阿黛拉

银虫 (小有名气)


有能指点一二的本人不胜感激!
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
2楼2011-02-22 09:40:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3): 谢谢参与应助! 2011-02-27 15:10:56

你的问题是如何把这些数都读入,呵呵……

另外,你的每个原子就一行,还是有很多行?

你的数据有相应的格式规范吗?
3楼2011-02-22 10:55:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-02-22 02:55:14:
你的问题是如何把这些数都读入,呵呵……

另外,你的每个原子就一行,还是有很多行?

你的数据有相应的格式规范吗?

非常感谢您的回复。我的数据格式如下。请问如何才能实现将2.78   2.89 这样的数读出来,因为中间夹杂者整数。我学过C语言,对于C的简单的程序还是明白什么意思的。没有学过编程,所以在处理问题方面不知如何下手?FORTRAN编程听别人讲过一点,但是没有系统的学过。如果您能帮写一下,那是更好或者你提供这方面的相关知识,我自己摸索也可以。总之非常感谢您。我现在也就是针对问题解决问题。没有大量的时间系统的学习。



进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
4楼2011-02-22 11:13:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见