| Line 47: | Line 47: | ||
We construct a system of order <math>n = 100</math>. The numerical values for the different variables are | We construct a system of order <math>n = 100</math>. The numerical values for the different variables are | ||
* <math>a_i </math> equally spaced in <math> [10, 10 | * <math>a_i </math> equally spaced in <math> [-10^3, -10]</math>, | ||
* <math>b_i </math> equally spaced in <math>[10, 10^3]</math>, | * <math>b_i </math> equally spaced in <math>[10, 10^3]</math>, | ||
| Line 61: | Line 61: | ||
:<tt> | :<tt> | ||
n = 100; | n = 100; | ||
a = -linspace(1e1,1e3,n/2).'; | |||
a = -linspace(1e1,1e3,n/2).'; | |||
b = linspace(1e1,1e3,n/2).'; | b = linspace(1e1,1e3,n/2).'; | ||
c = ones(n/2,1); | |||
c = ones(n/2,1); | |||
d = zeros(n/2,1); | d = zeros(n/2,1); | ||
aa(1:2:n-1,1) = a; | |||
bb(1:2:n-1,1) = b; | aa(1:2:n-1,1) = a; | ||
aa(2:2:n,1) = a; | |||
bb(1:2:n-1,1) = b; | |||
bb(2:2:n-2,1) = 0; | |||
Ae = spdiags(aa,0,n,n); | Ae = spdiags(aa,0,n,n); | ||
A0 = spdiags([0;bb],1,n,n)+spdiags(-bb,-1,n,n); | A0 = spdiags([0;bb],1,n,n)+spdiags(-bb,-1,n,n); | ||
B = 2*sparse(mod([1:n],2)).'; | B = 2*sparse(mod([1:n],2)).'; | ||
C(1:2:n-1) = c.'; | |||
C(1:2:n-1) = c.'; | |||
C(2:2:n) = d.'; | |||
C = sparse(C); | |||
</tt> | </tt> | ||
Revision as of 11:38, 29 November 2011
Introduction
On this page you will find a purely synthetic parametric model. The goal is to have a simple parametric model which one can use to experiment with different system orders, parameter values etc.
System description
The parameter scales the real part of the system poles, that is, . For a system in pole-residue form
we can write down the state-space realisation with
Notice that the system matrices have complex entries.
For simplicity, assume that is even, , and that all system poles are complex and ordered in complex conjugate pairs, i.e.
and the residues also form complex conjugate pairs
Then a realization with matrices having real entries is given by
with ,
,
,
.
Numerical values
We construct a system of order . The numerical values for the different variables are
- equally spaced in ,
- equally spaced in ,
- ,
- ,
- .
In MATLAB the system matrices are easily formed as follows
n = 100;
a = -linspace(1e1,1e3,n/2).';
b = linspace(1e1,1e3,n/2).';
c = ones(n/2,1);
d = zeros(n/2,1);
aa(1:2:n-1,1) = a;
aa(2:2:n,1) = a;
bb(1:2:n-1,1) = b;
bb(2:2:n-2,1) = 0;
Ae = spdiags(aa,0,n,n);
A0 = spdiags([0;bb],1,n,n)+spdiags(-bb,-1,n,n);
B = 2*sparse(mod([1:n],2)).';
C(1:2:n-1) = c.';
C(2:2:n) = d.';
C = sparse(C);