Contents     Functions         Previous Next     PDF Index

iicom

Purpose

UI command function for FRF data visualization.

Syntax

iicom CommandString
iicom(ci,'CommandString') % specify target figure with pointer
out = iicom('CommandString')

Description

iicom is a standard UI command function which performs operations linked to the data visualization within the iiplot interface. A tutorial can be found in section 2.1.

Commands are text strings telling iicom what to do. If many iiplot figures are open, one can define the target giving an iiplot figure handle ci as a first argument.

iicom uses data stored in a stack (see section 2.1.2). iicom does not modify data. A list of commands available through iicom is given below. These commands provide significant extensions to capabilities given by the menus and buttons of the iiplot command figure.

Commands

;, command

The commode help details generic command building mechanisms. Commands with no input (other than the command) or output argument, can be chained using a call of the form iicom(';Com1;Com2'). commode is then used for command parsing.

ad i, adc i

Display addresses i. Only a restricted number of channels (columns data sets) are displayed in the drawing axes. Addresses are arbitrary integer numbers used to identify channels. Addresses are stored in the third column of the .dof field which has as many rows as there are channels (see xfopt). ad / adc respectively define the addresses (and find the corresponding channels) to be displayed in all / the current drawing axes. The vector of addresses is defined by evaluating the string i. For example ad 101, displays the channel with address 101 in all axes.

cax i, ca+

Change current axes. cax i makes the axis i (an integer number) current. ca+ makes the next axis current. For example, iicom(';cax1;show rea;ca+;show ima') displays the real part of the current FRFs in the first axis and their imaginary part in the second. (See also the iicom Sub command). The button indicates the number of the current axis. Pressing the button executes the ca+ command.

ch+, ch-, ch[+,-]i

Next/Previous. These commands/buttons are used to scan through plots of the same kind. For iiplot axes, this is applied to the current data sets. For feplot axes, the current deformation is changed. You can also increment/decrement channels using the + and - keys when the current axis is a plot axis or increment by more than 1 using iicom('ch+i').

ch i, chc i, chall, ...

Display channels/poles/deformations i. Channels refer to columns of datasets, poles or deformations. ch / chc respectively define the indices of the channels to be displayed in all /the current drawing axes. The vector of indices is defined by evaluating the string i. For example iicom ch[1:3], displays channels 1 to 3 in all axes.

For datasets with dimension labels. ChAllMyLabel selects all channels associated with dimension MyLabel. This can be used to show responses at mulitple operating conditions (typically stored as third or fourth dimension of curve.Y). For multi-channel curves one can define the dimension name referring to the Xlab field in a cell array iicom(ci,'ch','Xlabname',i).

% Build a multi-dim curve, see sdtweb('demosdt.m#DemoGartteCurve')
r1=demosdt('demoGartteCurve')
ci=iiplot;ci.Stack={};ci=iiplot(r1);
iicom('ChAllzeta') % All channels that correspond to 'zeta' r1.Xlab{4}
% Cell selection with Xlab string and indices
iicom('ch',{'Input DOFs',[1,2]}) % Accessible with 'pick' button
iicom('curtabChannel')

Cursor

iicom CursorOnFeplot shows a cursor on the iiplot curve that let you show corresponding time deformation in feplot. (See fecom CursorNodeIiplot command for more details).

Curve[Load,Save,Reset, ...]

These commands are used to manipulate datasets.
Most of them are of the form iicom('Curve...',CurveNames). Then CurveNames can be a string with a curve name, a cell array of string with curve names or a regular expression to select some curve names. If CurveNames is omitted, a curve a dialog box is opened to select targeted curves. Otherwise these commands can be accessed through the GUI, in the Stack tab of the iiplot properties figure.

ga i

Get handle to a particular axis. This is used to easily modify handle graphics properties of iiplot axes accessed by their number. For example, you could use set(iicom('ga1:2'),'xgrid','on') to modify the grid property of iiplot axes 1 and 2.

If you use more than one feplot or iiplot figure, you will prefer the calling format cf=iiplot; set(cf.ga(1:2),'xgrid','on').

