Szabályozástechnika - Matlab parancsok

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
← Vissza az előző oldalra – Szabályozástechnika (info)

Szabtech-en használatos MATLAB parancsok (tipikus paraméterezéssel):

s=zpk('s')

  • megismertetjük a matlabbal az s-t :)

s=tf('s')

Az előző és ez ekvivalens, az egyetlen különbség a gyakorlatban, hogy s megadásától függően más alakban írja ki a Matlab az eredményt. Ha tehát például zérus-pólus alakban kérik az eredményt, akkor s-t zpk-val definiálva megspórolhatunk egy konverziót.

y=step(num, den)

  • átmeneti fgv.
  • =num= -al a számlálót, =den= -el a nevezőt szoktuk jelölni.

figure(1)

  • a következő ábra a figure1 lesz.

plot(t,y)

  • kirajzolja y-t a t függvnyében.

plot(t,y), grid

  • be is rácsozza az ábrát.

ys=dcgain(num,den)

  • y stacionárius (=állandósult) értéke.

ym=max(y)

  • y maximuma.

yovershot=(ym-ys)/ys*100

  • a túllövés %-ban.

Htf=tf(2, [1,3,2])

  • átviteli fgv alak megadása (2/(s^2+3s+2)).

Hss=ss(A,b,c,d)

  • állapotteres alak megadása.

Hzpk=zpk([],[-1, -2], 2)

  • zéurs-pólus alak megadása (a paraméterek sorban: zérusok, pólusok, K).

H=zpk(H)= , =H=ss(H)= , =H=tf(H)

  • a fenti 3 simán átrranszformáűlható egymásba

[A,b,c,d]=ssdata(Hss)

  • A,b,c,d kinyerése az állapotteres alakból.

H=minreal(H)

  • H egyszerűsítése.

yi=impulse(H,t)

  • a súlyfgv meghatározása. (t az idő természetesen), bal oldal nélkül rajzol.

bode(H)

  • bode diagramot rajzol

[gain, phase]=bode(H,w)

  • a w-ben megadott frekvencián kiszáűmolja az erősítést és a fázisszöget.

w=logspace(-2,1,100)

  • 0.01 és 10 közt felvesz 100 pontot logaritmikus távolságokra.

nyquist(H)

  • nájkvisztot rajzol :)

pzmap(T)

  • a T pólusainak és zérusainak ábrázolása

margin(H)

  • ha jól tévedek az erősítési és a fázistartalékot lehet megtudni ezzel. (kirajzol 1 bode-t és a tetején kiírja ezeket)

[gm, pm, wg, wc]=margin(L)

  • gm(gain margin): erősítési tartalék
  • pm(phase margin): fázis tartalék
  • wg: az a körfrekvencia, ahol a fzisszög értéke -180fok
  • wc(cut-off frequency): vágási körfrekvencia

poles=roots(den)

  • a roots a paraméter gyökeit adja meg. tehát így megkaphatjuk a pólusokat (zérusok: zeros=roots(num))

w=logspace(-1,1,100); [num,den]=tfdata(L,'v'); [mag,phase]=bode(num,den,w); Tabl=[mag,phase,w']

  • erősítés, fázis és frekvencia táblázat csinálása

H=feedback(H1,1,-1)

  • H a H1 átviteli fgv negatívan visszacsatolt átfiteli fgv-e lesz. az 1-es az hogy egységnyi a visszacsatolás (lehetne mondjuk H2 átviteli fgv-ű visszacsatolás is), a -1 pedig, hogy negatív (-1/+1). mindez megvalósítható így is: H=H1/(1+H1)

N=zeros(3)

  • 3*3-as nullmátrix

E=eye(3)

  • 3*3-as egységmátrix

M=ones(3)

  • 3*3-as csupa 1 elemű mátrix

rlocus

  • gyökhelygörbe

rank(ctrb(a,b))

  • irányíthatóság

rank(obsv(a,c))

  • megfigyelhetőség

rank(ctrb(a,b)*c)

  • kimenet irányíthatóság