Define options for the pidtune command


opt = pidtuneOptions
opt = pidtuneOptions(Name,Value)


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.

Input Arguments

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. 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.


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


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


Object containing the specified options for pidtune.


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);

More About

expand all


  • Use pidtuneOptions with the pidtune command to design a PID controller for a specified phase margin.

  • When using the pidtune command to design a PID controller for a plant with unstable poles, if your plant model is one of the following:

    • A frd model

    • A ss model with internal delays that cannot be converted to I/O delays

    then use pidtuneOptions to specify the number of unstable poles in the plant.

See Also

Was this topic helpful?