idopt#
Purpose
handling of options used by the identification related routines.
Description
idopt is the function handling identification options. Identification options associated with idcom figures are used when generating new identifications. They should be modified using the ci.IDopt pointer or the IDopt tab in the figure. In the text output below
>> ci=idcom; ci.IDopt
(ID options in figure(2)) =
ResidualTerms : [ 0 | 1 (1) | 2 (s^-2) | {3 (1 s^-2)} | 10 (1 s)]
DataType : [ {disp./force} | vel./force | acc./force ]
AbscissaUnits : [ {Hz} | rd/s | s ]
PoleUnits : [ {Hz} | rd/s ]
SelectedRange : [ 1-3124 (4.0039-64.9998) ]
FittingModel : [ Posit. cpx | {Complex modes} | Normal Modes]
NSNA : [ 0 sensor(s) 0 actuator(s) ]
Reciprocity : [ {Not used} | 1 FRF | MIMO ]
Collocated : [ none declared ]
currently selected value are shown between braces { } and alternatives are shown.
After performing an identification, the options used at the time are copied to the result. Thus the ci.Stack{'IdMain'}.idopt is a copy of the figure options when the identification was performed. Some manipulations possible with the res2nor,res2ss,id_nor, ... functions may require modifications of these options (which are different from the idcom figure options.
The SDT handle object used to store options is very permissive in the way to change values from the command line (for GUI operation use the IDopt tab). ci.IDopt.OptName=OptValue sets the option. OptName need only specify enough characters to allow a unique option match. Thus ci.IDopt.res and ci.IDopt.ResidualTerms are equivalent. Here are a few examples
demosdt('demoGartIdEst');ci=idcom; ci.IDopt.Residual=0; % modify estimation default ci.IDopt.Selected=[100 2000]; ci.IDopt.Po='Hz'; ci.IDopt % changed ci.Stack{'IdMain'}.idopt % not changed until new identification
The following is a list of possible options with indications as to where they are stored. Thus ci.IDopt.res=2 is simply a user friendly form for the old call ci.IDopt(6)=2 which you can still use.
Res | Residual terms selection (stored in ci.IDopt(1)) and corresponding to (5.26) | |
0 | none | |
1 | Static correction (high frequency mode correction) | |
2 | Roll-off (s−2, low frequency mode correction). | |
3 | Static correction and roll-off (default) | |
10 | 1 and s, this correction is only supported by id_rc and should be used for identification in narrow bandwidth (see ii_poest for example) | |
-i | An alternate format uses negative numbers with decades indicating powers (starting at s−2). Thus Ass=-1101 means an asymptotic correction with terms in s−2,1,s | |
Data | type (stored in ci.IDopt(2)) | |
0 | displacement/force (default) | |
1 | velocity/force | |
2 | acceleration/force | |
Abscissa | units for vector w can be Hz, rad/s or seconds | |
Pole | units can be Hz or rad/s | |
units are actually stored in ci.IDopt(3) with units giving abscissa units (01 w in Hertz, 02 w in rad/s, 03 w time seconds) and tens pole units (10 po in Hertz, 20 po in rad/s). Thus ci.IDopt(3)=12 gives w in rad/sec and po in Hz. | ||
Selected | frequency range indices of first and last frequencies to be used for identification or display (stored in ci.IDopt(4:5)) | |
Fitting | model (see res , stored in ci.IDopt(6)) | |
0 | positive-imaginary poles only, complex mode residue | |
1 | complex mode residue, pairs of complex-conjugate poles (default) | |
2 | normal mode residue | |
ns,na | number of sensors/actuators (outputs/inputs) stored in ci.IDopt(7:8)) |
Recip | method selection for the treatment of reciprocity (stored in ci.IDopt(12)) | |
1 | means that only iC1 (ci.IDopt(13)) is declared as being collocated. id_rm assumes that only this transfer is reciprocal even if the system has more collocated FRFs | |
na | (number of actuators) is used to create fully reciprocal (and minimal of course) MIMO models using id_rm. na must match non-zero values declared in iCi. | |
-nc | (with nc the number of collocated FRFs) is used to declare collocated FRFs while not enforcing reciprocity when using id_rm. | |
iC1 ... | indices of collocated transfer functions in the data matrix (see the xf format page ) |
To make a copy of the data, and no longer point to the figure, use ci.IDopt.GetData.
iop2 = idopt returns a SDT handle to a set options that may differ from those of used by idcom.
It is possible to set back some idopt values to default regarding the data structure XF with this syntax XF.idopt.defaultnsna (for example to reassign the number of sensors and the number of actuators that may have changed)
See also