CALL HPARAM (ID,IC,R2MIN,MAXPOW,COEFF*,ITERM*,NCO*)
INTEGER
array of size NDIM
)
INTEGER
array of size
PNBF
, see explanation above)
DOUBLE PRECISION
array
of size NCO
)
INTEGER
array of size NDIM*NCO
or NCO
, see
explanation above)
IC
is a coded integer with the following fields:
DOUBLE PRECISION
function
[HELEFT]HELEFT(IEF,X) where
IEF
is the elementary function code in the sense explained above:
10 times the function code plus 1.
The function code number can vary from 1 to PNEF
,
number of user supplied elementary functions.
PNEF
has to be specified by the user before calling
HPARAM, via a call to the routine HSETPR described below.
The seconf parameter X
is the point where the function should be calculated.
PNBF
, number of basic functions, must be set by the user via
a call to HSETPR (see below).
User regressors values are to be returned by the
user-supplied DOUBLE PRECISION
function [HBASFT]HBASFT(IBF,X)
where
IBF
is the user-defined regressor code in the sense explained above:
10 times the regressor code plus 2.
The regressor code number can vary from 1 to
PNBF
, number of basic functions used for the parametrization.
PNBF
has to be specified by the user before calling
HPARAM, via a call to the routine HSETPR described below,
in the case that the switches B
or C
of the
control parameter IC
have the value 2.
The parameter X
is an array of length NDIM
defining the
coordinate where the regressor should be calculated.
PSEL
and the array MAXPOW
help the user in controlling
the total degree of each regressor (see below).
IELEF
is
the code of the regressor or of the function being tested for acceptance.
A value of .TRUE.
returned will cause the regressor/elementary function
to be accepted.
The default version of this function which is supplied in HBOOK
always returns the value .TRUE.
, while the user may want to write
his own version of this function to exclude some of the regressors or of the
elementary functions (according to the value of the B switch he has selected).
ITERM
contains a list of
selected regressors
or elementary functions according to the value of the switch B
.
The array has to
be at least NDIM*PNBF
words and the variable PNBF
,
maximum number of elementary functions or regressors, should have
been set via a call to HSETPR.
In the case of elementary functions, the element
ITERM(IDIM+(IBF-1)*NDIM)
is the function of the variable
to be multiplied by the coefficent number IBF
,
given a maximum expected number of PNBF
coefficents.
This can be of course reduced by the fitting
program under considerations of linear dependency, as stated above,
returning only NCO
coefficents, thus after the fit
ITERM
will identify which regressors were actually used.
In the case of user-defined
regressors, only the first PNBF
position of the ITERM
array need to be filled, and the array will contain directly the code
of the selected user-defined regressors.
X
range during the computation.
The value of R2MIN
is used to determine the satisfactory
end of the fitting process.
If 0<R2MIN
<1, this value will be compared to the
current sum of the squares of the residuals to determine whether the
fit should be stopped or continued.
If R2MIN
, the fitting process will be
halted when the residual variance is minimal.
Various parameters which are relevant for the parametrization can be set via the routine HSETPR.
CHARACTER
)
CHNAME
(of type REAL
)
Possible values for CHNAME
are:
B
of the IC
parameter is set to 1.
The system will build PNBF
basic
regressors made up by products of NDIM
elementary functions, possibly
user selected, as specified by the switch C
of the parameter IC
.
B
switch of IC
set to 2), or in case the ITERM
contains
on input the selected regressors or basic elementary functions
(C
switch of IC
parameter set to 2).
The parameter is ignored in the other cases.
This is the total number of user-defined regressors or elementary functions
which the system will use for the parametrization process.
Please note that in case of user given regressors,
if the C
switch of the IC
parameter is
either 0 or 1, the logical function [HSELBF]HSELBF(ELEF)
will always be called
in order to verify the inclusion of the regressor IELEF
in the list for the current fitting operation.
POW(I)/MAXPOW(I)
in each regressor, where POW(I)
is the power
of the system-supplied elementary function for the
variable
(
I<NDIM
) and MAXPOW(I)
is the user supplied maximum
value for the degree of the system-supplied elementary functions for
the
variable.
This value must be 0<VALUE<NDIM
. Note that setting
PSEL
to 0 selects the constant term for all the regressors.
Setting PSEL
to a value
NDIM
has the effect of removing
any limitation on the total degree of the regressors, leaving MAXPOW(I)
as the only effective limitation on the degree of the the elementary functions.
This means that the total degree of the regressors can be equal to the sum of
the NDIM
elements of MAXPOW(I)
. The system supplied
default is 1.
PFLV
has to be >0.
X
.
This Fortran code can be compiled and used in subsequent jobs.
By default no code is written.
PNBX
is set to 500
;
setting PNBX
to an appropriate value will avoid wasting space in
dynamic area /PAWC/
.
This parameter may be set to the same value of
PNBF
or PNEF
whichever is appropriate to save space.
PNBX
.