--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURV1 (N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
SLP1, | Real | Input |
SLPN, | Real | Input |
ISLPSW, | Integer | Input |
YP, | Real | Output | N
TEMP, | Real | Input | N
SIGMA, | Real | Input |
IER) | Integer | Output |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
FUNCTION CURV2 (T, | Real | Input |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
YP, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
FUNCTION CURVD (T, | Real | Input |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
YP, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
FUNCTION CURVI (XL, | Real | Input |
XU, | Real | Input |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
YP, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURVP1 (N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
P, | Real | Input |
YP, | Real | Output | N
TEMP, | Real | Input | N x 2
SIGMA, | Real | Input |
IER) | Integer | Output |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
FUNCTION CURVP2 (T, | Real | Input |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
P, | Real | Input |
YP, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
FUNCTION CURVI (XL, | Real | Input |
XU, | Real | Input |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
P, | Real | Input |
YP, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
Three parameters are used to control the degree of smoothness -- D, S, and EPS.
The parameter D is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of D controls how close the smoothed curve comes to the input data points. If D is small then the interpolated curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has in how close it comes to the input data values.
S is a more subtle global smoothing parameter. S must be non-negative. For small values of S, the interpolated curve approximates the tension spline and for larger values of S, the curve is smoother. A reasonable value for EPS is REAL(N).
EPS controls the precision to which S is interpreted; EPS must be between 0. and 1. inclusive. A reasonable value for S is SQRT(2./REAL(N)).
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURVS (N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
D, | Real | Input | N
ISW, | Integer | Input |
S, | Real | Input |
EPS, | Real | Input |
YS, | Real | Output | N
YSP, | Real | Output | N
SIGMA, | Real | Input |
TEMP, | Real | Input | N x 9
IER) | Integer | Output |
--------------------------------------------------------------
Three parameters are used to control the degree of smoothness -- D, S, and EPS.
The parameter D is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of D controls how close the smoothed curve comes to the input data points. If D is small then the interpolated curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has in how close it comes to the input data values.
S is a more subtle global smoothing parameter. S must be non-negative. For small values of S, the interpolated curve approximates the tension spline and for larger values of S, the curve is smoother. A reasonable value for EPS is REAL(N).
EPS controls the precision to which S is interpreted; EPS must be between 0. and 1. inclusive. A reasonable value for S is SQRT(2./REAL(N)).
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURVS1 (N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
D, | Real | Input | N or 1 (see desc.)
ISW, | Integer | Input |
S, | Real | Input |
EPS, | Real | Input |
PARAM, | Real | Output | N
XS, | Real | Output | N
YS, | Real | Output | N
XSP, | Real | Output | N
YSP, | Real | Output | N
SIGMA, | Real | Input |
TEMP, | Real | Input | N x 19
IER) | Integer | Output |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURVS2 (T, | Real | Input |
N, | Integer | Input |
PARAM, | Real | Input | N
X, | Real | Input | N
Y, | Real | Input | N
XP, | Real | Input | N
YP, | Real | Input | N
SIGMA, | Real | Input |
XO, | Real | Output |
YO) | Real | Output |
--------------------------------------------------------------
Three parameters are used to control the degree of smoothness -- D, S, and EPS.
The parameter D is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of D controls how close the smoothed curve comes to the input data points. If D is small then the interpolated curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has in how close it comes to the input data values.
S is a more subtle global smoothing parameter. S must be non-negative. For small values of S, the curve approximates the tension spline and for larger values of S, the curve is smoother. A reasonable value for S is REAL(N).
EPS controls the precision to which S is interpreted; EPS must be between 0. and 1. inclusive. A reasonable value for EPS is SQRT(2./REAL(N)).
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURVPS (N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
P, | Real | Input |
D, | Real | Input | N
ISW, | Integer | Input |
S, | Real | Input |
EPS, | Real | Input |
YS, | Real | Output | N
YSP, | Real | Output | N
SIGMA, | Real | Input |
TEMP, | Real | Input | N x 11
IER) | Integer | Output |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURV1 (N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
SLP1, | Real | Input |
SLPN, | Real | Input |
ISLPSW, | Integer | Input |
XP, | Real | Output | N
YP, | Real | Output | N
TEMP, | Real | Input | N
S, | Real | Output | N
SIGMA, | Real | Input |
IER) | Integer | Output |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURV2 (T, | Real | Input |
XS, | Real | Output |
YS, | Real | Output |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
XP, | Real | Input | N
YP, | Real | Input | N
S, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURVD (T, | Real | Input |
XS, | Real | Output |
YS, | Real | Output |
XST, | Real | Output |
YST, | Real | Output |
XSTT, | Real | Output |
YSTT, | Real | Output |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
XP, | Real | Input | N
YP, | Real | Input | N
S, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURVP1 (N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
XP, | Real | Output | N
YP, | Real | Output | N
TEMP, | Real | Input | N x 2
S, | Real | Output | N
SIGMA, | Real | Input |
IER) | Integer | Output |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURVP2 (T, | Real | Input |
XS, | Real | Output |
YS, | Real | Output |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
XP, | Real | Input | N
YP, | Real | Input | N
S, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURVPD (T, | Real | Input |
XS, | Real | Output |
YS, | Real | Output |
XST, | Real | Output |
YST, | Real | Output |
XSTT, | Real | Output |
YSTT, | Real | Output |
N, | Integer | Input |
X, | Real | Input | N
Y, | Real | Input | N
XP, | Real | Input | N
YP, | Real | Input | N
S, | Real | Input | N
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL SURF1 (M, | Integer | Input |
N, | Integer | Input |
X, | Real | Input | M
Y, | Real | Input | N
Z, | Real | Input | IZ x N
IZ, | Integer | Input |
ZX1, | Real | Input | N
ZXM, | Real | Input | N
ZY1, | Real | Input | M
ZYN, | Real | Input | M
ZXY11, | Real | Input |
ZXYM1, | Real | Input |
ZXY1N, | Real | Input |
ZXYMN, | Real | Input |
ISLPSW, | Integer | Input |
ZP, | Real | Output | M x N x 3
TEMP, | Real | Input | N + N + M
SIGMA, | Real | Input |
IER) | Integer | Output |
--------------------------------------------------------------
set ISLPSW = I1 + 2*I2 + 4*I3 +8*I4 +16*I5 +32*I6 + 64*I7 + 128*I8. Then, for example, if ISLPSW=0, then all derivative information is user-supplied and if ISLPSW=255, then all derivative information is to be internally estimated.
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
FUNCTION SURF2 (XX, | Real | Input |
YY, | Real | Input |
M, | Integer | Input |
N, | Integer | Input |
X, | Real | Input | M
Y, | Real | Input | N
Z, | Real | Input | IZ x N
IZ, | Integer | Input |
ZP, | Real | Input | M x N x 3
SIGMA) | Real | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURV1DP (N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
SLP1, | Double precision | Input |
SLPN, | Double precision | Input |
ISLPSW, | Integer | Input |
YP, | Double precision | Output | N
TEMP, | Double precision | Input | N
SIGMA, | Double precision | Input |
IER) | Integer | Output |
--------------------------------------------------------------
------------------------------------------------------------------
Argument | Type | Mode | Dimension
------------------------------------------------------------------
FUNCTION CURV2DP (T, | Double precision | Input |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
YP, | Double precision | Input | N
SIGMA) | Double precision | Input |
------------------------------------------------------------------
------------------------------------------------------------------
Argument | Type | Mode | Dimension
------------------------------------------------------------------
FUNCTION CURVDDP (T, | Double precision | Input |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
YP, | Double precision | Input | N
SIGMA) | Double precision | Input |
------------------------------------------------------------------
------------------------------------------------------------------
Argument | Type | Mode | Dimension
------------------------------------------------------------------
FUNCTION CURVIDP (XL, | Double precision | Input |
XU, | Double precision | Input |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
YP, | Double precision | Input | N
SIGMA) | Double precision | Input |
------------------------------------------------------------------
---------------------------------------------------------------
Argument | Type | Mode | Dimension
---------------------------------------------------------------
CALL CURVP1DP (N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
P, | Double precision | Input |
YP, | Double precision | Output | N
TEMP, | Double precision | Input | N x 2
SIGMA, | Double precision | Input |
IER) | Integer | Output |
---------------------------------------------------------------
-------------------------------------------------------------------
Argument | Type | Mode | Dimension
-------------------------------------------------------------------
FUNCTION CURVP2DP (T, | Double precision | Input |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
P, | Double precision | Input |
YP, | Double precision | Input | N
SIGMA) | Double precision | Input |
-------------------------------------------------------------------
------------------------------------------------------------------
Argument | Type | Mode | Dimension
------------------------------------------------------------------
FUNCTION CURVIDP (XL, | Double precision | Input |
XU, | Double precision | Input |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
P, | Double precision | Input |
YP, | Double precision | Input | N
SIGMA) | Double precision | Input |
------------------------------------------------------------------
Three parameters are used to control the degree of smoothness -- D, S, and EPS.
The parameter D is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of D controls how close the smoothed curve comes to the input data points. If D is small then the interpolated curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has in how close it comes to the input data values.
S is a more subtle global smoothing parameter. S must be non-negative. For small values of S, the interpolated curve approximates the tension spline and for larger values of S, the curve is smoother. A reasonable value for EPS is REAL(N).
EPS controls the precision to which S is interpreted; EPS must be between 0. and 1. inclusive. A reasonable value for S is SQRT(2./REAL(N)).
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL CURVSDP (N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
D, | Double precision | Input | N
ISW, | Integer | Input |
S, | Double precision | Input |
EPS, | Double precision | Input |
YS, | Double precision | Output | N
YSP, | Double precision | Output | N
SIGMA, | Double precision | Input |
TEMP, | Double precision | Input | N x 9
IER) | Integer | Output |
--------------------------------------------------------------
Three parameters are used to control the degree of smoothness -- D, S, and EPS.
The parameter D is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of D controls how close the smoothed curve comes to the input data points. If D is small then the interpolated curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has in how close it comes to the input data values.
S is a more subtle global smoothing parameter. S must be non-negative. For small values of S, the interpolated curve approximates the tension spline and for larger values of S, the curve is smoother. A reasonable value for EPS is REAL(N).
EPS controls the precision to which S is interpreted; EPS must be between 0. and 1. inclusive. A reasonable value for S is SQRT(2./REAL(N)).
---------------------------------------------------------------
Argument | Type | Mode | Dimension
---------------------------------------------------------------
CALL CURVS1DP (N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
D, | Double precision | Input | N or 1 (see desc.)
ISW, | Integer | Input |
S, | Double precision | Input |
EPS, | Double precision | Input |
PARAM, | Double precision | Output | N
XS, | Double precision | Output | N
YS, | Double precision | Output | N
XSP, | Double precision | Output | N
YSP, | Double precision | Output | N
SIGMA, | Double precision | Input |
TEMP, | Double precision | Input | N x 19
IER) | Integer | Output |
---------------------------------------------------------------
---------------------------------------------------------------
Argument | Type | Mode | Dimension
---------------------------------------------------------------
CALL CURVS2DP (T, | Double precision | Input |
N, | Integer | Input |
PARAM, | Double precision | Input | N
X, | Double precision | Input | N
Y, | Double precision | Input | N
XP, | Double precision | Input | N
YP, | Double precision | Input | N
SIGMA, | Double precision | Input |
XO, | Double precision | Output |
YO) | Double precision | Output |
---------------------------------------------------------------
Three parameters are used to control the degree of smoothness -- D, S, and EPS.
The parameter D is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of D controls how close the smoothed curve comes to the input data points. If D is small then the interpolated curve will pass close to the input data. The larger the value of D, the more freedom the smooth curve has in how close it comes to the input data values.
S is a more subtle global smoothing parameter. S must be non-negative. For small values of S, the curve approximates the tension spline and for larger values of S, the curve is smoother. A reasonable value for S is REAL(N).
EPS controls the precision to which S is interpreted; EPS must be between 0. and 1. inclusive. A reasonable value for EPS is SQRT(2./REAL(N)).
---------------------------------------------------------------
Argument | Type | Mode | Dimension
---------------------------------------------------------------
CALL CURVPSDP (N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
P, | Double precision | Input |
D, | Double precision | Input | N
ISW, | Integer | Input |
S, | Double precision | Input |
EPS, | Double precision | Input |
YS, | Double precision | Output | N
YSP, | Double precision | Output | N
SIGMA, | Double precision | Input |
TEMP, | Double precision | Input | N x 11
IER) | Integer | Output |
---------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURV1DP (N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
SLP1, | Double precision | Input |
SLPN, | Double precision | Input |
ISLPSW, | Integer | Input |
XP, | Double precision | Output | N
YP, | Double precision | Output | N
TEMP, | Double precision | Input | N
S, | Double precision | Output | N
SIGMA, | Double precision | Input |
IER) | Integer | Output |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURV2DP (T, | Double precision | Input |
XS, | Double precision | Output |
YS, | Double precision | Output |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
XP, | Double precision | Input | N
YP, | Double precision | Input | N
S, | Double precision | Input | N
SIGMA) | Double precision | Input |
--------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL KURVDDP (T, | Double precision | Input |
XS, | Double precision | Output |
YS, | Double precision | Output |
XST, | Double precision | Output |
YST, | Double precision | Output |
XSTT, | Double precision | Output |
YSTT, | Double precision | Output |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
XP, | Double precision | Input | N
YP, | Double precision | Input | N
S, | Double precision | Input | N
SIGMA) | Double precision | Input |
--------------------------------------------------------------
---------------------------------------------------------------
Argument | Type | Mode | Dimension
---------------------------------------------------------------
CALL KURVP1DP (N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
XP, | Double precision | Output | N
YP, | Double precision | Output | N
TEMP, | Double precision | Input | N x 2
S, | Double precision | Output | N
SIGMA, | Double precision | Input |
IER) | Integer | Output |
---------------------------------------------------------------
---------------------------------------------------------------
Argument | Type | Mode | Dimension
---------------------------------------------------------------
CALL KURVP2DP (T, | Double precision | Input |
XS, | Double precision | Output |
YS, | Double precision | Output |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
XP, | Double precision | Input | N
YP, | Double precision | Input | N
S, | Double precision | Input | N
SIGMA) | Double precision | Input |
---------------------------------------------------------------
---------------------------------------------------------------
Argument | Type | Mode | Dimension
---------------------------------------------------------------
CALL KURVPDDP (T, | Double precision | Input |
XS, | Double precision | Output |
YS, | Double precision | Output |
XST, | Double precision | Output |
YST, | Double precision | Output |
XSTT, | Double precision | Output |
YSTT, | Double precision | Output |
N, | Integer | Input |
X, | Double precision | Input | N
Y, | Double precision | Input | N
XP, | Double precision | Input | N
YP, | Double precision | Input | N
S, | Double precision | Input | N
SIGMA) | Double precision | Input |
---------------------------------------------------------------
--------------------------------------------------------------
Argument | Type | Mode | Dimension
--------------------------------------------------------------
CALL SURF1DP (M, | Integer | Input |
N, | Integer | Input |
X, | Double precision | Input | M
Y, | Double precision | Input | N
Z, | Double precision | Input | IZ x N
IZ, | Integer | Input |
ZX1, | Double precision | Input | N
ZXM, | Double precision | Input | N
ZY1, | Double precision | Input | M
ZYN, | Double precision | Input | M
ZXY11, | Double precision | Input |
ZXYM1, | Double precision | Input |
ZXY1N, | Double precision | Input |
ZXYMN, | Double precision | Input |
ISLPSW, | Integer | Input |
ZP, | Double precision | Output | M x N x 3
TEMP, | Double precision | Input | N + N + M
SIGMA, | Double precision | Input |
IER) | Integer | Output |
--------------------------------------------------------------
set ISLPSW = I1 + 2*I2 + 4*I3 +8*I4 +16*I5 +32*I6 + 64*I7 + 128*I8. Then, for example, if ISLPSW=0, then all derivative information is user-supplied and if ISLPSW=255, then all derivative information is to be internally estimated.
------------------------------------------------------------------
Argument | Type | Mode | Dimension
------------------------------------------------------------------
FUNCTION SURF2DP (XX, | Double precision | Input |
YY, | Double precision | Input |
M, | Integer | Input |
N, | Integer | Input |
X, | Double precision | Input | M
Y, | Double precision | Input | N
Z, | Double precision | Input | IZ x N
IZ, | Integer | Input |
ZP, | Double precision | Input | M x N x 3
SIGMA) | Double precision | Input |
------------------------------------------------------------------
c_ftcurv is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurv are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The values for sl1 and sln specify the slope of the curve at the first point and last point, respectively.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftcurv (int, float [], float [], int, float [], float []);Return value:
c_ftcurv returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurv (n, | int |
xi, | float [] | n
yi, | float [] | n
m, | int |
xo, | float [] | m
yo | float [] | m
);
-------------------------------------------------
c_ftcurvd is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurvd are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The values for sl1 and sln specify the slope of the curve at the first point and last point, respectively.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftcurvd (int, float [], float [], int, float [], float []);Return value:
c_ftcurvd returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvd (n, | int |
xi, | float [] | n
yi, | float [] | n
m, | int |
xo, | float [] | m
yo | float [] | m
);
-------------------------------------------------
c_ftcurvi is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurvd are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The values for sl1 and sln specify the slope of the curve at the first point and last point, respectively.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftcurvi (float, float, int, float [], float [], float *);Return value:
c_ftcurvi returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvi (xl, | float |
xr, | float |
n, | int |
xi, | float [] | n
yi, | float [] | n
integral | float * |
);
-------------------------------------------------
c_ftcurvp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. The only control parameter that applies to c_ftcurvp is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvp (int, float [], float [], float, int, float [], float []);Return value:
c_ftcurvp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvp (n, | int |
xi, | float [] | n
yi, | float [] | n
p, | float |
m, | int |
xo, | float [] | m
yo | float [] | m
);
-------------------------------------------------
c_ftcurvpi is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. The only control parameter that applies to c_ftcurvpi is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvpi (float, float, float, int, float [], float [], float *);Return value:
c_ftcurpi returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvpi (xl, | float |
xr, | float |
p, | float |
m, | int |
xi, | float [] | m
yi, | float [] | m
integral | float * |
);
-------------------------------------------------
Two parameters and one function argument used to control the degree of smoothness -- the parameters are smt, and eps and the function argument is d.
The argument d is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of d controls how close the smoothed curve comes to the input data points. If d is small, then the interpolated curve will pass close to the input data. The larger the value of d, the more freedom the smooth curve has in how close it comes to the input data values.
The parameter smt is a more subtle global smoothing parameter; smt must be non-negative. For small values of smt, the curve approximates the tension spline and for larger values of smt, the curve is smoother. A reasonable value for smt is (float) n.
The parameter eps controls the precision to which smt is interpreted; eps must be between 0. and 1. inclusive. A reasonable value for eps is sqrt( 2./(float) n ).
c_ftcurvs is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurvs are: sig, smt, eps, sf2.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvs (int, float [], float [], int, float [], int,
float [], float []);
Return value:
c_ftcurvs returns an error value as per:
Argument description:
--------------------------------------------------------------
Argument | Type | Size
--------------------------------------------------------------
int c_ftcurvs (n, | int |
xi, | float [] | n
yi, | float [] | n
dflg, | int |
d, | float [] | n
m, | int |
xo, | float [] | m
yo | float [] | m
);
--------------------------------------------------------------
Two parameters and one function argument are used to control the degree of smoothness -- the parameters are smt, and eps and the function argument is d.
The argument d is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of d controls how close the smoothed curve comes to the input data points. If d is small, then the interpolated curve will pass close to the input data. The larger the value of d, the more freedom the smooth curve has in how close it comes to the input data values.
The parameter smt is a more subtle global smoothing parameter; smt must be non-negative. For small values of smt, the curve approximates the tension spline and for larger values of smt, the curve is smoother. A reasonable value for smt is (float) n.
The parameter eps controls the precision to which smt is interpreted; eps must be between 0. and 1. inclusive. A reasonable value for eps is sqrt( 2./(float) n ).
c_ftcurvs1 is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurvs1 are: sig, smt, eps, sf2.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvs1(int n, float xi[], float yi[], int dflg,
float d[], int m, float xl, float xr,
float xo[], float yo[])
Return value:
c_ftcurvs returns an error value as per:
Argument description:
--------------------------------------------------------------
Argument | Type | Size
--------------------------------------------------------------
int c_ftcurvs1 (n, | int |
xi, | float [] | n
yi, | float [] | n
dflg, | int |
d, | float [] | n
m, | int |
xl, | float |
xr, | float |
xo, | float [] | m
yo | float [] | m
);
--------------------------------------------------------------
Two parameters and one function argument used to control the degree of smoothness -- the parameters are smt, and eps and the function argument is d.
The argument d is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of d controls how close the smoothed curve comes to the input data points. If d is small, then the interpolated curve will pass close to the input data. The larger the value of d, the more freedom the smooth curve has in how close it must come to the input data values.
The parameter smt is a more subtle global smoothing parameter; smt must be positive. For small values of smt, the curve approximates the tension spline and for larger values of smt, the curve is smoother. A reasonable value for smt is (float) n.
The parameter eps controls the precision to which smt is interpreted; eps must be between 0. and 1. inclusive. A reasonable value for eps sqrt( 2./(float) n ).
c_ftcurvps is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurvps are: sig, smt, eps, sf2.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvps (int, float [], float [], float, int, float [], int,
float [], float []);
Return value:
c_ftcurvps returns an error value as per:
Argument description:
--------------------------------------------------------------
Argument | Type | Size
--------------------------------------------------------------
int c_ftcurvps (n, | int |
xi, | float [] | n
yi, | float [] | n
p, | float |
dflg, | int |
d, | float [] | n
m, | m |
xo, | float [] | m
yo | float [] | m
);
--------------------------------------------------------------
Given a sequence of input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[n-1],y[n-1]).
c_ftkurv is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftkurv are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The value for parameter sl1 is in radians and contains the slope at (x[0],y[0]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sl1 may be omitted as indicated by the switch sf1.
The value for parameter sln is in radians and contains the slope at (x[n-1],y[n-1]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sln may be omitted as indicated by the switch sf1.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftkurv (int, float [], float [], int, float [], float [], float []);Return value:
c_ftkurv returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurv (n, | int |
xi, | float [] | n
yi, | float [] | n
m, | int |
t, | float [] | m
xo, | float [] | m
yo | float [] | m
);
-------------------------------------------------
Given a sequence of distinct input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[0],y[0]) as well (completing the closed curve).
c_ftkurvp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. The only control parameter that applies to c_ftkurvp is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftkurvp (int, float [], float [], int, float [], float [], float []);Return value:
c_ftkurvp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurv (n, | int |
xi, | float [] | n
yi, | float [] | n
m, | int |
t, | float [] | m
xo, | float [] | m
yo | float [] | m
);
-------------------------------------------------
Given a sequence of input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[n-1],y[n-1]).
c_ftkurvd is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftkurvd are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The value for parameter sl1 is in radians and contains the slope at (x[0],y[0]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sl1 may be omitted as indicated by the switch sf1.
The value for parameter sln is in radians and contains the slope at (x[n-1],y[n-1]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sln may be omitted as indicated by the switch sf1.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftkurvd (int, float [], float [], int, float [], float [], float [],
float [], float [], float [], float []);
Return value:
c_ftkurvd returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurvd (n, | int |
xi, | float [] | n
yi, | float [] | n
m, | int |
t, | float [] | m
xo, | float [] | m
yo, | float [] | m
xd, | float [] | m
yd, | float [] | m
xdd, | float [] | m
ydd | float [] | m
);
-------------------------------------------------
Given a sequence of distinct input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[0],y[0]) as well (completing the closed curve).
c_ftkurvpd is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. The only control parameter that applies to c_ftkurvpd is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftkurvpd (int, float [], float [], int, float [], float [], float [],
float [], float [], float [], float []);
Return value:
c_ftkurvpd returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurvpd (n, | int |
xi, | float [] | n
yi, | float [] | n
m, | int |
t, | float [] | m
xo, | float [] | m
yo | float [] | m
xd, | float [] | m
yd | float [] | m
xdd, | float [] | m
ydd | float [] | m
);
-------------------------------------------------
c_ftsurf is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc, c_ftsetfa. The control parameters that apply to c_ftsurf are: sig, zx1, zxm, zy1, zyn, z11, zm1, z1n, zmn, df1, df2, df3, df4, df5, df6, df7, df8
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
zx1 is an array containing ni X-partial derivatives of the function along the line xi[0], that is zx1[j] is the X-partial derivative at point (x[0],y[j]) for j=0,ni-1. This parameter may be defaulted by setting the value for df1 appropriately. The default is to compute zx1 internally. Values for zx1 can be set using the procedure c_ftsetfa.
zxm is an array containing ni X-partial derivatives of the function along the line xi[mi-1], that is zxm[j] is the X-partial derivative at point (xi[mi-1],yi[j]) for j=0,ni-1. This parameter may be defaulted by setting the value for df2 appropriately. The default is to compute zx2 internally. Values for zxm can be set using the procedure c_ftsetfa.
zy1 is an array containing mi Y-partial derivatives of the function along the line yi[0], that is zy1[j] is the Y-partial derivative at point (x[i],y[0]) for i=0,mi-1. This parameter may be defaulted by setting the value for df3 appropriately. The default is to compute zy1 internally. Values for zy1 can be set using the procedure c_ftsetfa.
zyn is an array containing mi Y-partial derivatives of the function along the line yi[ni-1], that is zyn[j] is the Y-partial derivative at point (x[i],y[ni-1]) for i=0,mi-1. This parameter may be defaulted by setting the value for df4 appropriately. The default is to compute zyn internally. Values for zyn can be set using the procedure c_ftsetfa.
z11, zm1, z1n, zmn specify X-Y-partial derivatives of the function at the four corners (xi[0],yi[0]), (xi[mi-1],yi[0]), (xi[0],yi[ni-1]), (xi[mi-1],yi[ni-1]), These parameters may be defaulted by setting the values for df5, df6, df7, df8, appropriately. The default is to compute z11, zm1, z1n, zmn internally.
Function prototype:
float *c_ftsurf (int, int, float *, float *, float *,
int, int, float *, float *, int *);
Return value:
c_ftsurf returns a pointer to an array containing mo x no floats which are the interpolated values on the grid specified by the arrays xo and yo.
Argument description:
---------------------------------------------------------------
Argument | Type | Size
---------------------------------------------------------------
float *c_ftsurf (mi, | int |
ni, | int |
xi, | float * | pointer to m floats
yi, | float * | pointer to n floats
zi, | float * | pointer to m * n floats
mo, | int |
no, | int |
xo, | float * | pointer to mo floats
yo, | float * | pointer to no floats
ier | int * |
);
---------------------------------------------------------------
Function prototype:
void c_ftseti(char *, int);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftseti (pnam, | char * |
ival); | int |
-------------------------------------------
Function prototype:
void c_ftgeti(char *, int *);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftgeti (pnam, | char * |
ival); | int * |
-------------------------------------------
Function prototype:
void c_ftsetr(char *, float);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftsetr (pnam, | char * |
fval); | float |
-------------------------------------------
Function prototype:
void c_ftgetr(char *, float *);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftgetr (pnam, | char * |
fval); | float * |
-------------------------------------------
Function prototype:
void c_ftsetrd(char *, double);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftsetrd (pnam, | char * |
dval); | double |
-------------------------------------------
Function prototype:
void c_ftgetrd(char *, double *);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftgetrd (pnam, | char * |
dval); | double * |
-------------------------------------------
Function prototype:
void c_ftsetc(char *, char *);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftsetc (pnam, | char * |
cval); | char * |
-------------------------------------------
Function prototype:
void c_ftgetc(char *, char *);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
void c_ftgetc (pnam, | char * |
cval); | char * |
-------------------------------------------
Function prototype:
int c_ftsetfa(char *pnam, int n, float *far);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
int c_ftsetfa (pnam, | char * |
n, | int |
far); | float * |
-------------------------------------------
Function prototype:
int c_ftsetda(char *pnam, int n, float *dar);Argument description:
-------------------------------------------
Argument | Type | Size
-------------------------------------------
int c_ftsetda (pnam, | char * |
n, | int |
dar); | double * |
-------------------------------------------
Function prototype:
int c_ftgetfa_size(char *);Return value:
c_ftgetfa_size returns the size of the array (or returns a zero if an error occurs).
Argument description:
----------------------------------------------
Argument | Type | Size
----------------------------------------------
int c_ftgetfa_size (pnam | char * |
); | |
----------------------------------------------
Function prototype:
float *c_ftgetfa_data(char *);Return value:
c_ftgetfa_data returns a pointer to an array of data (or returns a -1 if an error occurs). The size of the array can be obtained by using c_ftgetfa_size.
Argument description:
------------------------------------------------
Argument | Type | Size
------------------------------------------------
float *c_ftgetfa_data (pnam) | char * |
------------------------------------------------
Function prototype:
float *c_ftgetda_data(char *);Return value:
c_ftgetda_data returns a pointer to an array of data (or returns a -1 if an error occurs). The size of the array can be obtained by using c_ftgetfa_size.
Argument description:
------------------------------------------------
Argument | Type | Size
------------------------------------------------
double *c_ftgetda_data (pnam) | char * |
------------------------------------------------
c_ftcurvdp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurvdp are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The values for sl1 and sln specify the slope of the curve at the first point and last point, respectively.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftcurvdp (int, double [], double [], int, double [], double []);Return value:
c_ftcurvdp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvdp (n, | int |
xi, | double [] | n
yi, | double [] | n
m, | int |
xo, | double [] | m
yo | double [] | m
);
-------------------------------------------------
c_ftcurvddp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetrd, c_ftsetc. Control parameters that apply to c_ftcurvddp are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The values for sl1 and sln specify the slope of the curve at the first point and last point, respectively.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftcurvddp (int, double [], double [], int, double [], double []);Return value:
c_ftcurvddp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvddp (n, | int |
xi, | double [] | n
yi, | double [] | n
m, | int |
xo, | double [] | m
yo | double [] | m
);
-------------------------------------------------
c_ftcurvidp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. Control parameters that apply to c_ftcurvddp are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The values for sl1 and sln specify the slope of the curve at the first point and last point, respectively.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftcurvidp (double, double, int, double [], double [], double *);Return value:
c_ftcurvidp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvidp (xl, | double |
xr, | double |
n, | int |
xi, | double [] | n
yi, | double [] | n
integral | double * |
);
-------------------------------------------------
c_ftcurvpdp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. The only control parameter that applies to c_ftcurvpdp is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvpdp (int, double [], double [], double, int, double [],
double []);
Return value:
c_ftcurvpdp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvpdp (n, | int |
xi, | double [] | n
yi, | double [] | n
p, | double |
m, | int |
xo, | double [] | m
yo | double [] | m
);
-------------------------------------------------
c_ftcurvpidp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. The only control parameter that applies to c_ftcurvpidp is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvpidp (double, double, double, int, double [], double [],
double *);
Return value:
c_ftcurpidp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftcurvpidp (xl, | double |
xr, | double |
p, | double |
m, | int |
xi, | double [] | m
yi, | double [] | m
integral | double * |
);
-------------------------------------------------
Two parameters and one function argument used to control the degree of smoothness -- the parameters are smt, and eps and the function argument is d.
The argument d is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of d controls how close the smoothed curve comes to the input data points. If d is small, then the interpolated curve will pass close to the input data. The larger the value of d, the more freedom the smooth curve has in how close it comes to the input data values.
The parameter smt is a more subtle global smoothing parameter; smt must be non-negative. For small values of smt, the curve approximates the tension spline and for larger values of smt, the curve is smoother. A reasonable value for smt is (float) n.
The parameter eps controls the precision to which smt is interpreted; eps must be between 0. and 1. inclusive. A reasonable value for eps is sqrt( 2./(float) n ).
c_ftcurvsdp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. Control parameters that apply to c_ftcurvsdp are: sig, smt, eps, sf2.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvsdp (int, double [], double [], int, double [], int,
double [], double []);
Return value:
c_ftcurvsdp returns an error value as per:
Argument description:
--------------------------------------------------------------
Argument | Type | Size
--------------------------------------------------------------
int c_ftcurvsdp (n, | int |
xi, | double [] | n
yi, | double [] | n
dflg, | int |
d, | double [] | n
m, | int |
xo, | double [] | m
yo | double [] | m
);
--------------------------------------------------------------
Two parameters and one function argument are used to control the degree of smoothness -- the parameters are smt, and eps and the function argument is d.
The argument d is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of d controls how close the smoothed curve comes to the input data points. If d is small, then the interpolated curve will pass close to the input data. The larger the value of d, the more freedom the smooth curve has in how close it comes to the input data values.
The parameter smt is a more subtle global smoothing parameter; smt must be non-negative. For small values of smt, the curve approximates the tension spline and for larger values of smt, the curve is smoother. A reasonable value for smt is (float) n.
The parameter eps controls the precision to which smt is interpreted; eps must be between 0. and 1. inclusive. A reasonable value for eps is sqrt( 2./(float) n ).
c_ftcurvs1dp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. Control parameters that apply to c_ftcurvs1dp are: sig, smt, eps, sf2.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvs1dp(int n, double xi[], double yi[], int dflg,
double d[], int m, double xl, double xr,
double xo[], double yo[])
Return value:
c_ftcurvsdp returns an error value as per:
Argument description:
--------------------------------------------------------------
Argument | Type | Size
--------------------------------------------------------------
int c_ftcurvs1dp (n, | int |
xi, | double [] | n
yi, | double [] | n
dflg, | int |
d, | double [] | n
m, | int |
xl, | double |
xr, | double |
xo, | double [] | m
yo | double [] | m
);
--------------------------------------------------------------
Two parameters and one function argument used to control the degree of smoothness -- the parameters are smt, and eps and the function argument is d.
The argument d is a value indicating the degree of confidence in the accuracy of the input function values -- it should be an approximation of the standard deviation of error. Effectively the value of d controls how close the smoothed curve comes to the input data points. If d is small, then the interpolated curve will pass close to the input data. The larger the value of d, the more freedom the smooth curve has in how close it must come to the input data values.
The parameter smt is a more subtle global smoothing parameter; smt must be positive. For small values of smt, the curve approximates the tension spline and for larger values of smt, the curve is smoother. A reasonable value for smt is (float) n.
The parameter eps controls the precision to which smt is interpreted; eps must be between 0. and 1. inclusive. A reasonable value for eps sqrt( 2./(float) n ).
c_ftcurvpsdp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. Control parameters that apply to c_ftcurvpsdp are: sig, smt, eps, sf2.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftcurvpsdp (int, double [], double [], double, int, double [], int,
double [], double []);
Return value:
c_ftcurvpsdp returns an error value as per:
Argument description:
--------------------------------------------------------------
Argument | Type | Size
--------------------------------------------------------------
int c_ftcurvpsdp (n, | int |
xi, | double [] | n
yi, | double [] | n
p, | double |
dflg, | int |
d, | double [] | n
m, | m |
xo, | double [] | m
yo | double [] | m
);
--------------------------------------------------------------
Given a sequence of input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[n-1],y[n-1]).
c_ftkurvdp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. Control parameters that apply to c_ftkurvdp are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The value for parameter sl1 is in radians and contains the slope at (x[0],y[0]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sl1 may be omitted as indicated by the switch sf1.
The value for parameter sln is in radians and contains the slope at (x[n-1],y[n-1]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sln may be omitted as indicated by the switch sf1.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftkurvdp (int, double [], double [], int, double [], double [],
double []);
Return value:
c_ftkurvdp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurvdp (n, | int |
xi, | double [] | n
yi, | double [] | n
m, | int |
t, | double [] | m
xo, | double [] | m
yo | double [] | m
);
-------------------------------------------------
Given a sequence of distinct input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[0],y[0]) as well (completing the closed curve).
c_ftkurvpdp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. The only control parameter that applies to c_ftkurvpdp is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftkurvpdp (int, double [], double [], int, double [], double [],
double []);
Return value:
c_ftkurvpdp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurvdp (n, | int |
xi, | double [] | n
yi, | double [] | n
m, | int |
t, | double [] | m
xo, | double [] | m
yo | double [] | m
);
-------------------------------------------------
Given a sequence of input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[n-1],y[n-1]).
c_ftkurvddp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. Control parameters that apply to c_ftkurvddp are: sig, sl1, sln, sf1.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
The value for parameter sl1 is in radians and contains the slope at (x[0],y[0]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sl1 may be omitted as indicated by the switch sf1.
The value for parameter sln is in radians and contains the slope at (x[n-1],y[n-1]). The angle is measured counter-clockwise from the X axis and the positive sense of the curve is assumed to be that moving from point 0 to point n-1. A value for sln may be omitted as indicated by the switch sf1.
The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1
Function prototype:
int c_ftkurvddp (int, double [], double [], int, double [], double [],
double [], double [], double [], double [], double []);
Return value:
c_ftkurvddp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurvddp (n, | int |
xi, | double [] | n
yi, | double [] | n
m, | int |
t, | double [] | m
xo, | double [] | m
yo, | double [] | m
xd, | double [] | m
yd, | double [] | m
xdd, | double [] | m
ydd | double [] | m
);
-------------------------------------------------
Given a sequence of distinct input points ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the interpolated curve. The resulting curve has a parametric representation both of whose components are splines under tension and functions of the polygonal arc length. The value 0. is mapped onto (x[0],y[0]) and the value 1. is mapped onto (x[0],y[0]) as well (completing the closed curve).
c_ftkurvpddp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. The only control parameter that applies to c_ftkurvpddp is: sig.
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
Function prototype:
int c_ftkurvpddp (int, double [], double [], int, double [], double [],
double [], double [], double [], double [], double []);
Return value:
c_ftkurvpddp returns an error value as per:
Argument description:
-------------------------------------------------
Argument | Type | Size
-------------------------------------------------
int c_ftkurvpddp (n, | int |
xi, | double [] | n
yi, | double [] | n
m, | int |
t, | double [] | m
xo, | double [] | m
yo | double [] | m
xd, | double [] | m
yd | double [] | m
xdd, | double [] | m
ydd | double [] | m
);
-------------------------------------------------
c_ftsurfdp is called after all of the desired values for control parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc, c_ftsetfa. The control parameters that apply to c_ftsurfdp are: sig, zx1, zxm, zy1, zyn, z11, zm1, z1n, zmn, df1, df2, df3, df4, df5, df6, df7, df8
The value for the parameter sig specifies the tension factor. Values near zero result in a cubic spline; large values (e.g. 30) result in nearly a polygonal line. A typical value is 1. (the default). Values of sig larger than about 40. can result in an internal floating point overflow on 32-bit machines, so you should keep SIGMA below that number on such machines.
zx1 is an array containing ni X-partial derivatives of the function along the line xi[0], that is zx1[j] is the X-partial derivative at point (x[0],y[j]) for j=0,ni-1. This parameter may be defaulted by setting the value for df1 appropriately. The default is to compute zx1 internally. Values for zx1 can be set using the procedure c_ftsetfa.
zxm is an array containing ni X-partial derivatives of the function along the line xi[mi-1], that is zxm[j] is the X-partial derivative at point (xi[mi-1],yi[j]) for j=0,ni-1. This parameter may be defaulted by setting the value for df2 appropriately. The default is to compute zx2 internally. Values for zxm can be set using the procedure c_ftsetfa.
zy1 is an array containing mi Y-partial derivatives of the function along the line yi[0], that is zy1[j] is the Y-partial derivative at point (x[i],y[0]) for i=0,mi-1. This parameter may be defaulted by setting the value for df3 appropriately. The default is to compute zy1 internally. Values for zy1 can be set using the procedure c_ftsetfa.
zyn is an array containing mi Y-partial derivatives of the function along the line yi[ni-1], that is zyn[j] is the Y-partial derivative at point (x[i],y[ni-1]) for i=0,mi-1. This parameter may be defaulted by setting the value for df4 appropriately. The default is to compute zyn internally. Values for zyn can be set using the procedure c_ftsetfa.
z11, zm1, z1n, zmn specify X-Y-partial derivatives of the function at the four corners (xi[0],yi[0]), (xi[mi-1],yi[0]), (xi[0],yi[ni-1]), (xi[mi-1],yi[ni-1]), These parameters may be defaulted by setting the values for df5, df6, df7, df8, appropriately. The default is to compute z11, zm1, z1n, zmn internally.
Function prototype:
double *c_ftsurfdp (int, int, double *, double *, double *,
int, int, double *, double *, int *);
Return value:
c_ftsurfdp returns a pointer to an array containing mo x no doubles which are the interpolated values on the grid specified by the arrays xo and yo.
Argument description:
---------------------------------------------------------------
Argument | Type | Size
---------------------------------------------------------------
double *c_ftsurfdp (mi, | int |
ni, | int |
xi, | double * | pointer to m doubles
yi, | double * | pointer to n doubles
zi, | double * | pointer to m * n doubles
mo, | int |
no, | int |
xo, | double * | pointer to mo doubles
yo, | double * | pointer to no doubles
ier | int * |
);
---------------------------------------------------------------