Wpisujemy mplik do workspace:

licz= [1];

mian=[3 5 1 1];

Tp=0.2;

[A,B,C,D]=tf2ss(licz,mian) %- zamiana Go na opis stanowy

[Ad,Bd,Cd,Dd]=c2dm(A,B,C,D,Tp,'zoh') %- dyskretyzacja;"metoda" patrz help

n=size(Ad,1) %- rząd macierzy Ad (aby uniknąć " Nic nie wiem o systemie przy wprowadzani biegunów

Hs=ctrb(Ad,Bd) %- macierz obserwowalności;det(X)- wyznacznik X

b=eig(Ad) %- wartości własne zI-Ad

0x01 graphic

Wartości biegunów -

bz =

0.9244 + 0.0733i 0.9244 - 0.0733i 0.3276

>> Mian=poly(bz)

Mian =

1.0000 -2.1764 1.4656 -0.2817

>> K=place(Ad,Bd,bz)

K =

2.8153 2.7295 0.7643

>>

K=place(Ad,Bd,bz)% - obliczenie macierzy wzmocnienia K

F=Ad-Bd*K

dstep(F,Bd,Cd,Dd)

K =

2.8154 2.7294 0.7638

F =

0.2331 -0.5257 -0.1862

0.1192 0.9447 -0.0197

0.0145 0.1962 0.9987

0x01 graphic

Us=0.304

Us=0.304

F=Ad-Bd*K

dstep(F,Bd/Us,Cd,Dd)

0x01 graphic

W simulinku:

0x01 graphic

Na oscyloskopie:

0x01 graphic

Po zmianie parametrow Go bez zmiany korektora

licz= [1];

mian=[2.4 4 0.8 0.8];

Tp=0.2;

[A,B,C,D]=tf2ss(licz,mian) %- zamiana Go na opis stanowy

[Ad,Bd,Cd,Dd]=c2dm(A,B,C,D,Tp,'zoh') %- dyskretyzacja;"metoda" patrz help

W mlabie:

0x01 graphic

0x01 graphic

0x01 graphic

Wracamy do poprzednich wartości K i zmieniamy plik w symulinku:

0x01 graphic

0x01 graphic

0x01 graphic

Zmniejszamy mianownik podanej funkcji o 20% w dół:

mian=[2.4 4 0.8 0.8]

0x01 graphic

Wprowadzamy obserwator stanu:

Wyznaczamy b(z) z rmod:

Wartości biegunów -

bz =

0 0.1 + 0.0840i 0.1- 0.0840i

Do m-pliku:

L=place(Ad',Cd',[0.05+0.00540 0.05-0.00540 0])'

Bz doregulowane recznie

0x01 graphic

Wykres z oscyloskopu dla transmitancji pocztkowej:

0x01 graphic

Wykres dla transmitancji po zmianie parametrów o -20%

0x01 graphic

0x01 graphic