nicholsoptions
Plot options for nicholsplot
Description
Use the nicholsoptions function to create a
NicholsOptions object. Use this object to customize the appearance of a
Nichols plot created using nicholsplot and override the plot preferences
for the MATLAB® session in which you create the Nichols plot.
The options you specify for a NicholsOptions object correspond to
properties of a NicholsPlot chart
object.
Creation
Description
returns a
default set of plot options for use with plotoptions = nicholsoptionsnicholsplot. You can use these options to customize the Nichols plot
appearance using the command line. This syntax is useful when you want to write a script
to generate plots that look the same regardless of the preference settings of the
MATLAB session in which you run the script.
initializes the plot options with the options you selected in the Control System Toolbox™ preferences editor Editor. For more information about the editor, see Specify Toolbox Preferences for Linear Analysis Plots. This syntax is useful when you want to change a few
plot options but otherwise use your default preferences. A script that uses this syntax
can generate results that look different when run in a session with different
preferences.plotoptions = nicholsoptions("cstprefs")
Properties
Units
Frequency units, specified as one of the following values:
'Hz''rad/s''rpm''kHz''MHz''GHz''rad/nanosecond''rad/microsecond''rad/millisecond''rad/minute''rad/hour''rad/day''rad/week''rad/month''rad/year''cycles/nanosecond''cycles/microsecond''cycles/millisecond''cycles/hour''cycles/day''cycles/week''cycles/month''cycles/year'
You can also specify 'auto' which uses frequency
'rad/TimeUnit', where TimeUnit is the
TimeUnit property of the input system.
This option corresponds to the FrequencyUnit property of the chart object.
Magnitude units, specified as one of the following:
'dB'— Decibels'abs'— Absolute value
This option corresponds to the MagnitudeUnit property of the chart object.
Phase units, specified as one of the following:
'deg'— Degrees'rad'— Radians
This option corresponds to the PhaseUnit property of the chart object.
Magnitude Lower Limit
Lower magnitude limit mode, specified as either 'auto' or 'manual'.
This option corresponds to the MinimumGainEnabled property of the chart object.
Lower magnitude limit value, specified as a scalar.
This option corresponds to the MinimumGainValue property of the chart object.
Phase Wrapping and Matching
Option to enable phase wrapping, specified as either 'off' or
'on'. When phase wrapping is enabled, the phase shown in
the response wraps to remain in the range defined by
PhaseWrappingBranch.
When both phase wrapping and phase matching are enabled, the software performs the phase matching followed by the phase wrapping.
This option corresponds to the PhaseWrappingEnabled property of the chart object.
Lower limit of phase-wrapping range, specified as a scalar value in degrees.
The phase-wrapping range is [B,B+360), where
B is equal to
PhaseWrappingBranch.
This option corresponds to the PhaseWrappingBranch
property of the chart object.
Option to enable phase matching, specified as either 'off' or
'on'. When phase matching is enabled, the phase response
matches the value specified in PhaseMatchingValue at the
frequency specified in PhaseMatchingFreq. The remaining
phase response shifts to maintain the same phase profile.
This option corresponds to the PhaseMatchingEnabled property of the chart object.
When both phase wrapping and phase matching are enabled, the software performs the phase matching followed by the phase wrapping.
Phase matching frequency, specified as a scalar.
This option corresponds to the PhaseMatchingFrequency property of the chart object.
Phase matching response value, specified as a scalar.
This option corresponds to the PhaseMatchingValue property of the chart object.
Inputs and Outputs
Grouping of input-output (I/O) pairs, specified as one of the following:
'none'— Do not group inputs or outputs.'inputs'— Group only inputs.'outputs'— Group only outputs.'all'— Group all input-output pairs.
This option corresponds to the IOGrouping property of the chart object.
Input label style, specified as a structure with the following fields:
FontSize— Font size, specified as a scalar value greater than zero in point units. The default font size depends on the specific operating system and locale. One point equals1/72inch.FontWeight— Character thickness, specified as'Normal'or'bold'. MATLAB uses theFontWeightproperty to select a font from those available on your system. Not all fonts have a bold weight. Therefore, specifying a bold font weight can still result in the normal font weight.FontAngle— Character slant, specified as'Normal'or'italic'. Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.Color— Text color, specified as an RGB triplet. The default color is dark grey with the RGB triplet[0.4,0.4,0.4].Interpreter— Text interpreter, specified as one of these values:'tex'— Interpret characters using a subset of TeX markup. This is the default value ofInterpreter.'latex'— Interpret characters using LaTeX markup.'none'— Display literal characters.
This option corresponds to the InputLabels property of
the chart object.
Output label style, specified as a structure with the following fields:
FontSize— Font size, specified as a scalar value greater than zero in point units. The default font size depends on the specific operating system and locale. One point equals1/72inch.FontWeight— Character thickness, specified as'Normal'or'bold'. MATLAB uses theFontWeightproperty to select a font from those available on your system. Not all fonts have a bold weight. Therefore, specifying a bold font weight can still result in the normal font weight.FontAngle— Character slant, specified as'Normal'or ''italic'. Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.Color— Text color, specified as an RGB triplet. The default color is dark grey with the RGB triplet[0.4,0.4,0.4].Interpreter— Text interpreter, specified as one of these values:'tex'— Interpret characters using a subset of TeX markup. This is the default value ofInterpreter.'latex'— Interpret characters using LaTeX markup.'none'— Display literal characters.
This option corresponds to the OutputLabels property of
the chart object.
Option to display inputs, specified as {'on'}, {'off'}, or a cell array with multiple elements.
This option corresponds to the InputVisible property of the chart object.
Option to display outputs, specified as {'on'}, {'off'}, or a cell array with multiple elements.
This option corresponds to the OutputVisible property of the chart object.
Title and Axis Labels
Title text and style, specified as a structure with the following fields:
String— Label text, specified as a character vector. By default, the plot is titled 'Bode Diagram'.FontSize— Font size, specified as a scalar value greater than zero in point units. The default font size depends on the specific operating system and locale. One point equals1/72inch.FontWeight— Character thickness, specified as'Normal'or'bold'. MATLAB uses theFontWeightproperty to select a font from those available on your system. Not all fonts have a bold weight. Therefore, specifying a bold font weight can still result in the normal font weight.FontAngle— Character slant, specified as'Normal'or'italic'. Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.Color— Text color, specified as an RGB triplet. The default color is black specified by the RGB triplet[0,0,0].Interpreter— Text interpreter, specified as one of these values:'tex'— Interpret characters using a subset of TeX markup. This is the default value ofInterpreter.'latex'— Interpret characters using LaTeX markup.'none'— Display literal characters.
This option corresponds to the Title property of the chart object.
X-axis label text and style, specified as a structure with the following fields:
String— Label text, specified as a character vector. By default, the axis is titled based on the frequency unitsFreqUnits.FontSize— Font size, specified as a scalar value greater than zero in point units. The default font size depends on the specific operating system and locale. One point equals1/72inch.FontWeight— Character thickness, specified as'Normal'or'bold'. MATLAB uses theFontWeightproperty to select a font from those available on your system. Not all fonts have a bold weight. Therefore, specifying a bold font weight can still result in the normal font weight.FontAngle— Character slant, specified as'Normal'or'italic'. Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.Color— Text color, specified as an RGB triplet. The default color is black specified by the RGB triplet[0,0,0].Interpreter— Text interpreter, specified as one of these values:'tex'— Interpret characters using a subset of TeX markup. This is the default value ofInterpreter.'latex'— Interpret characters using LaTeX markup.'none'— Display literal characters.
This option corresponds to the XLabel property of the chart object.
Y-axis label text and style, specified as a structure with the following fields:
String— Label text, specified as a cell array of character vectors. By default, the axis label is a 1x2 cell array with 'Magnitude' and 'Phase'.FontSize— Font size, specified as a scalar value greater than zero in point units. The default font size depends on the specific operating system and locale. One point equals1/72inch.FontWeight— Character thickness, specified as'Normal'or'bold'. MATLAB uses theFontWeightproperty to select a font from those available on your system. Not all fonts have a bold weight. Therefore, specifying a bold font weight can still result in the normal font weight.FontAngle— Character slant, specified as'Normal'or'italic'. Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.Color— Text color, specified as an RGB triplet. The default color is black specified by the RGB triplet[0,0,0].Interpreter— Text interpreter, specified as one of these values:'tex'— Interpret characters using a subset of TeX markup. This is the default value ofInterpreter.'latex'— Interpret characters using LaTeX markup.'none'— Display literal characters.
This option corresponds to the YLabel property of the chart object.
Tick label style, specified as a structure with the following fields:
FontSize— Font size, specified as a scalar value greater than zero in point units. The default font size depends on the specific operating system and locale. One point equals1/72inch.FontWeight— Character thickness, specified as'Normal'or'bold'. MATLAB uses theFontWeightproperty to select a font from those available on your system. Not all fonts have a bold weight. Therefore, specifying a bold font weight can still result in the normal font weight.FontAngle— Character slant, specified as'Normal'or'italic'. Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.Color— Text color, specified as an RGB triplet. The default color is black specified by the RGB triplet[0,0,0].
Grid
Toggle grid display on the plot, specified as either 'off' or 'on'.
This option corresponds to the GridVisible property of the chart object.
Color of the grid lines, specified as an RGB triplet. The default color is light grey specified by the RGB triplet [0.15 0.15 0.15].
Axis Limits
X-axis limit selection mode, specified as one of the following values:
'auto'— Enable automatic limit selection, which is based on the total span of the plotted data.'manual'— Manually specify the axis limits. To specify the axis limits, set theXLimoption.
This option corresponds to the XLimitsMode property of the chart object.
Selection mode for the y-axis limits, specified as one of these values:
'auto'— Enable automatic limit selection, which is based on the total span of the plotted data.'manual'— Manually specify the axis limits. To specify the axis limits, set theYLimoption.
This option corresponds to the YLimitsMode property of the chart object.
X-axis limits, specified as a cell array of two-element vector of the form [min,max].
This option corresponds to the XLimits property of the chart object.
Y-axis limits, specified as a cell array of two-element vector of the form [min,max].
This option corresponds to the YLimits property of the chart object.
Object Functions
nicholsplot | Plot Nichols frequency response of dynamic system |
Examples
For this example, use the plot handle to change the title, turn on the grid, and set axis limits.
Generate a random state-space model with 5 states and create the Nichols plot with chart object np.
rng("default")
sys = rss(5);
np = nicholsplot(sys);
Change the title, enable the grid, and set axis limits.
np.Title.String = "Nichols Frequency Response"; xlim([-2 4]) ylim([3.3 4.3]) grid on

