主题:跪求各位大神帮帮小弟
我是做湿地生态方面研究的,但一些数据处理需要用到一个前辈编写的cvf程序来计算。最近在处理数据时,一直会出现一些我解决不了的错误,恳请诸位大神帮忙,小弟感激不尽。
程序代码如下:
program exam
implicit none
Integer I,J,N,p
parameter(p=1000)
real*8 XX(p),YY(p),d,II(p,p),ww(p,p),pi,dx1,dx2,dy1,dy2,s,sita,counter,aa,bb,sum,d1
open(1,file="output.txt")
open(2,file="shuju1144.txt") !因为此处数据量为1144,导致程序无法运行;将第四行中的1000改为2000,出现run-time error M6201: MATH错误
pi=4.d0*atan(1.D0)
s=360.d0 !圆周等分数
bb=50.d0 !矩形的长
aa=50.d0 !矩形的宽
!读入点的数据
read(2,*) n
do i=1,n
read(2,*) XX(i),YY(i)
end do
do i=1,n
print*,xx(i),yy(i)
end do
do d1=0.0,25,1.25
do I=1,N,1
do J=1,N,1
if(J/=I)then
d=sqrt((XX(i)-XX(j))**2+(YY(i)-YY(j))**2)
If(d<=d1) then
II(I,J)=1.0
end if
counter=0.0
do sita=0.0,2.0*pi*(1.0-1.0/s),2.0*pi/s
if(XX(I)+d*cos(sita)>=0.0.and.XX(I)+d*cos(sita)<=bb.and.yy(I)+d*sin(sita)>=0.0.and.yy(I)+d*sin(sita)<=aa) then
counter=counter+1.0
end if
end do
WW(I,J)=counter/s
end if
end do
end do
sum=0.0
sum=sum+II(I,J)/WW(I,J)
do I=1,N,1
do J=1,N,1
if(J/=I) then
end if
end do
end do
write(1,98) ((aa*bb*sum/(n**2))/pi)**0.5-d1 !d1,aa*bb*sum/(n**2)
98 format(1f7.3)
end do
close(1)
close(2)
end