S.Skogestad and I.Postlethwaite, Multivariable feedback control , Wiley 1996, 572 pages.

The list of the MATLAB files organized by chapter:

Chapter 2

Eq2_26.m and Eq2_54.m The two main plant models (2.26) p.24

& (2.54) p.46.

Expl2_3.m Example 2.3 p.27

ExplX2_1.m EXTRA Example. Similar to Example 2.3, but for unstable plant

Expl2_5.m Example 2.5 p.38

Expl2_6.m Example 2.6 p.43

Expl2_7.m Example 2.7 p.46

Expl2_8.m Example 2.8 p.49

Expl2_9.m Example 2.9 p.52

Expl2_10.m Example 2.10 p.53

Expl2_11.m Example 2.11 p.60

Fig2_1.m Figure 2.1 p.17

Fig2_2.m Figure 2.2 p.18

Fig2_3.m Figure 2.3 p.20

Fig2_5.m and Fig2_6.m Figures 2.5 p.24 & 2.6 p.26

Tab2_1.m Table 2.1 p.36

Tab2_3.m Table 2.3 p. 60; See also Expl2_11.m

peaks.m used in Tab2_1.m

sysanaly.m used in Expl2_8.m

Chapter 3

ExplX3_1.m EXTRA example: Exact freq resp and RGA of MIMO plant with delay

Exe3_7.m Exercise 3.7 p.96

Exe3_8.m Exercise 3.8 p.96

Exe3_9.m Exercise 3.9 p.97

Expl3_6.m Example 3.6 p.75

Expl3_8.m Example 3.8 p.84

Fig3_5.m Figure 3.5 p.71

Rem3_372 Remark 3 in section 3.7.2, S-KS Design p.96

Sec3_7_1.m Section 3.7.1 Motivating robustness example no. 1, Spinning Satellite p.91

Sec3_7_2.m Section 3.7.2 Motivating robustness example no. 2, Distillation Process p.93

rga.m function to get RGA(G)

vrga.m function to get RGA(G) when G is varying matrix

condmin.m function to get minimized condition number

condmini.m function to get input minimized condition number

condmino.m function to get output minimized condition number

coprimeunc.m function for H-infinity loopshaping design

Chapter 4

izde.m ozde.m functions to compute input and output zero directions

ncopfac.m function to get normalized coprime factors p.119

Expl4_5.m Example 4.5 p.123

Expl4_11.m Example 4.11 p.134 - Compute pole and zero directions

Sec4_10.m Section 4.10 System norms, calculating examples p.151

Chapter 5

ExplX5_1.m EXTRA Example; Illustrates Bode's sens. integral; p. 167

Expl5_1.m Example 5.1 p.180

Expl5_2.m Example 5.2 p.186

Expl5_6.m Example 5.6 p.190

Exp15_7.m Example 5.7 p.192

Exp15_7s.m Utility simulink model for Example 5.7

Fig5_4.m Figure 5.4 p.168

Fig5_6.m Figure 5.6 p.173

Fig5_7.m Figures 5.7 p.176

Sec5_7.m Section 5.7 Non-casual controllers p.182

rhmodel.m Utility simulink model for Room heating example

RoomHeat.m Section 5.16.2 Application: Room heating p.203

NeutProc.m Section 5.16.3 Application: Neutralizing process p.205

Chapter 6

Exe6_2.m Exercise 6.2 p.221

Expl6_3.m Example 6.3 p.224

Expl6_7.m Example 6.7 p.242

Exp16_8.m Example 6.8 p.243

Expl6_9.m Example 6.9 p.243

skrpmu.m function to calculate skewed-mu

Chapter 7

Exp17_3.m Example 7.3 p.263

Exp17_4.m Example 7.4 p.265

Exp17_5.m Example 7.5 p.267

Exp17_6.m Example 7.6 p.271

Exp17_8.m Example 7.8 p.267

Fig7_2.m Figure 7.2 p.260

Fig7_8.m Figure 7.8 p.267

delay.m function to get frequency response of a

time delay used in Fig7_2.m and Fig7_8

maxrad.m function to get maximum radius, used in

Expl7_4.m for optimization

uncreg.m function to get uncertainty region, used

in Expl7_4.m and Fig7_2.m

Chapter 8

Exp18_9.m Example 8.9 p.319

Exp18_10.m Example 8.10 p.321

Fig8_15.m Figure 8.15 p.330 and Table 8.1 p.331

Fig8_16.m Figure 8.16 p.338

Sec8_124.m Section 8.12.4, DK-iteration, p.337,

and Table 8.2 p.339

d1data.m function to save D-scales data for plotting,

used in Sec8_124.m

Chapter 9

Exp19_1.m Example 9.1 p.357 (1st edition)

Exp19_1_NEW.m Example 9.3 p.381 (2nd edition)[alt.file]

Exp19_3.m Example 9.3 p.381

coprimeunc.m function for H-infinity loopshaping design

See Table 9.2 p.379

hinf2dof.m 2-DOF controller, Table 9.3 p.389

For example, see Aero2DOF.m for Section 12.3.3

Chapter 10

Expl10_2.m Example 10.2 p.411 (1st edition)

Expl10_2_NEW.m Example 10.2 p.411 (2md edition)

Expl10_7.m Example 10.7 p.430, compute PDG and generate Fig.10.7 (as in book)

Expl10_7s.m Example 10.7 p.430, simulations which confirm results in book

Expl10_10.m Example 10.10 p.445

hda.mat HDA process data file used in Expl10_2.m

Chapter 11

Sec11_61.m Section 11.6.1 p.456

aero0.mat Aero-engine model data file, used in Sec11_61.m

Sec11_62.m Section 11.6.2 p.459

aeroK.mat Controller model data file, used in Sec11_62.m

Tab11_2.m Table 11.2, p.466. Commands for model reduction

Tab11_3.m Table 11.3, p.466. Model reduction of unstable system

Chapter 12

12.2 Helicopter case study

Sec12_2.m Section 12.2 Helicopter case study p.470

db.m function to get db value, used in Sec12_2.m

12.3 Aero-engine case study

Sec12_32.m Section 12.3.2 Aero-engine case study,

Control structure design p.481

Sec12_33.m Section 12.3.3 Aero-engine case study,

Two degrees-of-freedom H_inf design p.486

Aero2DOF.m H_inf 2-DoF controller design example

see section 12.3.3 on p.486 and Table 9.3 on p.389

aero1.mat Aero-engine model part 1, used in Sec12_32.m and Sec12_33.m

aero2.mat Aero-engine model part 2, used in Sec12_32.m

align.m function to get real alignment, used in Sec12_33.m

12.4 Distillation case study

cola_commands.m Collection of useful commands for RGA, CLDG, PRGA, singular values, etc.

See the other chapters for use of the idealized linear two-state LV-model in (12.17); see the summary on page 492 in the book for details.

Click here for details about the 82 state nonlinear distillation model and how to generate the ``full'' linear model. It is the basis for the following:

cola_G4.m Generates the linear model in G4.mat

G4.mat 82 state linear model with 6 inputs and 4 outputs, used in Tab12_3.m

Start MATLAB and write load G4 and help cola_G4

Tab12_3.m Table 12.3, p.491.

Generates linear models for various configurations.

The basis is G4 (full linear models with 82 states).

Sec12_42.m Section 12.4.2, p.494.

This is the 5 state linear LV-model used in the book.

It is very similar to the full 82-state model.

cola_test.m Simulate with nonlinear model and linearize