- 积分
- 152
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-3-20
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
代码是这样的,求线性系数
program main
implicit none
integer,parameter ::a=407,b=32
integer :: i,j,year(a,b),yr(b)
real :: lat(a),lon(a),raw(b),norm(b),wind(a,b),relation
character*5 station(a)
real sfenzi,sfenmu1,sfenmu2,s1,s2
real amean,bmean
open(10, file="C:\Users\Lsz\Desktop\datasets\Observation\407stations.txt",status="old")
do i=1,a
read(10,*)station(i),lat(i),lon(i)
end do
close(10)
do i=1,a
open(11,file="C:\Users\Lsz\Desktop\datasets\Average(new)\summer\yearly\300hPa\"//station(i)//".txt",status="old")
do j=1,b
read(11,*)year(i,j),wind(i,j) !stid(i,j),
end do
close(11)
end do
open(12, file="C:\Users\Lsz\Desktop\datasets\Average(new)\summer\EASM.txt",status="old")
do j=1,b
read(12,*)yr(j),raw(j),norm(j)
end do
close(12)
s2=0.00
bmean=0
do j=1,b
s2=s2+raw(j)
bmean=s2/b
enddo
open(13,file="C:\Users\Lsz\Desktop\300!!!!!!!.txt",status="unknown")
do i=1,a
s1=0.00
sfenzi=0.00
sfenmu1=0.00
sfenmu2=0.00
amean=0
do j=1,32
s1=s1+wind(i,j)
amean=s1/32
sfenzi=sfenzi+(wind(i,j)-amean)*(raw(j)-bmean)
sfenmu1=sfenmu1+(wind(i,j)-amean)**2
sfenmu2=sfenmu2+(raw(j)-bmean)**2
end do
relation=sfenzi/sqrt(sfenmu1*sfenmu2)
write(13,100)relation !station(i),lat(i),lon(i),
enddo
100 format(f10.5) !i5,f8.2,f8.2,
end program main
是这样的,所求的sfenzi,sfenmu1,sfenmu2中所用的amean应该是32次循环后最终的amean,而现在是每一层的amean都用上了,但是循环体内部又不能同时出现两个循环,我该怎么办?主要牵扯到二维数组数据文件的提取,所以挺麻烦的,求大神解答下!
|
|