Re: [问题] 找出两两距离

楼主: PTT0207445 (我是乡民)   2019-01-17 07:54:43
(已知27取4=17550)
program main
implicit none
type point
real(8),dimension(3) :: coordinate
end type point
type(point),dimension(27) :: label
real(8),dimension(3) :: vector
integer(4),dimension(4,17550) :: list
integer(4) :: i27,j27,k27,l27,N,i,j
real(8),dimension(4,4) :: distance
real :: r
do i27=1,27
do i=1,3
call random_number(r)
label(i27)%coordinate(i)=r
enddo
enddo
N=0
do i27=1,27
do j27=i27+1,27
do k27=j27+1,27
do l27=k27+1,27
N=N+1
list(:,N)=(/i27,j27,k27,l27/)
enddo
enddo
enddo
enddo
do N=1,17550
do i=1,4
do j=1,4
i27=list(i,N)
j27=list(j,N)
vector(:)=label(i27)%coordinate(:)-label(j27)%coordinate(:)
distance(i,j)=dsqrt(dot_product(vector,vector))
enddo
enddo
enddo
end program main
※ 引述《rosesellshoe (罗斯卖鞋)》之铭言:
: 现在有27个编号,想要任选出4个编号(例如1.2.3.4、1.2.3.5...),
: 每一个编号有各自的座标,请问我要如何写出一个程式可以帮我
: 求出两两之间各自的距离?
: 目前的想法是读两个input,一个是1-27之座标档,
: 另一个为c27取4的所有编号结果,但不知道怎么让这两个档案有连结...

Links booklink

Contact Us: admin [ a t ] ucptt.com