Azzera filtri
Azzera filtri

Steady state doesn't appear in step response plot

9 visualizzazioni (ultimi 30 giorni)
I Have the following specific transfer function:
bad_sys = tf([0 0 93 278], [1 20 12 0]);
And I want to plot the step response of its close loop (with negative feedback, no gain), and display the settling time. So I call:
But the plot I get don't dave the dashed line which represents the steady state value, and thus will not display the settling time when I choose this option (not defined):
This steady state line, and the option to display settling time works great for the following transfer function:
good_sys = tf([0 0 1 1], [1 2 2 2]);
I suggested that the problem is in bad_sys. So I called:
And defined G in the architecture as bad_sys:
Now I let the magical sisotool to plot the step response (with the gain C=1). This should yield the same problem, but here I got the line I wanted and the option to display settling time:
So my question is, why the steady state line of bad_sys is not displayed (and I cant display settling time) via the step function?

Risposta accettata

Aquatris il 29 Ott 2018
The bad_sys works if you call the step function with;
I am not sure about the exact reason but one possibility is, when you closed the loop without calling minreal() function, you basically do not allow pole-zero cancellation. Since bad_sys has a pole at zero, this causes problems (internally Matlab probably does not know what to do). good_sys on the other hand do not have a pole at zero so Matlab is happy to work with it.

Più risposte (0)




Community Treasure Hunt

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

Start Hunting!

Translated by