|
板凳

楼主 |
发表于 2017-3-19 14:12:28
|
只看该作者
本帖最后由 wxy 于 2017-3-19 14:14 编辑
再请教一下,我把计算出来的距离放入动态数组near,用minval找到距离最小值,如果要把最小值所在的那一行输出,应该怎么改呢,minloc和minval第一次用,[Fortran] 纯文本查看 复制代码 01 | real function distance ( lat 1 , lon 1 , lat 2 , lon 2 ) |
02 | real , parameter :: R = 6378.137 |
03 | real lon 1 , lat 1 , lon 2 , lat 2 |
04 | distance = abs ( R * cos ( lon 1 ) * cos ( lat 1 ) + R * cos ( lon 2 ) * cos ( lat 2 ) ) / sqrt ( sin ( lon 1 ) * * 2 * sin ( lon 2 ) * * 2 + sin ( lat 1 ) * * 2 * sin ( lat 2 ) * * 2 ) |
09 | character ( len = 12 ) :: site |
10 | real :: lat , lon , lat 1 , lon 1 , distance , loc , nearmin |
11 | real , allocatable :: lat 2 ( : ) , lon 2 ( : ) , near ( : ) |
13 | open ( 7 , file = "find_close.txt" ) |
14 | open ( 10 , file = "near.txt" ) |
16 | allocate ( lat 2 ( m ) , lon 2 ( m ) , near ( m ) ) |
19 | Read ( * , '(f7.3)' ) lon |
22 | Read ( * , '(f6.3)' ) lat |
27 | read ( 7 , * ) site , lat 2 ( i ) , lon 2 ( i ) |
28 | write ( 10 , '(a9,2x,f6.2,2x,f7.2,2x,f11.2)' ) site , lat 2 ( i ) , lon 2 ( i ) , distance ( lat 1 , lon 1 , lat 2 ( i ) , lon 2 ( i ) ) |
32 | open ( 10 , file = "near.txt" ) |
34 | read ( 10 , * ) site , lat 2 ( i ) , lon 2 ( i ) , near ( i ) |
35 | nearmin = minval ( near ( : ) ) |
|
|