DESL


DESL Home | Website Outline | Commands | Examples | Download | Contacts

( AY) Details concerning the DESL fit command.


(See example(s) of the use of the fit command.)
[Jump to the list of available options.]
General description of the fit command :

From existing files, the DESL "fit" command allows the user to create new files containing values of specified dependent variables which are the result of calculations using either an up-to-third order piecewise-polyno or up-to-seventh order least-squares curve fit with respect to an implied or specified set of independent variable values. Optionally, the newly calculated dependent variables can be first, second, or third order analytical derivatives of the specified dependent variables with respect to the specified independent variable.


The list of currently available options for the fit command is the following.

Any blinking names enclosed in brackets are required or are in a set of options, one of which must be specified. Any non-blinking names enclosed in brackets are optional or are in a set of options, only one of which can be specified.

In cases where the option name is one of a set each different set number is indicated by a red numeric set number superscript trailing the respectiveright bracket :

[altvars] [backward] [coeffnames] [cset] [curve] [degree] [elsek] [endifk] [eqtol] [files] [fitmethod] [group] [ifk] [names] [newfiles] [newfilex] [nobias] [noextrap] [nofit] [noop] [noreordr] [order] [pathfile] [paths] [prefix] [tol] [values] [vfiles]

[Top][Bottom][Option list]

( AYaltvars) (Command :fit) Details for the altvars option.

[General syntax rules for this keyword.]

The presence of this option indicates that IF there is an active composite alternate SIF variable name file (as established via the "variables" DESL command) then this composite file will be used to attempt to assign an alternate SIF variable name if a SIF variable would otherwise not be found on the file(s) being processed.

[Top][Bottom][Option list]

( AYbackward) (Command :fit) Details for the backward option.

[General syntax rules for this keyword.]

Indicates that any searching for SIF variables will be done from back to front in the SIF records. The default condition is to search from front to back. This option has no effect if "names" is not also given.

[Top][Bottom][Option list]

( AYcoeffnames) (Command :fit) Details for the coeffnames option.

[General syntax rules for this keyword.]

Indicates the base strings to be used to generate dependent variable coefficient names per file if the type fit is "lsq" AND the option "nobias" has NOT been specified. There should be one base string per dependent variable and that base string should end in at least one numeral. The base strings specified correspond to the FIRST in an implied sequence of strings to be used as the names of SIF variables containing the coefficients. As is the case for any SIF variable name, the name string itself, expressed or implied, can be no longer than 8 characters. The sequence of name strings is built by incrementing the base string's numeric suffic by one for each name generated. The number of generated names depends on the order of the lsq type fit which was performed. The default situation is to NOT save the coefficients. Up to 199 base strings can be specified.

Example : coeffnames CCL0 CCM0

[Top][Bottom][Option list]

( AYcset) (Command :fit) Details for the cset option.

[General syntax rules for this keyword.]

This option is used to specify "file-specific" conditions which, IN ADDITION to any other GLOBAL conditions which ALSO may have been specified, are to be applied to each SIF record processed from the respective SIF file. Just like global conditions, file-specific conditions act to limit the applicability of the DESL function being executed by requiring that ALL applicable "and" conditions be TRUE simultaneously or that at least ONE "or" condition be TRUE.

The item immediately following "cset" is the file sequence number in the "files" list for which the following up-to-20 conditions will be applicable.

Each file-specific 3-item condition, like its global 3-item condition counterpart, is made up of (1) a SIF variable name, (2) a 2-character logical conjunction, and (3) a second SIF variable name or a constant.

Example : cset 3 alpha gt phi mach lt 1.2

Here, the user has indicated that, along with whatever other GLOBAL conditions may have been specified, the pertinent DESL function, for the THIRD file specified or implied by the "files" list, will have its application ALSO limited to records which satisfy BOTH of the two conditions :

"ALPHA gt PHI" "MACH lt 1.2".

All file-specific conditions are implicitly joined by an "and" conjunction; ie, by default, all file-specific conditions would have to be true SIMULTANEOUSLY for the applicable record to be retained.

