Comparing Stability and Performance Indices
English translation
Control Engineering I · Week 14
This week's goal · Distinguish poles, steady-state error, and finite-horizon performance indices.
Run: After signing in to MathWorks, open .mlx in your workspace. Click inside the code → Live Editor → Run Section to run one section at a time. Run runs everything. After changing a value, rerun the relevant section. Edit the text in ⟦enter here⟧ response fields; do not execute them. You can use Ctrl+Enter on Windows/Linux and ⌘+Enter on Mac.
1. First check whether the response is stable
BIBO stability means a bounded input produces a bounded output. For the continuous-time proper transfer functions in this exercise, check whether all poles have negative real parts after cancellation. Internal stability is a stronger condition that also considers hidden unstable modes.
First check whether the response is stable
Sign changes in the first column of a Routh table give the number of right-half-plane roots. Special cases with a first element of 0 or an entire row of 0 require separate handling and must not be automatically marked stable.
2. Define errors with nonunity feedback
relates reference r to actual output y. The tracking error subtracts the actual output from the reference. Subtracting the sensor measurement Hy from the reference gives , which the controller receives. The two errors can differ if the sensor changes the signal magnitude or its variation over time. In this exercise, use to assess whether the actual output is close to the reference.
Define errors with nonunity feedback
Use K=4,G=1/(s+2),H=2/(s+4). Calculate 1−dcgain(T) and 1−H(0)dcgain(T) separately and check the difference.
3. Compare performance indices over the same time interval
Compare the magnitude and duration of error using a single number. weights large errors more heavily, while sums error magnitudes directly. assigns greater weight to an error of the same magnitude if it persists later. For =1,2,4, use the same 0~20 seconds and time spacing for every model, and integrate with trapz.
Compare indices over the same time interval
If steady-state error is not 0, infinite-horizon ISE may diverge. The value calculated here reflects only error accumulated over 0~20 seconds. Comparing different automatically selected time axes is not a fair comparison.
4. Conditions for optimization and low-order approximation
Compare for K3>0. Compare the candidate found by differentiation with the grid search. Also compare the step responses of and .
Conditions for optimization and reduced-order approximation
Optimization gives an optimum for the chosen index and allowed range. A reduced-order approximation does not match the original model for every input and frequency, so check both maximum error and final value.
Check your understanding
- What values should go into the code, and what does each row and column of the resulting array represent? If calculating physical quantities, have you also checked the units?
- Can you identify which parts to rerun when you change one condition?
- Do the results match your expectations? If they differ, can you explain why using the output values or plots?
Practice materials
- Control_Engineering_1_Week14_Stability.mlxPreview mlx script · Download mlx script