- 积分
- 58
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-4-28
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 捌布 于 2016-7-20 09:20 编辑
运行结果出现这个,怎么解决,程序如下:
parameter (n1=7,n2=5,ix=480,iy=241)
real x(ix,iy,n1),y(ix,iy,n2),tt(ix,iy),x1(n1),x2(n2)
real xave01(ix,iy),yave02(ix,iy),xycha(ix,iy)
open(10,file='D:\zhou\z700mbspringmean7913binweaker.bin',form='binary')
do it=1,n1
read(10)((x(i,j,it),i=1,ix),j=1,iy)
enddo
close(10)
open(11,file='D:\zhou\z700mbspringmean7913binstronger.bin',form='binary')
do it=1,n2
read(11)((y(i,j,it),i=1,ix),j=1,iy)
enddo
close(11)
do i=1,ix
do j=1,iy
do it=1,n1
x1(it)=x(i,j,it)
enddo
do it=1,n2
x2(it)=y(i,j,it)
enddo
call T_test_cha(n1,n2,x1,x2,t)
tt(i,j)=t
enddo
enddo
open(12,file='D:\zhou\test.grd',form='binary')
write(12)((tt(i,j),i=1,ix),j=1,iy)
close(12)
do i=1,ix
do j=1,iy
do it=1,n1
xave01(i,j)=xave01(i,j)+x(i,j,it)
enddo
do it=1,n2
yave02(i,j)=yave02(i,j)+y(i,j,it)
enddo
enddo
enddo
do i=1,ix
do j=1,iy
xave01(i,j)=xave01(i,j)/(n1*1.0)
yave02(i,j)=yave02(i,j)/(n2*1.0)
enddo
enddo
do i=1,ix
do j=1,iy
xycha(i,j)=yave02(i,j)-xave01(i,j)
enddo
enddo
open(55,file='D:\zhou\stronger_weaker.grd',form='binary')
write(55)((xycha(i,j),i=1,ix),j=1,iy)
End
subroutine T_test_cha(n1,n2,X1,X2,t)
implicit none
integer,intent(in)::n1,n2
real,dimension(n1),intent(in)::X1,X2
real,intent(out)::t
real::ave1,ave2,var1,var2,Sp
call avevar(n1,X1,ave1,var1)
call avevar(n2,X2,ave2,var2)
Sp=((N1-1)*VAR1+(N2-1)*VAR2)/(N1+N2-2)
Sp=SQRT(Sp)
t=(ave2-ave1)/(Sp*(sqrt(1.0/n1+1.0/n2)))
end
subroutine AveVar(n,X,ave,var)
implicit none
integer,intent(in)::n
real,dimension(n)::X(n)
real,intent(out)::ave,var
integer::i
ave=0.0
do i=1,n
ave=ave+X(i)/float(n)
enddo
var=0.0
do i=1,n
var=var+(X(i)-ave)*(X(i)-ave)/float(n)
enddo
end
请大家帮忙看看,为什么,谢谢了
|
|