If one or more file-specific conditions following the file sequence number is to be connected to other file-specific conditions for the same file number by an "or" conjunction, then the 2-character item "or" must immediately follow the file number.

Example : cset 2 or alpha lt 0 alpha gt 4

Here, the user has indicated that, along with whatever other GLOBAL conditions may have been specified, the pertinent DESL function, for the SECOND file specified or implied by the "files" list, will have its application ALSO limited to records in which the value of the SIF variable "alpha" satisfies at least ONE of the conditions :

"ALPHA lt 0" "ALPHA gt 4".

Additionally, if the file number following the "cset" option is negative, the absolute value of this negative file number is used for the actual file number and the associated "and" or "or" condition(s) are NOT used in the traditional sense of filtering the records read but are ONLY used to indicate when READING of the associated file is to STOP. This ability is useful in preventing the reading of a long file when it is known that the data required is relatively near the beginning of the file.

Example : cset -1 or run eq 3 alpha gt 24

Here, the user has indicated that when a record is encountered for which either or both of the two conditions

"RUN = 3" "ALPHA gt 24"

is/are TRUE, reading of the current SIF file should end.

[Top][Bottom][Option list]

( AYcurve) (Command :fit) Details for the curve option.

[General syntax rules for this keyword.]

Indicates the type of curve fit desired. Choices are either "poly", indicating a piecewise-polyno fit, or "lsq", indicating a least-squares fit. The default curve type is "poly".

Example : curve lsq

[Top][Bottom][Option list]

( AYdegree) (Command :fit) Details for the degree option.

[General syntax rules for this keyword.]

Indicates the degree of the fit to be calculated. The default order is 0; ie, only a fit - no derivative. Possible other choices are 1, 2 and 3, for first, second and third order derivatives of the dependent variable(s) with respect to the independent variable, respectively.

Example : degree 2

[Top][Bottom][Option list]

( AYeqtol) (Command :fit) Details for the eqtol option.

[General syntax rules for this keyword.]

Indicates the tolerance to be applied to any global or file-specific "eq" condition(s) which may have been specified. If the tolerance value specified is positive the value is in the units of the variable being used in the respective condition(s). If the tolerance value is negative the absolute value of the value is a PERCENT difference. The default value of tolerance is 0.

Example : eqtol .5

[Top][Bottom][Option list]

( AYfiles) (Command :fit) Details for the files option.

[General syntax rules for this keyword.]

Indicates the list of existing SIF files to fit according to the other options/argument specified. If the "values" and/or "vfiles" options are NOT specified, then the FIRST existing file in each "group" of files in this list will determine the set of independent variable values to use for the fit calculations for the rest of the files in the group. The set of independent variable values thus determined is NOT subject to limitation(s) based on any conditions which may have been specified.

This list of files can be implicitly extended via use of the <list argument which can appear among the specified file names. If one or more of the <list-type arguments are specified, where "list" is a currently defined file name list, the file names contained in the indicated file name list(s) will be included, at their respective point(s) of encounter, in the current file list. The referenced list(s) must have been produced by the "newfiles" and/or "newfilex" argument lists associated with one or more previously executed DESL commands. Each "list" name can be up to 15 characters long. File names can also include the {...} construct. This type specification within a file name implies that the list name given between the curly brackets ( {} ), is to be used to have each of its elements substituted in turn for the { ... }, inclusively, such that an implicit lengthening of the file list is accomplished, up to the maximum number of files allowed. Any time such a {...} usage occurs, all lists mentioned must exist; i.e., must have been previously defined in the current DESL session. Only one {...} construct can be included in a file name. Including more than one such construct will result in unpredictable results.

An example of this type of file name specification is the following :

t43r{runs}.sif

Here, the list "runs" will have its elements used, in turn, in place of the {runs} substring.

.

(Begin modifications on 052102)

Each file name, whether it includes the {...} or not, can be a maximum of 256 characters long. If a file name is more than 16 characters long it must be enclosed in question marks (?) .

(End modifications on 052102)

Up to 200 files can be explicitly or implicitly specified.

Example : files batch1 batch7 <flist2 <flist5

