122 CHAPTER 3. FUNCTIONAL DESCRIPTION OF Xµ
A greater range of model reduction functions is available in the Model Reduction
Module. Some of the functions described here are cross-licensed with that module.
Section 2.6 describes the theory behind these functions.
3.8.1 Truncation and Residualization
Truncation is provided by the truncate function (cross-licensed with the Model
Reduction Module). Residualization is performed with the Xµ function: sresidualize.
The user must specify the original system and the number of states to be retained. In
both cases the states in the upper left corner of the A matrix are retained.
The following example illustrates the use of these functions and gives an idea of their
error properties.
# Create a five state system for reduction.
a = daug(-0.891334,[-1.20857,0.799042;-0.799042,-1.20857],...
-4.74685,-21.3013)
b = [0.0262569;-0.189601;-0.113729;0.211465;-0.538239]
c = [0.120725,-0.336942,0.397198,-0.700524,-1.02235]
d=0
sys1 = system(a,b,c,d)
# Reduce to a 3 state system by residualization
# and truncation.
sysout1 = sresidualize(sys1,3)
sysout2 = truncate(sys1,3)
fHz = logspace(0.01,100,100)
sys1g = freq(sys1,fHz)
sysout1g = freq(sysout1,fHz)
sysout2g = freq(sysout2,fHz)
residerror = sys1g - sysout1g
truncerror = sys1g - sysout2g
g1 = ctrlplot(sys1g,{logmagplot});
g1 = ctrlplot(sysout1g,g1,{logmagplot,line
style=2});