Options for slow-fast decomposition
Separate Nearby Modes by Adjusting Tolerance
Decompose a model into slow and fast components between poles that are closely spaced.
The following system includes a real pole and a complex pair of poles that are all close to s = -2.
G = zpk(-.5,[-1.9999 -2+1e-4i -2-1e-4i],10);
Try to decompose the model about 2 rad/s, so that the slow component contains the real pole and the fast component contains the complex pair.
[Gs,Gf] = freqsep(G,2);
Warning: One or more fast modes could not be separated from the slow modes. To force separation, relax the accuracy constraint by increasing the "SepTol" factor (see "freqsepOptions" for details).
These poles are too close together for
freqsep to separate. Increase the relative tolerance to allow the separation.
options = freqsepOptions('SepTol',5e10); [Gs,Gf] = freqsep(G,2,options);
freqsep successfully separates the dynamics.
slowpole = pole(Gs)
slowpole = -1.9999
fastpole = pole(Gf)
fastpole = 2×1 complex -2.0000 + 0.0001i -2.0000 - 0.0001i
Specify optional pairs of arguments as
the argument name and
Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
SepTol — Accuracy loss factor
10 (default) | nonnegative scalar
Accuracy loss factor for slow-fast decomposition, specified as a
nonnegative scalar value.
freqresp ensures that the
frequency responses of the original system,
the sum of the decomposed systems
G1+G2, differ by no
SepTol times the absolute accuracy of the
computed value of
SepTol helps separate modes straddling the
slow/fast boundary at the expense of accuracy.
opt — Options for
freqsepOptions options set
freqsep, returned as a
opt as the last argument to
computing slow-fast decomposition.
Introduced in R2014a