[Top][Bottom][Option list]

( AYfitmethod) (Command :fit) Details for the fitmethod option.

[General syntax rules for this keyword.]

The value following this option indicates which previous polynomial fitting method to use. The default method is the latest method. Method 1 was employed from the inception of DESL until approximately 1/25/99. This method involved, for the determination of the coefficients of a second or third order fit, the solution of two second or third order equations, respectively, and one or two lower order equations which governed the slopes of the piecewise line through the points in question. The latest method involves the solution of three or four second or third order equations without any governance of the slopes.

Example : fitmethod 1

[Top][Bottom][Option list]

( AYgroup) (Command :fit) Details for the group option.

[General syntax rules for this keyword.]

If "group" is specified and "values" is not specified the total number of files to be fit, as specified by the "files" option/argument list, will be divided into "groups", each one having a constant number of files. Then, instead of the set of "values" to be used in the fit being extracted from only the first file in the "files" list, they will be extracted from the first file in each "group" of files in the "files" list. Each set of these values will be applicable only to other files in the same group. The number of files in a "group" should be evenly divisible into the total number of files specified via "files".

Example : group 3

[Top][Bottom][Option list]

( AYnames) (Command :fit) Details for the names option.

[General syntax rules for this keyword.]

Indicates, in this required order, (1) the name of the independent variable, and (2) the names of the dependent variables to be accessed from each of the specified files in the "files" list to calculate the new "curve-fit" files. At least one dependent variable must be specified. Up to 200 names can be specified. (One independent variable name and 199 dependent variable names.) If the special name "all" is specified after the name of the independent variable the implication is that the user wishes as many SIF variables as possible, up to the 200-name limit and NOT including the name of the independent variable or any "nofit" names which could have also been specified, to be included in the implied list of dependent variables. The "names" expansion via the use of "all" is done ONCE per GROUP of files being fit; the list of dependent variable names built via "all" is built from the names in the beginning of the FIRST file in each group of files being processed.

Example : names alpha cp101 thru cp120

[Top][Bottom][Option list]

( AYnewfiles) (Command :fit) Details for the newfiles option.

[General syntax rules for this keyword.]

Indicates the desired names for new files being produced. There is an understood 1:1 correspondence between files in the "files" list and files in the "newfiles" list. A new file name prefixed with the 4-character string "null" can be used as a place holder in the "newfiles" file names list. This type of name is converted to a blank string before it is used; ie, using a "null" prefixed name is equivalent to having not specified that name at all. By default, all files explicitly named via this "newfiles" list will be flagged as a file "to be RETAINED" at cleanup. (See the "cleanup" command.) The default file name generated for a new file not explicitly named via "newfiles" or "newfilex" is the 3-character string "gen" followed by a unique numeric suffix. Up to 200 new files can be specified.

The list of the names of the new files actually produced can be saved via the use of the ">list"- or ">>list"- type argument, which can appear among the specified new file names. If a ">list"- or ">>list"-type argument is specified, where "list" is the specified file name list, the names of the new files which DESL actually produces during the execution of the current command will be saved in the specified file name list.

This file name list can later be referenced by the "files"/"xfiles" options to imply the file names contained therein. Up to 200 new file names can be saved in any one list. If the ">list" argument is specified the named list will be created if it does not already exist, or will overwrite a like-named list if one exists. If the ">>list" argument is specified the named list will be appended to if it exists or will be created if it does not exist. All file name lists are in existence for the current DESL session only. Each "list" name can be up to 15 characters long.

In all but a few noted cases, it is acceptable to use the ">list" or ">>list"-type argument without specifying a full complement of actual new file names. Any new file produced whose NAME is GENERATED by DESL is ALWAYS marked as a file to "PURGE at cleanup".

A suffix which may be in effect as established via the filesuffix DESL command will be added to any expressed or implied new file name. New file names can also include the {...} construct. This type specification within a file name implies that the list name given between the curly brackets ( {} ), is to be used to have each of its elements substituted in turn for the { ... }, inclusively, such that an implicit lengthening of the new file list is accomplished, up to the maximum number of new files allowed. Any time such a {...} usage occurs, all lists mentioned must exist; i.e., must have been previously defined in the current DESL session. Only one {...} construct can be included in a new file name. Including more than one such construct will result in unpredictable results.