head [Main,Text,Clear]

Figure header utilities. Header axes are common to all plot functions and span the full figure area (normalized position [0 0 1 1] ). The SDT also tries to keep this on top to that the information is always visible. iimouse also raises it when you click outside the area covered by other axes. Any information that you would want to be present on all your plots should be plotted on this axis.

iicom('HeadMain') defines the main header title based on the first stack entry ci.Stack{1,3}.header (see xfopt). You can also specify a string and additional properties that are valid for MATLAB text objects. For example,

  iicom('head main','Main Title','fontsize',20,'fontname','Times')

iimouse supports modifications (font, string, position) of this title by providing a context menu (click on the text using the right mouse button). For command based modifications of this object, you can also get its handle using findobj(cf.head, 'tag', 'iimain') (where cf is a SDT handle to the iiplot or feplot figure).

You can put additional text strings in the axis using iicom('HeadText') with the same format as HeadMain. These objects are created with the iitext tag.

iicom('HeadClear') deletes all objects from the header axis of the current figure. To find the pointer to the header axis of a given figure use cf.head. This can be useful if you want to add other objects that just text.

Note: the obsolete HeadAdLabel command is by the use of user defined titles (see the iicom TitOpt command).

IIpo [ ,1], cIIpo[ ,1,tog]

Poles/residues displayed. iiplot displays either the main identified model
ci.Stack{'IdMain'}.po or the alternate set ci.Stack{'IdAlt'}.po. These commands tell iiplot which set to show. By adding a c in front of the command (cIIpo for example), the choice is only applied to the current axis. You can also toggle which of IIpo or IIpo1 is shown using the Variables:IIpo menu (ciitog command).

Data set selection IIx:name [On,Off,Only], cIIx ...

Curve set selection for display in the current axis.

IIxf:TestOnly displays the ci.Stack{'Test'} data set only in all axes (on and off turn the display on or off respectively). By adding a c in front of the command (cIIx:Test for example), the choice is only applied to the current axis. You can also toggle which of the data sets are shown using the Variables menu (applies to all axes) or axis context menu applies to (current axis).

The alternate calling format iicom('iix',{'Test','IdFrf'}) can be used to specify multiple sets to display. iicom('iixOnly',{'Test','IdFrf'}) will display those two sets only.

IIxf, IIxe, IIxh, IIxi [0n,Off] are still supported for backward compatibility.

info

Information on the current state of the interface. This is equivalent to cf=iiplot; disp(cf).

ods

Operational deflection shape cursor.

PoleLine [ ,c] [ ,3]

Pole line display. By itself, PoleLine toggles the state of pole line display (vertical lines showing the frequencies of poles in ci.Stack{'IdMain'} in black and ci.Stack{'IdAlt'} in red). The c applies the command to the current axis only. PoleLine3 places the lines on the pole norm rather than imaginary part used by default (this corresponds to the ii_plp formats 2 and 3).

The state of the current axis (if it is an iiplot axis) can also be changed using the IIplot:PoleLine menu (PoleLineTog command).

ImWrite, Preprint

Imwrite prints the figure of the current iiplot or feplot axis. It changes the current figure if necessary and adds -noui to the print options before calling the matlab print command.

Preprint sets the size of the current figure to the physical PaperSize. This is useful to make sure that what you see on the screen is what you will print. In particular legends are based on physical sizes so that the output you get is dependent on the window size.

Pro

iicom('ProFig') shows or hides the properties figure.
iicom(ci,'ProRefreshIfVisible') refreshes the property figure when it is visible.
iicom(ci,'ProInit') reinits the property figure.

Show Type

Specify the current axis type. The iiplot plot functions support a number of plot types which can be selected using the Show menu. For all data sets, you can use


absamplitude (also mag)  
phawrapped phasephuunwrapped phase
reareal partimaimaginary part
r&ireal and imaginarynyqNyquist plot

When using idcom, standard views for mode indicators and identification quality checks can be obtained as follows


