主题:fortran读入文件时出错
错误提示:Error with curfit: 10
以下是程序:
program lsspline
implicit none
integer(4), parameter :: ni=513,no=ni,nn=ni/8,k=3
real(8) :: xi(ni),yi(ni),wi(ni)
real(8) :: xo(no),yo(no)
real(8) :: xn(nn)
real(8) :: wk(4*(no+2)**2,0:1)
complex(8) :: ex(0:no)
integer(4) :: ifax(100)
real(8) :: pi,ang
integer(4) :: i,j,ier,l,error
pi = acos(-1.D0)
call randini
do i=-ni,ni
xi(i) = 1.D0*float(i+1)/float(ni-1)
enddo
do i=-no,no
xo(i) = 1.D0*float(i+1)/float(no-1)
enddo
do i=-nn,nn
xn(i) = 1.D0*float(i+1)/float(nn-1)
enddo
yi(:) = 0.D0
wi(:) = 1.D0
wi(1) = 1000.D0
wi(ni) = 1000.D0
OPEN(11,file='test.txt',status="old",iostat=error)
if(error/=0)then
write(*,*)"open test.txt fail"
stop
end if
do l=-ni/2,ni/2
read(11,*)xi(l),yi(l)
end do
call LSQUnivariateSpline(xi,yi,xn,xo,yo,wi,k,ni,nn,no,ier)
OPEN(10,file='testo.dat')
do l=-no/2,no/2
WRITE(10,'(2(f8.3,2x))')xo(l),yo(l)
end do
CLOSE(10)
end
以下是程序:
program lsspline
implicit none
integer(4), parameter :: ni=513,no=ni,nn=ni/8,k=3
real(8) :: xi(ni),yi(ni),wi(ni)
real(8) :: xo(no),yo(no)
real(8) :: xn(nn)
real(8) :: wk(4*(no+2)**2,0:1)
complex(8) :: ex(0:no)
integer(4) :: ifax(100)
real(8) :: pi,ang
integer(4) :: i,j,ier,l,error
pi = acos(-1.D0)
call randini
do i=-ni,ni
xi(i) = 1.D0*float(i+1)/float(ni-1)
enddo
do i=-no,no
xo(i) = 1.D0*float(i+1)/float(no-1)
enddo
do i=-nn,nn
xn(i) = 1.D0*float(i+1)/float(nn-1)
enddo
yi(:) = 0.D0
wi(:) = 1.D0
wi(1) = 1000.D0
wi(ni) = 1000.D0
OPEN(11,file='test.txt',status="old",iostat=error)
if(error/=0)then
write(*,*)"open test.txt fail"
stop
end if
do l=-ni/2,ni/2
read(11,*)xi(l),yi(l)
end do
call LSQUnivariateSpline(xi,yi,xn,xo,yo,wi,k,ni,nn,no,ier)
OPEN(10,file='testo.dat')
do l=-no/2,no/2
WRITE(10,'(2(f8.3,2x))')xo(l),yo(l)
end do
CLOSE(10)
end