OpenLoopEditor Properties
OpenLoopEditor
properties control the appearance and behavior of
a standalone open-loop editor created using the openloopeditor
function. By changing property values, you can modify certain aspects of the
editor.
ole = openloopeditor(parent,Plant=G);
ole.View.FrequencyUnit = "Hz";
ole.Compensator = C;
Plant
Fixed plant for which the compensator is being designed, specified as a SISO dynamic system model or an array of such systems.
Nominal plant model index, specified as a positive integer less than or equal to the
number of plant models in Plant
.
The open-loop editor plots the response of the nominal plant model with a thicker,
darker line than the responses of the other models in Plant
.
If Plant
is a uss
model, the editor plot shows
responses for random samples from the model. Use NominalPlantIndex
to select different random samples as the nominal model.
Compensator
Compensator, specified as a SISO dynamic system model and stored as a
zpk
object. You can modify the compensator gain, poles, and zeros
either interactively using the open-loop editor or programmatically using
Compensator changed callback function, specified as one of these values.
Function handle.
Cell array in which the first element is a function handle. Subsequent elements in the cell array are input arguments to pass to the callback function.
Character vector containing a valid MATLAB® expression (not recommended). MATLAB evaluates this expression in the base workspace.
Use this callback function to perform calculations or update related plots or UI elements when the compensator value is changed such as after drag operations, after editor UI interactions, and after edits in the Compensator Editor.
The open-loop editor passes two arguments to the callback function. The first
argument is the OpenLoopEditor
object that generated the
compensator-changed event. The second argument is a
CompensatorChangedData
object that contains event information.
This table describes the properties of the CompensatorChangedData
object.
Property | Description |
---|---|
Compensator | New compensator value, specified as a zpk object. |
PreviousCompensator | Previous compensator value, specified as a |
Source | OpenLoopEditor object that called the callback
function. |
EventName | 'CompensatorChanged' |
Compensator changing callback function, specified as one of these values.
Function handle.
Cell array in which the first element is a function handle. Subsequent elements in the cell array are input arguments to pass to the callback function.
Character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
Use this callback function to perform calculations or update related plots or UI elements when the compensator value is changing during a drag operation.
The open-loop editor passes two arguments to the callback function. The first
argument is the OpenLoopEditor
object that generated the
compensator-changed event. The second argument is a
CompensatorChangingData
object that contains event
information.
This table describes the properties of the CompensatorChangingData
object.
Property | Description |
---|---|
Compensator | New compensator value, specified as a zpk object. |
Source | OpenLoopEditor object that called the callback
function. |
EventName | 'CompensatorChanging' |
Editor View
Editor view type, specified as one of these values:
"bode"
— Bode editor view"nichols"
— Nichols editor view"rlocus"
— Root locus editor view
Editor view configuration parameters, such as units, axis labels, and axis limits, specified as one of these objects:
BodeView
object whenViewType
is"bode"
NicholsView
object whenViewType
is"nichols"
RLocusView
object whenViewType
is"rlocus"
To configure the editor appearance, modify the parameters of
View
using dot notation.
Interactivity
Editor visibility, specified as one of these logical on/off values:
"on"
,1
, ortrue
— Display the editor."off"
,0
, orfalse
— Hide the editor without deleting it. You can still access the properties of the editor when it is not visible.
The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
Position
Editor size and location, excluding the margins for decorations such as axis labels
and tick marks. Specify this property as a vector of form [left bottom width
height]
.
Position units, specified as a value from the following table. To change the
position of the editor in specific units, set the Units
property
before specifying the Position
property. If you specify the
Units
and Position
properties in a single
command (using name-value pairs), be sure to specify Units
before
Position
.
Units | Description |
---|---|
'normalized' | Normalized with respect to the parent container, which is typically the
figure, panel, or tab. The lower left corner of the container maps to
(0,0) , and the upper right corner maps to
(1,1) . |
'inches' | Inches |
'centimeters' | Centimeters |
'characters' | Based on the default font of the graphics root object:
|
'points' | Typography points. One point equals 1/72 inch. |
'pixels' | On Windows® and Macintosh systems, the size of a pixel is 1/96th of an inch. This size is independent of your system resolution. On Linux® systems, the size of a pixel is determined by your system resolution. |
Layout options, specified as a GridLayoutOptions
object. If the
editor is not the child of a gridded layout, (for example it is a child of a figure or
panel, then this property is empty and has no effect. Otherwise, you can position the
position of the editor within the layout by configuring the layout options.
This code places editor object ole
into row 2
of a gridded layout and makes the editor span columns 3
and
4
.
ole.Layout.Row = 2; ole.Layout.Column = [3 4];
Callbacks
Size change callback, specified as one of these values:
A function handle.
A cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
A character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
The SizeChangedFcn
callback executes when:
The component becomes visible for the first time.
The component is visible while its size changes.
This component becomes visible for the first time after its size changes. This situation occurs when the size changes while the component is invisible, and then it becomes visible later.
Object creation function, specified as one of these values:
Function handle.
Cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
Character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
For more information about specifying a callback as a function handle, cell array, or character vector, see Callbacks in App Designer.
This property specifies a callback function to execute when MATLAB creates the object. MATLAB initializes all property values before executing the
CreateFcn
callback. If you do not specify the
CreateFcn
property, then MATLAB executes a default creation function.
Setting the CreateFcn
property on an existing component has no
effect.
If you specify this property as a function handle or cell array, you can access the
object that is being created using the first argument of the callback function.
Otherwise, use the gcbo
function to access the
object.
Object deletion function, specified as one of these values:
Function handle.
Cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.
Character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.
For more information about specifying a callback as a function handle, cell array, or character vector, see Callbacks in App Designer.
This property specifies a callback function to execute when MATLAB deletes the object. MATLAB executes the DeleteFcn
callback before destroying the
properties of the object. If you do not specify the DeleteFcn
property, then MATLAB executes a default deletion function.
If you specify this property as a function handle or cell array, you can access the
object that is being deleted using the first argument of the callback function.
Otherwise, use the gcbo
function to access the
object.
Callback Execution Control
Callback interruption, specified as 'on'
or
'off'
, or as numeric or logical 1
(true
) or 0
(false
). A value
of 'on'
is equivalent to true
, and
'off'
is equivalent to false
. Thus, you can use
the value of this property as a logical value. The value is stored as an on/off logical
value of type matlab.lang.OnOffSwitchState
.
This property determines if a running callback can be interrupted. There are two callback states to consider:
The running callback is the currently executing callback.
The interrupting callback is a callback that tries to interrupt the running callback.
Whenever MATLAB invokes a callback, that callback attempts to interrupt the running
callback (if one exists). The Interruptible
property of the object
owning the running callback determines if interruption is allowed.
A value of
'on'
allows other callbacks to interrupt the object's callbacks. The interruption occurs at the next point where MATLAB processes the queue, such as when there is adrawnow
,figure
,uifigure
,getframe
,waitfor
, orpause
command.If the running callback contains one of those commands, then MATLAB stops the execution of the callback at that point and executes the interrupting callback. MATLAB resumes executing the running callback when the interrupting callback completes.
If the running callback does not contain one of those commands, then MATLAB finishes executing the callback without interruption.
A value of
'off'
blocks all interruption attempts. TheBusyAction
property of the object owning the interrupting callback determines if the interrupting callback is discarded or put into a queue.
Note
Callback interruption and execution behave differently in these situations:
If the interrupting callback is a
DeleteFcn
,CloseRequestFcn
orSizeChangedFcn
callback, then the interruption occurs regardless of theInterruptible
property value.If the running callback is currently executing the
waitfor
function, then the interruption occurs regardless of theInterruptible
property value.Timer
objects execute according to schedule regardless of theInterruptible
property value.
When an interruption occurs, MATLAB does not save the state of properties or the display. For example, the
object returned by the gca
or gcf
command might change when another callback executes.
Callback queuing, specified as 'queue'
or
'cancel'
. The BusyAction
property determines how
MATLAB handles the execution of interrupting callbacks. There are two callback
states to consider:
The running callback is the currently executing callback.
The interrupting callback is a callback that tries to interrupt the running callback.
Whenever MATLAB invokes a callback, that callback attempts to interrupt a running
callback. The Interruptible
property of the object owning the
running callback determines if interruption is permitted. If interruption is not
permitted, then the BusyAction
property of the object owning the
interrupting callback determines if it is discarded or put in the queue. These are
possible values of the BusyAction
property:
'queue'
— Puts the interrupting callback in a queue to be processed after the running callback finishes execution.'cancel'
— Does not execute the interrupting callback.
Deletion status, returned as an on/off logical value of type matlab.lang.OnOffSwitchState
.
MATLAB sets the BeingDeleted
property to
'on'
when the DeleteFcn
callback begins
execution. The BeingDeleted
property remains set to
'on'
until the component object no longer exists.
Check the value of the BeingDeleted
property to verify that the
object is not about to be deleted before querying or modifying it.
Parent/Child
Parent graphics container of the component, specified as a Figure
,
Panel
, Tab
, or GridLayout
object.
UI component children, returned as an empty GraphicsPlaceholder
array. Custom UI components have no children. Setting this property has no
effect.
Visibility of the editor object handle in the list of children for its parent, specified as one of these values:
'on'
— Editor object handle is always visible.'off'
— Editor object handle is invisible at all times. This option is useful for preventing unintended changes to the editor by another function. To temporarily hide the handle during the execution of that function, set theHandleVisibility
to'off'
.'callback'
— Editor object handle is visible from within callbacks or functions invoked by callbacks, but not from within functions invoked from the command line. This option blocks access to the object in the Command Window, but it allows callback functions to access it.
Identifiers
This property is read-only.
Type of UI component object, returned as 'openloopeditor'
Object identifier, specified as a character vector
or string scalar. You can specify a unique Tag
value to serve as an
identifier for an object. When you need access to the object elsewhere in your code, you
can use the findobj
function to search for the object
based on the Tag
value.
User data, specified as any MATLAB array. For example, you can specify a scalar, vector, matrix, cell array, character array, table, or structure. Use this property to store arbitrary data on an object.
Version History
Introduced in R2025a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: United States.
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)