Hi Folks, I am not able to click aggresive, transient behavior and robust buttons. Do you have some advice?

2 Kommentare

Sam Chak
Sam Chak am 1 Sep. 2026 um 6:10
When you launch the PID Tuner app, what are the plant system and the selected PID control structure?
Yusuf Suer Erdem
Yusuf Suer Erdem am 1 Sep. 2026 um 18:46
It is a transfer function which is "1/s^2+10*s+20". However I was able to use them since I added " I + D " layers to my " P " block. Thanks for reading my question.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Sam Chak
Sam Chak am 3 Sep. 2026 um 13:16
I investigated the issue. In the PID Tuner app, the Response Time slider and the Transient Behavior slider represent two closely interrelated design choices. However, the app greys out the Transient Behavior slider because a P-only controller has only one single control parameter to adjust.
Despite this visual lockout, it does not mean that a P-only controller is incapable of changing transient behavior. As we can clearly see from manual simulations below, changing the gain directly alters the system response, affecting how fast the system reacts, how much it overshoots, and its steady-state error.
The app disables the slider strictly due to a software design choice regarding how the two sliders interact. Because a P-only controller cannot achieve a fast response time and a robustly low overshoot simultaneously with just a single control parameter, the interface locks the 2nd slider to prevent conflicting design inputs.
s = tf('s');
G = 1/(s^2 + 10*s + 20)
G = 1 --------------- s^2 + 10 s + 20 Continuous-time transfer function.
pidTuner(G, 'P')
figure
hold on
C = pidtune(G, 'P'); % Propotional Controller
step(feedback(C*G, 1), 1.2),
C = pid(C.Kp + 100);
step(feedback(C*G, 1), 1.2),
C = pid(C.Kp + 100);
step(feedback(C*G, 1), 1.2),
C = pid(C.Kp + 100);
step(feedback(C*G, 1), 1.2),
C = pid(C.Kp + 100);
step(feedback(C*G, 1), 1.2), hold off
grid on

3 Kommentare

Yusuf Suer Erdem
Yusuf Suer Erdem am 3 Sep. 2026 um 17:21
what does '1.2' stand for?
Sam Chak
Sam Chak am 3 Sep. 2026 um 18:19
Bearbeitet: Sam Chak am 3 Sep. 2026 um 18:20
The "1.2" in the code is actually the final simulation time for plotting the step response.
Here is the 2nd demo.
s = tf('s');
G = 1/(s^2 + 10*s + 20) % Plant
G = 1 --------------- s^2 + 10 s + 20 Continuous-time transfer function.
F = tf(20) % Scaling factor
F = 20 Static gain.
Gol = series(F, G) % Open-loop
Gol = 20 --------------- s^2 + 10 s + 20 Continuous-time transfer function.
Tfin= 4; % final simulation time
step(Gol, Tfin)
grid on
title('Open-loop system with a scaled step input')
Yusuf Suer Erdem
Yusuf Suer Erdem am 5 Sep. 2026 um 12:09
Thanks, I often use these functions however maybe I do not use them this way. I expect that the system defines me a simulation time.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Version

R2015a

Gefragt:

am 1 Sep. 2026 um 5:24

Kommentiert:

am 5 Sep. 2026 um 12:09

Community Treasure Hunt

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

Start Hunting!

Translated by