1
subroutine intp(x,xd,yd,n,nc,y)
3
c linear interpolation computes y=F(x) for f a tabulated function
7
c xd : vector (nc) of abscissae mesh points (xd(i+1)>=xd(i))
8
c yd : matrix (nc x n): yd(i,j)=Fj(x(i))
9
c n : dimension of F image
11
c y : vector (n) :interpolated value of F(x)
13
c if x<=xd(1) y=yd(1,:)
14
c if x>=xd(nc) y=yd(nc,:)
19
double precision x,xd(*),y(*),yd(nc,*)
23
call dcopy(n,yd(1,1),nc,y,1)
24
elseif(x.ge.xd(nc)) then
25
call dcopy(n,yd(nc,1),nc,y,1)
26
elseif(x.le.xd(1)) then
27
call dcopy(n,yd(1,1),nc,y,1)
38
c compute interpolated y
40
if (xd(inter+1).eq.xd(inter)) then
41
call dcopy(n,yd(inter,1),nc,y,1)
45
& (x-xd(inter))*((yd(inter+1,i)-yd(inter,i))/
46
& (xd(inter+1)-xd(inter)))