Szabályozástechnika - Matlab parancsok

A VIK Wikiből
A lap korábbi változatát látod, amilyen Unknown user (vitalap) 2012. október 21., 21:02-kor történt szerkesztése után volt. (Új oldal, tartalma: „{{GlobalTemplate|Infoalap|MatLabParancsok}} ==Szabtech-en használatos MATLAB parancsok (tipikus paraméterezéssel):== =s=zpk('s')= * megismertetjük a matlabbal az …”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


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

s=zpk('s')

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

s=tf('s')

  • ugyanaz mint az előző, de máskor használjuk.

(A Matlab súgója alapján és rövid kísérletezés után egyformának (felcserélhetőnek) tűnnek.)

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