An example of this type of new file name specification is the following :

t43r{runs}.sif

Here, the list "runs" will have its elements used, in turn, in place of the {runs} substring.

.

(Begin modifications on 052102)

Each new file name, whether it includes the {...} or not can be a maximum of 256 characters long. If a newfile name is more than 16 characters long it must be enclosed in question marks (?).

(End modifications on 052102)

Example : newfiles new1 thru new9 >flist9

[Top][Bottom][Option list]

( AYnewfilex) (Command :fit) Details for the newfilex option.

[General syntax rules for this keyword.]

This option has exactly the same function as the option "newfiles" except that all new files created via a "newfilex" name are flagged as files to "PURGE at cleanup". (See "newfiles" option. See "cleanup" command.) Up to 200 new files can be specified.

Example : newfilex new1 thru new9

[Top][Bottom][Option list]

( AYnoextrap) (Command :fit) Details for the noextrap option.

[General syntax rules for this keyword.]

Indicates that, if to satisfy the fit to the expressed or implied set of independent variable values, extrapolation must be performed, then it is not allowed. By default, extrapolation is allowed. It should be pointed out that if extrapolation is done, it is always linear.

[Top][Bottom][Option list]

( AYnobias) (Command :fit) Details for the nobias option.

[General syntax rules for this keyword.]

Normally, to try to account for circumstances in which the magnitude of the implied or expressed independent variable values is large, the independent variable values are "biased" by their mean value before the arithmetic is done to compute the fitted curves' coefficients. The accuracy of the resulting fitted values of dependent variable(s) is improved by biasing. If it is desired that no biasing be done in the process of determining the new values of dependent variable(s) the "nobias" option can be specified.

[Top][Bottom][Option list]

( AYnofit) (Command :fit) Details for the nofit option.

[General syntax rules for this keyword.]

Indicates the SIF variables to carry, but not fit, from each of the files being fit into the new files being created. The values these variables will have in the new file(s) will be the average value they had in all applicable records of the respective file(s) being fit. Normally, ONLY those variables which have values which remain constant or effectively constant throughout a file should be included in a "nofit" list. Up to 200 "nofit" names can be specified.

Example : nofit test run

[Top][Bottom][Option list]

( AYnoop) (Command :fit) Details for the noop option.

[General syntax rules for this keyword.]

A dummy option which allows one or more GLOBAL conditions to follow. This option has NO OTHER FUNCTION.

[Top][Bottom][Option list]

( AYnoreordr) (Command :fit) Details for the noreordr option.

[General syntax rules for this keyword.]

Normally both the specified or implied set of desired independent variable values and the set of independent variable values corresponding to the data being fit will be reordered such that their values are monotonically increasing in magnitude throughout the sets. If it is desired that this type reordering should not occur then the "noreordr" option should be specified.

[Top][Bottom][Option list]

( AYorder) (Command :fit) Details for the order option.

[General syntax rules for this keyword.]

Indicates the highest order of curve fit allowed. The maximum order of fit when "curve" = "poly" is 3. The maximum order of fit when "curve" = "lsq" is 7. In some cases, when the situation regarding the number of existing data points in a file dictates it, the specified order may be temporarily reduced. The default order is one (linear). During polynomial ("curve" = "poly") extrapolation, the order is always one.

Example : order 3

[Top][Bottom][Option list]

( AYpathfile) (Command :fit) Details for the pathfile option.

[General syntax rules for this keyword.]

If specified, any up-to-16-charact string specified via the "paths" option and argument list can be translated to an up-to-64-charact string. If a specified "paths" string matches a string in the left column in the path file, then the (potentially longer) string in the right column in the same line in the path file is substituted for the original string. The rules for the syntax of a path file are the following :

  1. all lines are ASCII
  2. any line beginning with "* " is a comment and is ignored (asterisk + one or more blanks)
  3. blank lines are ignored
  4. only 2 items per line per translation : the first up to 16 characters and the second up to 64 characters. Any string longer than 16 characters MUST be enclosed in question-mark (?) delimiters.
  5. free-field interpretation, therefore embedded blanks require the "?" delimiters
  6. first item is name to be translated; must match VERBATIM with path name specified or implied via "paths" argument list
  7. second item is the corresponding path name translation

