Skip to Main Content Skip to Search
Product Documentation

pidtuneOptions - Define options for the pidtune command

Syntax

opt = pidtuneOptions
opt = pidtuneOptions(Name,Value)

Description

opt = pidtuneOptions returns the default option set for the pidtune command.

opt = pidtuneOptions(Name,Value) creates an option set with the options specified by one or more Name,Value pair arguments.

Tips

Input Arguments

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments, where Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'PhaseMargin'

Target phase margin in degrees. pidtune attempts to design a controller such that the phase margin is at least the value specified for PhaseMargin. The selected crossover frequency could restrict the achievable phase margin. Typically, higher phase margin improves stability and overshoot, but limits bandwidth and response speed.

Default: 60

'NumUnstablePoles'

Number of unstable poles in the plant. When your plant is a frd model or a state-space model with internal delays, you must specify the number of open-loop unstable poles (if any). Incorrect values might result in PID controllers that fail to stabilize the real plant. (pidtune ignores this option for other model types.)

Unstable poles are poles located at:

  • Re(s) > 0, for continuous-time plants

  • |z| > 1, for discrete-time plants

A pure integrator in the plant (s = 0) or (|z| > 1) does not count as an unstable pole for NumUnstablePoles. If your plant is a frd model of a plant with a pure integrator, for best results, ensure that your frequency response data covers a low enough frequency to capture the integrator slope.

Default: 0

Output Arguments

opt

Object containing the specified options for pidtune.

Examples

Tune a PI controller with a target phase margin of 45 degrees. Use pidtuneOptions to specify the phase margin:

sys = tf(1,[1 3 3 1]);
opts = pidtuneOptions('PhaseMargin',45);
[C,info] = pidtune(sys,'pid',opts);

See Also

pidtune

  


Free Control Systems Interactive Kit

Learn more about resources for designing, testing, and implementing control systems.

Get free kit

Trials Available

Try the latest control systems products.

Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS