Nyquist plot with describing function for a nonlinear system.
This function generates a Nyquist plot for a closed loop system consisting of a linear system with a nonlinearity in the feedback path.
The function may be called in one of two forms:
describing_function_plot(response[, options])
describing_function_plot(H, F, A[, omega[, options]])
In the first form, the response should be generated using the describing_function_response
function. In the second form, that function is called internally, with the listed arguments.
DescribingFunctionResponse
A describing function response data object created by describing_function_response
.
Linear time-invariant (LTI) system (state space, transfer function, or FRD).
Nonlinearity in the feedback path, either a scalar function or a single-input, single-output, static input/output system.
List of amplitudes to be used for the describing function plot.
List of frequencies to be used for the linear system Nyquist curve. If not specified (or None), frequencies are computed automatically based on the properties of the linear system.
If True (default), refine the location of the intersection of the Nyquist curve for the linear system and the describing function to determine the intersection point.
If present, replace automatically generated label with the given label.
Formatting string used to label intersection points on the Nyquist plot. Defaults to “%5.2g @ %-5.2g”. Set to None to omit labels.
matplotlib.axes.Axes
, optional
The matplotlib axes to draw the figure on. If not specified and the current figure has a single axes, that axes is used. Otherwise, a new figure is created.
Set the title of the plot. Defaults to plot type and system name(s).
Set to True to turn on warnings generated by nyquist_plot
or False to turn off warnings. If not set (or set to None), warnings are turned off if omega is specified, otherwise they are turned on.
matplotlib.pyplot.plot
keyword properties, optional
Additional keywords passed to matplotlib
to specify line properties for Nyquist curve.
ControlPlot
object
Object containing the data that were plotted. See ControlPlot
for more detailed information.
matplotlib.lines.Line2D
Array containing information on each line in the plot. The first element of the array is a list of lines (typically only one) for the Nyquist plot of the linear I/O system. The second element of the array is a list of lines (typically only one) for the describing function curve.
matplotlib.axes.Axes
Axes for each subplot.
matplotlib.figure.Figure
Figure containing the plot.
Examples
>>> H_simple = ct.tf([8], [1, 2, 2, 1]) >>> F_saturation = ct.saturation_nonlinearity(1) >>> amp = np.linspace(1, 4, 10) >>> cplt = ct.describing_function_plot(H_simple, F_saturation, amp)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4