- 积分
- 9866
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-8-14
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 穿云搅浪 于 2014-4-21 12:26 编辑
大家帮帮忙啊,检查了好长时间,不知道哪里出问题了,各位好心人帮帮我吧!!
program main
parameter(nx=30,ny=22)
external corr
real slpyear(nx,ny,23),indexncep(23),corrslp(nx,ny)
!读入要素场
open(100,file='E:/project/ncep/slpyear.grd',form='binary')
read(100) (((slpyear(i,j,n),i=1,nx),j=1,ny),n=1,23)
close(100)
!读入季风指数
open(101,file='E:/project/ncep/indexncep.txt')
read(101,*) (indexncep(n),n=1,23)
close(101)
!得到相关系数
do j=1,ny
do i=1,nx
corrslp(i,j)=corr(indexncep(:),slpyear(i,j,:),23)
end do
end do
!输出指数
open(200,file='E:/project/ncep/corrslp.grd',form='binary')
write(200) ((corrslp(i,j),i=1,nx),j=1,ny)
close(200)
end program
!计算相关系数函数
function corr(x,y,m)
implicit none
integer i,m
real x(m),y(m),corr,sum1,sum2,sum3,u,d
sum1=0
sum2=0
sum3=0
do i=1,m
sum1=sum1+x(i)**2
sum2=sum2+y(i)**2
sum3=sum3+x(i)*y(i)
end do
u=sum3-m*(sum(x)/m)*(sum(y)/m)
d=sqrt(abs((sum1-(sum(x)**2)/m)*(sum2-(sum(y)**2)/m)))
corr=u/d
end function corr
|
|