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++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* |
---|