An example of such a file is the following :



*
*  Example path file for test xxx
*
*  item  1 = path to be translated : MUST
*             match VERBATIM with name given
*             specified/implied via "paths"
*
*  item  2 = resulting name translation
*
data56    ? \usr\home2\ people\test56\ ?
up  ?..\?
way-up  ? ..\..\..\ Temp46\?


Example : pathfile pathA

[Top][Bottom][Option list]

( AYpaths) (Command :fit) Details for the paths option.

[General syntax rules for this keyword.]

Indicates, in a 1:1 correspondence with the list of files specified, directory locations for the specified files. These locations supersede the current directory. If a file location thus specified is not empty ("null...") a search for the respective file will be made at the indicated location before a search is made at any other alternate locations which have been made effective via a previous execution of the "path" command. By default, all path names are blank. Up to 200 path names can be specified.

Example : paths ..\ ..\Main\ sub1\

[Top][Bottom][Option list]

( AYprefix) (Command :fit) Details for the prefix option.

[General syntax rules for this keyword.]

Indicates the string to be prefixed to each calculated dependent variable name in the file(s) being created. By default, no prefix is added to such names.

Example : prefix FT

[Top][Bottom][Option list]

( AYtol) (Command :fit) Details for the tol option.

[General syntax rules for this keyword.]

Sets the allowable tolerance between adjacent independent variable values in each set of such variable values being being used for the curve fit. Successive values of the independent variable are not used to determine the curve fit if they fall within the specified tolerance of the most previous retained independent variable value. If the specified tolerance value is negative, it is assumed to be a tolerance in percent, and the tolerance percent value is the absolute magnitude of the number specified. The default tolerance is 1 percent. Normally, the "set" of independent variable values are reordered to be monotonically increasing after they are collected. The tolerance value is, therefore, applied normally to this strictly-increas set of values. If the set of values has been prevented from being sorted so its values are increasing, via the "noreordr" option, the "tol" value would be applied to this non-reordered set.

Example : tol -.3

[Top][Bottom][Option list]

( AYvalues) (Command :fit) Details for the values option.

[General syntax rules for this keyword.]

Indicates the set of independent variable values to use for each file being fit. The default set of independent variable values is that which is extracted from the first existing file of each "group" of files in the "files" list or the respective file named in the "vfiles" argument list per group of files. If both "values" AND "vfiles" are specified, "values" has precedence. Up to 2500 values can be specified. The actual limit of the number of values which can be specified via "values" or implied by the omission of of "values" but use of "vfiles" is 5000/(1+ndep), where "ndep" is the number of dependent variables specified. The independent variable values entered via "values" are NOT subject to limitation(s) based on any conditions which may have been specified.

Example : values 3.7 4.2 6.7 10 to 20 by 1

[Top][Bottom][Option list]

( AYvfiles) (Command :fit) Details for the vfiles option.

[General syntax rules for this keyword.]

Indicates, per "group" of files, the file(s) to access to attempt to extract values of the independent variable for each file being fit. The actual limit of the number of values which can be established via the use of "vfiles" is 5000/(1+ndep), where, "ndep" is the number of dependent variables specified.
.

(Begin modifications on 081202)

If one or more global and/or file-specific conditions are specified they will NOT be used during this process of determining the independent variable values.

(End modifications on 081202)

[Top][Bottom][Option list]


DESL Home | Website Outline | Commands | Examples | Download | Contacts




ViGYAN, Inc.


DESL Manager at ViGYAN, Inc.

30 Research Drive
Hampton, VA 23666
Voice: (757) 865-1400
Toll Free: (800) 288-3998
FAX: (757) 865-8177

© 1998 ViGYAN, Inc.