[12] | 1 | SUBROUTINE SPLN2 (N,X,Y,C,V) |
---|
| 2 | c------------------------------------------------------------------------ |
---|
| 3 | c |
---|
| 4 | include 'param_sz.h' |
---|
| 5 | c |
---|
| 6 | dimension x(nspl),y(nspl),c(nsplc),v(5) |
---|
| 7 | c------------------------------------------------------------------------ |
---|
| 8 | V(5)=2.0 |
---|
| 9 | LIM=N-1 |
---|
| 10 | C ----------------------------------------------------- |
---|
| 11 | C DETERMINE IN WHICH INTERVAL THE INDEPENDENT |
---|
| 12 | C VARIABLE,V(1),LIES. |
---|
| 13 | C ----------------------------------------------------- |
---|
| 14 | DO 10 I=2,LIM |
---|
| 15 | 10 IF(V(1).LT.X(I)) GO TO 20 |
---|
| 16 | I=N |
---|
| 17 | IF(V(1).GT.X(N)) V(5)=3.0 |
---|
| 18 | GO TO 30 |
---|
| 19 | 20 IF(V(1).LT.X(1)) V(5) =1.0 |
---|
| 20 | C ----------------------------------------------------- |
---|
| 21 | C Q IS THE SIZE OF THE INTERVAL CONTAINING V(1). |
---|
| 22 | C ----------------------------------------------------- |
---|
| 23 | C Z IS A LINEAR TRANSFORMATION OF THE INTERVAL |
---|
| 24 | C ONTO (0,1) AND IS THE VARIABLE FOR WHICH |
---|
| 25 | C THE COEFFICIENTS WERE COMPUTED BY SPLN1. |
---|
| 26 | C ----------------------------------------------------- |
---|
| 27 | 30 Q=X(I)-X(I-1) |
---|
| 28 | Z=(V(1)-X(I-1))/Q |
---|
| 29 | V(2)=((Z*C(3*I-3)+C(3*I-4))*Z+C(3*I-5))*Z+Y(I-1) |
---|
| 30 | V(3)=((3.*Z*C(3*I-3)+2.0*C(3*I-4))*Z+C(3*I-5))/Q |
---|
| 31 | V(4)=(6.*Z*C(3*I-3)+2.0*C(3*I-4))/(Q*Q) |
---|
| 32 | RETURN |
---|
| 33 | END |
---|
| 34 | c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* |
---|