Alternatively, you can also use the nicholsoptions command to specify the required plot options. First, create an options set based on the toolbox preferences.
plotoptions = nicholsoptions('cstprefs');Change the desired properties of the options set.
plotoptions.Title.String = 'Nichols Frequency Response'; plotoptions.Grid = 'on'; plotoptions.XLim = {[-2,4]}; plotoptions.YLim = {[3.3,4.3]}; nicholsplot(sys,plotoptions);

Depending on your own toolbox preferences, the plot you obtain might look different from this plot. Only the properties that you set explicitly, in this example Title, Grid, XLim and YLim, override the toolbox preferences.
For this example, create a Nichols plot that uses 15-point red text for the title. This plot should look the same, regardless of the preferences of the MATLAB session in which it is generated.
First, create a default options set using nicholsoptions.
plotoptions = nicholsoptions;
Next, change the required properties of the options set plotoptions.
plotoptions.Title.FontSize = 15; plotoptions.Title.Color = [1 0 0]; plotoptions.FreqUnits = 'Hz'; plotoptions.Grid = 'on';
Now, create a Nichols plot using the options set plotoptions.
nicholsplot(tf(1,[1,1]),{0,15},plotoptions);
Because plotoptions begins with a fixed set of options, the plot result is independent of the toolbox preferences of the MATLAB session.
For this example, create a Nichols plot of the following continuous-time SISO dynamic system. Then, turn the grid on and rename the plot.
Create the transfer function sys.
sys = tf([1 0.1 7.5],[1 0.12 9 0 0]);
Next, create the options set using nicholsoptions and change the required plot properties.
plotoptions = nicholsoptions; plotoptions.Grid = 'on'; plotoptions.Title.String = 'Nichols Plot of Transfer Function';
Now, create the Nichols plot with the custom option set plotoptions.
nicholsplot(sys,plotoptions)

