BodePlot
✖
BodePlot
Details and Options




- BodePlot plots the magnitude and phase of the transfer function of lsys.
- The system lsys can be TransferFunctionModel or StateSpaceModel, including descriptor and delay systems.
- For a system lsys with the corresponding transfer function
, the following expressions are plotted:
-
continuous-time system discrete-time system with sample time - BodePlot treats the variable ω as local, effectively using Block.
- BodePlot has the same options as Plot, with the following changes and additions: [List of all options]
-
Exclusions None frequencies to exclude FeedbackType "Negative" the feedback type Frame True whether to draw a frame around each plot MeshFunctions {{#1&},{#1&}} how to determine the placement of mesh divisions PhaseRange Automatic range of phase values to use PlotLayout "VerticalGrid" the layout to be used PlotRange {{Full,Automatic},{Full,Automatic}} range of values to include SamplingPeriod None the sampling period ScalingFunctions {{"Log10","dB"},{"Log10","Degree"}} the scaling functions StabilityMargins False whether to show the stability margins StabilityMarginsStyle Automatic graphics directives to specify the style of the stability margins - Possible explicit settings for the option PlotLayout are "VerticalGrid" and "List".
- The option PlotLayout accepts the following values:
-
"VerticalGrid" magnitude and phase plot in a vertical grid { ,
}
"List" magnitude and phase plot in a list "Magnitude" magnitude plot only "Phase" phase plot only - The other options of BodePlot can be specified as a list of two elements, with the first element corresponding to the magnitude plot and the second to the phase plot.
- Option specifications include:
-
opt->val use val for both the magnitude and the phase plot opt->{val} use val for the magnitude plot and the default for the phase plot opt->{val1,val2} use val1 for the magnitude plot and val2 for the phase plot opt->{Automatic,val} use the default for the magnitude plot and val for the phase plot - With the PlotLayout settings "Magnitude" or "Phase", a single setting refers to the plot requested.
- The scaling functions can be specified as ScalingFunctions->{{magfreqscale,magscale},{phasefreqscale,phasescale}}.
- The frequency scales magfreqscale and phasefreqscale can be "Log10" or "Linear", which correspond to the base-10 logarithmic scale and linear scale, respectively.
- The magnitude scale magscale can be "dB" or "Absolute", which correspond to the decibel and absolute values of the magnitude, respectively.
- The phase scale phasescale can be "Degree" or "Radian".
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio 1/GoldenRatio ratio of height to width Axes True whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ClippingStyle None what to draw where curves are clipped ColorFunction Automatic how to determine the coloring of curves ColorFunctionScaling True whether to scale arguments to ColorFunction ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool Epilog {} primitives rendered after the main plot EvaluationMonitor None expression to evaluate at every function evaluation Exclusions None frequencies to exclude ExclusionsStyle None what to draw at excluded points FeedbackType "Negative" the feedback type Filling None filling to insert under each curve FillingStyle Automatic style to use for filling FormatType TraditionalForm the default format type for text Frame True whether to draw a frame around each plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelingSize Automatic maximum size of callouts and labels LabelStyle {} style specifications for labels MaxRecursion Automatic the maximum number of recursive subdivisions allowed Mesh None how many mesh points to draw on each curve MeshFunctions {{#1&},{#1&}} how to determine the placement of mesh divisions MeshShading None how to shade regions between mesh points MeshStyle Automatic the style for mesh points Method Automatic the method to use for refining curves PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PhaseRange Automatic range of phase values to use PlotHighlighting Automatic highlighting effect for curves PlotLabel None overall label for the plot PlotLabels None labels to use for curves PlotLayout "VerticalGrid" the layout to be used PlotLegends None legends for curves PlotPoints Automatic initial number of sample points PlotRange {{Full,Automatic},{Full,Automatic}} range of values to include PlotRangeClipping True whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PlotStyle Automatic graphics directives to specify the style for each curve PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RegionFunction (True&) how to determine whether a point should be included RotateLabel True whether to rotate y labels on the frame SamplingPeriod None the sampling period ScalingFunctions {{"Log10","dB"},{"Log10","Degree"}} the scaling functions StabilityMargins False whether to show the stability margins StabilityMarginsStyle Automatic graphics directives to specify the style of the stability margins TargetUnits Automatic units to display in the plot Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks WorkingPrecision MachinePrecision the precision used in internal computations
List of all options




Examples
open allclose allBasic Examples (3)Summary of the most common use cases

https://wolfram.com/xid/0i1r4wou6-smo94l


https://wolfram.com/xid/0i1r4wou6-djvq9m
Plot over an explicit frequency range:

https://wolfram.com/xid/0i1r4wou6-or4iv2

Bode plot of a state-space model:

https://wolfram.com/xid/0i1r4wou6-inoj7k

Scope (13)Survey of the scope of standard use cases
Bode plot of a constant-gain system:

https://wolfram.com/xid/0i1r4wou6-yglej9


https://wolfram.com/xid/0i1r4wou6-emlvr9

Bode plot of a differentiator:

https://wolfram.com/xid/0i1r4wou6-isayy3

Bode plot of a first-order lag:

https://wolfram.com/xid/0i1r4wou6-2v78e

Bode plot of a first-order lead:

https://wolfram.com/xid/0i1r4wou6-8gnze1

Bode plot of a second-order system:

https://wolfram.com/xid/0i1r4wou6-9seqte

A higher-order TransferFunctionModel:

https://wolfram.com/xid/0i1r4wou6-8u8y7a

Bode plot of a time-delay system:

https://wolfram.com/xid/0i1r4wou6-uqcvn4


https://wolfram.com/xid/0i1r4wou6-0365c3


https://wolfram.com/xid/0i1r4wou6-byg9e2

The Bode plot of a state-space model:

https://wolfram.com/xid/0i1r4wou6-7ex9ln

A system specified using its sinusoidal transfer function:

https://wolfram.com/xid/0i1r4wou6-xhe5nt

The Bode plot of a multiple-input, multiple-output system:

https://wolfram.com/xid/0i1r4wou6-3ij4am

Generalizations & Extensions (1)Generalized and extended use cases
Options (21)Common values & functionality for each option
CoordinatesToolOptions (5)
To obtain coordinates, select the graphics and press the period key:

https://wolfram.com/xid/0i1r4wou6-2nyrb8

If frequency is in rad/s, obtain coordinate frequency values in hertz by dividing it by :

https://wolfram.com/xid/0i1r4wou6-57jeib

Coordinate frequency values in different units for each plot:

https://wolfram.com/xid/0i1r4wou6-bvfkm8

Frequency values in original units, magnitude in absolute units, and phase in radians:

https://wolfram.com/xid/0i1r4wou6-l04qzn

Specify radians as both the displayed and copied value of phase:

https://wolfram.com/xid/0i1r4wou6-r43x4j

GridLines (3)
GridLinesStyle (2)
PhaseRange (1)
PlotLayout (1)
By default, the magnitude plot is placed vertically above the phase plot:

https://wolfram.com/xid/0i1r4wou6-xk6y4n

https://wolfram.com/xid/0i1r4wou6-nvn5il


https://wolfram.com/xid/0i1r4wou6-81yth1


https://wolfram.com/xid/0i1r4wou6-3240je


https://wolfram.com/xid/0i1r4wou6-6yf5w3

PlotTheme (2)
SamplingPeriod (2)
Specify the sampling period in the system description:

https://wolfram.com/xid/0i1r4wou6-cmen34

https://wolfram.com/xid/0i1r4wou6-b9ibpq

Specify the sampling period in the BodePlot function:

https://wolfram.com/xid/0i1r4wou6-ubqqcz

A smaller sampling period results in a higher bandwidth:

https://wolfram.com/xid/0i1r4wou6-gwhv09

ScalingFunctions (2)
StabilityMargins (2)
Applications (7)Sample problems that can be solved with this function
The static position error constant of a type 0 system is the magnitude at steady state:

https://wolfram.com/xid/0i1r4wou6-7qov47


https://wolfram.com/xid/0i1r4wou6-42wtgo

The static velocity error constant of a type 1 system is approximately the intersection of the initial dB/decade segment (or its extension) with the 0 dB line:

https://wolfram.com/xid/0i1r4wou6-hm7wr7


https://wolfram.com/xid/0i1r4wou6-v3y4xp

The square root of the static acceleration error constant of a type 2 system is approximately the intersection of the initial dB/decade segment (or its extension) with the 0 dB line:

https://wolfram.com/xid/0i1r4wou6-fmsud


https://wolfram.com/xid/0i1r4wou6-6jgffr

Visualize the improvement in phase margin by using a proportional-integral (PI) compensator:

https://wolfram.com/xid/0i1r4wou6-obungf

Visualize the frequency response of a zero-order hold with sampling period 1:

https://wolfram.com/xid/0i1r4wou6-igqu0u

Obtain the Bode plot with frequency in Hertz, when the Laplace variable is in radians/second:

https://wolfram.com/xid/0i1r4wou6-zljn22

https://wolfram.com/xid/0i1r4wou6-bo9su3

For continuous-time systems, the same result can be obtained by scaling the Laplace variable:

https://wolfram.com/xid/0i1r4wou6-7p8sb1

The plot in Hertz for a discrete-time system with the Z-transform variable in radians/second:

https://wolfram.com/xid/0i1r4wou6-dvbzsb

Properties & Relations (1)Properties of the function, and connections to other functions
SingularValuePlot generalizes the Bode magnitude plot to MIMO systems:

https://wolfram.com/xid/0i1r4wou6-yhmful

https://wolfram.com/xid/0i1r4wou6-9f9yd4

Wolfram Research (2010), BodePlot, Wolfram Language function, https://reference.wolfram.com/language/ref/BodePlot.html (updated 2014).
Text
Wolfram Research (2010), BodePlot, Wolfram Language function, https://reference.wolfram.com/language/ref/BodePlot.html (updated 2014).
Wolfram Research (2010), BodePlot, Wolfram Language function, https://reference.wolfram.com/language/ref/BodePlot.html (updated 2014).
CMS
Wolfram Language. 2010. "BodePlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/BodePlot.html.
Wolfram Language. 2010. "BodePlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/BodePlot.html.
APA
Wolfram Language. (2010). BodePlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BodePlot.html
Wolfram Language. (2010). BodePlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BodePlot.html
BibTeX
@misc{reference.wolfram_2025_bodeplot, author="Wolfram Research", title="{BodePlot}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/BodePlot.html}", note=[Accessed: 15-April-2025
]}
BibLaTeX
@online{reference.wolfram_2025_bodeplot, organization={Wolfram Research}, title={BodePlot}, year={2014}, url={https://reference.wolfram.com/language/ref/BodePlot.html}, note=[Accessed: 15-April-2025
]}