Matlab 'pidtune()' function Algorithm

13 Ansichten (letzte 30 Tage)
Ann-Christin Schlupek
Ann-Christin Schlupek am 25 Mär. 2023
Kommentiert: Sam Chak am 29 Mär. 2023
Good evening,
can someone maybe explain me how the Algorithm of the pidtune() function works?
Thanks in advance!

Antworten (2)

Steven Lord
Steven Lord am 26 Mär. 2023
See the Algorithms section on its documentation page. The References section on that same page may also be of interest.
  1 Kommentar
Ann-Christin Schlupek
Ann-Christin Schlupek am 26 Mär. 2023
Thanks for your answer, but I want to understand how exactly the algorithm chooses the parameter of the controller?

Melden Sie sich an, um zu kommentieren.


Sam Chak
Sam Chak am 26 Mär. 2023
The PID Tuning Algorithm is described on this page.
In slightly technical terms, pidtune() contains a set of instructions that tells MATLAB what numerical operations to perform repeatedly, in what order, and under what conditions, until all three tuning objectives are achieved:
  1. Closed-loop stability
  2. Adequate performance
  3. Adequate robustness
according to some tuning rules such as the popular Ziegler–Nichols, Aström's AMIGO, Skogestad's Internal Model Control, and Chien-Hrones-Reswick. Suggest you to make a Google search on these tuning rules.
I haven't looked into the algorithm. But from the perspective of control system design, those operations can range from basic arithmetic calculations (identifying the search direction of the stability regime for the PID gains via the Routh–Hurwitz criterion, computing eigenvalues, etc.) to complex data analysis (linearization, computing step-response characteristics, computing gain margin and phase margin, etc.).
By default, if the designer doesn't know what the performance requirements are or what the stakeholder really want, then the algorithm will automatically choose a crossover frequency (loop bandwidth) based on the plant dynamics, and designs for a target phase margin of 60°.
  2 Kommentare
Ann-Christin Schlupek
Ann-Christin Schlupek am 29 Mär. 2023
Where can I look into the algorithm?
Sam Chak
Sam Chak am 29 Mär. 2023
The pidtune(), like most commericial software such as
is a proprietary PID tuning algorithm. However, you can search the m-file and take a glimpse.
edit pidtune

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by