Regularization technique for Stabilization of polynomial by bringing unstable poles into unit circle

1 次查看(过去 30 天)
I have been trying to stabilize a characteristic polynomial of a model in the z-domain. Therefore I've been trying to bring its poles inside the unit circle without affecting the dynamics of the system. First I thought of the polystab function, which didn't help because for some reason the couple of unstable poles I tried to stabilize ended up to a system with even more unstable poles. Are there any opinions/tips on the use of the polystab function? Or is there any function useful for "pulling" the unstable poles into the unit circle?
  5 个评论
Tianyu
Tianyu 2024-10-24
If you estimated your ARX model using arx function in system identification toolbox, you can enforce the estimated model to be stable using "EnforceStability" in arxOptions
polystab seems indeed fulfill your purpose, i.e. stabilize the model without altering reponse. Can you please share the code so we can take a further look?
Mr. Pavl M.
Mr. Pavl M. 2025-1-2
编辑:Mr. Pavl M. 2025-1-2
%Can be any system to stabilize after improved SI:
A = [1 1; -3 -5];
B = [12; 1];
C = [1 -7];
D = 2;
ts = 0.01;
dsys = ss(A,B,C,D,ts)
dsys = A = x1 x2 x1 1 1 x2 -3 -5 B = u1 x1 12 x2 1 C = x1 x2 y1 1 -7 D = u1 y1 2 Sample time: 0.01 seconds Discrete-time state-space model.
%G = press_max*minreal(dsys)
G = minreal(dsys);
[b3, a3] = ss2tf(G.A,G.B,G.C,G.D)
b3 = 1×3
2.0000 13.0000 316.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
a3 = 1×3
1.0000 4.0000 -2.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
G3 = tf(b3, a3,ts) %discrete model
G3 = 2 z^2 + 13 z + 316 ------------------ z^2 + 4 z - 2 Sample time: 0.01 seconds Discrete-time transfer function.
%Not "very" conventional, but functions fully, entirely in number of cases:
hmin01 = polystab(b3)
hmin01 = 1×3
2.0000 0.0823 0.0127
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
hmin1 = hmin01/norm(hmin01)*norm(b3)
hmin1 = 1×3
316.0000 13.0000 2.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
hmin02 = polystab(a3)
hmin02 = 1×3
1.0000 -0.2247 -0.1010
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
hmin2 = hmin02/norm(hmin02)*norm(a3)
hmin2 = 1×3
4.4495 -1.0000 -0.4495
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
G4 = tf(hmin1,hmin2,ts) %discrete model
G4 = 316 z^2 + 13 z + 2 ---------------------- 4.449 z^2 - z - 0.4495 Sample time: 0.01 seconds Discrete-time transfer function.
figure
pzmap(G3)
figure
pzmap(G4)
Answer to your question is:
polystab TCE built - in function or alike is allright, okay also to find medium value use.
  1. There are confidently more accurate and precise id methods, besides ARX. Sorry, PTSD caused to me not from here, which times poles are how deep inside unit circle?There is good rationale here, we don't have catatonic, nor delusions so by ICD11 and DSM5 there were no schizo of us and there is no schizo now. So to stabilize good, fairly well to continue not downwards, which means not to undermine, not to diminish importance of the study and labour of the system responses and systems behaviour.
  2. Have you applied [K,prec] = place(A,B,p) ?, what is your desired poles radius,number of poles, ( constraint<r<1)?

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Input-Output Polynomial Models 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by