nicholsplot automatically selects the plot range based on the system dynamics.
For this example, compare the Nichols response of a parametric model, identified from input/output data, to a non-parametric model identified using the same data. Identify parametric and non-parametric models based on the data.
Load the data and create the parametric and non-parametric models using tfest and spa, respectively.
load iddata2 z2; w = linspace(0,10*pi,128); sys_np = spa(z2,[],w); sys_p = tfest(z2,2);
spa and tfest require System Identification Toolbox™ software. The model sys_np is a non-parametric identified model while, sys_p is a parametric identified model.
Create an options set to turn phase matching and the grid on. Then, create a Nichols plot that includes both systems using this options set.
plotoptions = nicholsoptions; plotoptions.PhaseMatching = 'on'; plotoptions.Grid = 'on'; plotoptions.XLim = {[-240,0]}; h = nicholsplot(sys_p,'r.-.',sys_np,'b.-.',w,plotoptions); legend('Parametric Model','Non-Parametric model');

Create an options set, and set the phase units and grid option.
P = nicholsoptions; P.PhaseUnits = 'rad'; P.Grid = 'on';
Use the options set to generate a Nichols plot. Note the phase units and grid in the plot.
h = nicholsplot(tf(1,[1,.2,1,0]),P);

Version History
Introduced in R2008a
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)