mmiMMIF of Test
fmiforces of MMIF of Test
amialternate mode indicator of Test
sumSUM of Test
cmiCMIF of Test
sumisum imaginary part of Test
polpoles in IdMain
frefreq. vs. damping in IdMain
rrereal residue in IdMain
crecomplex residue of IdMain
lnylocal Nyquist of Test (superposition around current pole)
errNyquist Error for current pole
qualQuality for all poles
TimeFreqtime-frequency representation of the log of the abs of the signal displayed as color map

Sub[Save,Set]

SubSavei saves the current configuration of the iiplot interface to the stack. This configuration can then be recalled with SubSeti.

SubToFig

SubToFig copies the iiplot figure visualization to a standard matlab figure, thus allowing an easier handling to produce customized snapshots.

Command option -cfi forces the visualization output to figure i.

Command option legi allows iiplot legend handling in the visualization. leg0 removes the legend, leg1 keeps it as in iiplot, leg2 tranforms the iiplot legend in a standard matlab legend. The legend is removed by default.

Sub [MagPha, i j k[ ,nd][ ,step]]

This command is the entry point to generate multiple drawing axes within the same figure.

iicom Sub by itself checks all current axes and fixes anything that is not correctly defined.

SubMagPha gives a standard subdivision showing a large amplitude plot and a small wrapped phase plot below. SubIso gives a standard 2 by 2 subdivision showing four standard 2-D projections of a 3-D structure.

Sub i j k divides the figure in the same manner as the MATLAB subplot command. If k is set to zero all the i times j axes of the subplot division are created. Thus the default call to the Sub command is Sub 2 1 which creates two axes in the current figure. If k is non zero only one of these axes is created as when calling subplot(i,j,k).

As the subplot function, the Sub command deletes any axis overlapping with the new axis. You can prevent this by adding nd to the command string.

The command option step increments the deformation shown in each subplot. This is generally used to show various modeshapes in the same figure.

Standard subdivisions are accessible by the IIplot:Sub commands menu.

Note that set(cf.ga(i),'position',Rect) will modify the position of iiplot axis i. This axis will remain in the new position for subsequent refreshing with iiplot.

TitOpt [ ,c]i, title and label options

Automated title/label generation options. TitOpti sets title options for all axes to the value i. i is a 5 digit number with

The actual meaning of options depends on the plot function (see iiplot for details). By adding a c after the command (titoptc 111 for example), the choice is only applied to the current axis.

When checking the axes data (using iicom Sub command), one rebuilds the list of labels for each dataset using iicom('chlab'). This cell array of labels, stored in ci.ua.chlab, gives title strings for each channel (in rows) of datasets (in columns) with names given in ci.ua.sList. The label should start with a space and end with a comma. The dataset name is added if multiple datasets are shown.

Modifying the ci.IDopt.unit value changes the unit assumed for identification but not the dataset units.

Titles and labels are not regenerated when using ch commands. If something is not up to date, use iicom Sub which rechecks everything.

xlin,xlog, [ ,all] ...

Default values for xscale and yscale. xlin, xlog, ylin, ylog, set values. xy+1, xy+2 are used to toggle the xscale and yscale respectively (you can also use the IIplot:xlin and IIplot:ylin menus). Other commands are xy1 for x-lin/y-lin, xy2 for x-log/y-lin, xy3 for x-lin/y-log, xy4 for x-log/y-log.

You can all use the all option to change all axes: iicom('xlog all').

ytight[on,off,] can be used to obtain tight scales on the y axis. The x axis is typically always tight. Automated ztight is not yet supported.

wmin, xlim, xmin, xmax, wmo, w0, ...

Min/max abscissa selection is handled using the fixed zoom (graphically use button). Accepted commands are

When performing identification with idcom  the fixed zoom corresponds to the working frequency range and corresponds to indices in ci.IDopt(4:5) (see IDopt, turn off with idcom('Off')). The index of the frequency closest to the specified min/max is used. When viewing general responses, the information for the abscissa limits is stored in the axis and is thus lost if that axis is cleared.

See also

iiplot, section 2.1, idcom


©1991-2010 by SDTools
Previous Up Next