How to Plot Data at the Command Line
The following table summarizes the commands available for plotting time-domain, frequency-domain, and frequency-response data.
Commands for Plotting Data
Command | Description | Example |
---|---|---|
bode , bodeplot | For frequency-response data only. Shows the magnitude and phase of the frequency response on a logarithmic frequency scale of a Bode plot. |
To plot bode(idfrd_data) or: bodeplot(idfrd_data) |
idplot | The type of plot corresponds to the type of data. For example, plotting time-domain data generates a time plot, and plotting frequency-response data generates a frequency-response plot. When plotting time- or frequency-domain inputs and outputs, the top axes show the output and the bottom axes show the input. | To plot time-domain or frequency-domain data that is in the form of timetables, numeric
matrices, or idplot(data) |
All plot commands display the data in the standard MATLAB® Figure window, which provides options for formatting, saving, printing, and exporting plots to a variety of file formats.
To plot portions of the data, you can subreference specific samples (see Select Data Channels, I/O Data and Experiments in iddata Objects and Select I/O Channels and Data in idfrd Objects. For example:
plot(data(1:300))
For time-domain data, to plot only the input data as a function of time, use the following syntax:
plot(data(:,[],:)
When data.intersample = 'zoh'
, the input
is piece-wise constant between sampling points on the plot. For more
information about properties, see the iddata
reference
page.
You can generate plots of the input data in the time domain using:
plot(data.SamplingInstants,data.u)
To plot frequency-domain data, you can use the following syntax:
semilogx(data.Frequency,abs(data.u))
When you specify to plot a multivariable iddata
object,
each input-output combination is displayed one at a time in the same MATLAB Figure
window. You must press Enter to update the Figure
window and view the next channel combination. To cancel the plotting
operation, press Ctrl+C.
Tip
To plot specific input and output channels, use plot(data(:,ky,ku))
,
where ky
and ku
are specific
output and input channel indexes or names. For more information about
subreferencing channels, see Subreferencing Data Channels.
To plot several iddata
sets d1,...,dN
,
use plot(d1,...,dN)
. Input-output channels with
the same experiment name, input name, and output name are always plotted
in the same plot.