„Szabályozástechnika - Diszkrétidejű állapotteres szabályozók tervezése” változatai közötti eltérés

David14 (vitalap | szerkesztései)
David14 (vitalap | szerkesztései)
111. sor: 111. sor:


<syntaxhighlight lang="matlab" style="font-size: 140%;">
<syntaxhighlight lang="matlab" style="font-size: 140%;">
% Az alapjel miatti korrekciót is tartalmazó szabályzó hatásvázlata:
 
% Amikor az állapot-visszacsatolás 0-ba (alaphelyzetbe) viszi a rendszert, a beavatkozó jel is 0 lesz,
% azaz beáll a stabilis egyensúlyi állapot. Azonban a szabályozásnak nem feltétlenül az a célja,
% hogy 0-ba irányítsunk, hanem célszerű, ha alapjelet is tud követni az eszköz. Ehhez az állapot-visszacsatolót
% "átverjük", az alábbi hatásvázlatnak megfelelően (Nx - oszlopvektor, Nu - skalár):
 
</syntaxhighlight>
</syntaxhighlight>


118. sor: 123. sor:
<syntaxhighlight lang="matlab" style="font-size: 140%;">
<syntaxhighlight lang="matlab" style="font-size: 140%;">


% Tervezés
% Adott a szakaszunk állapotegyenletei: x[k+1] = Phi*x[k] + Gamma*u[k] és y[k] = C*x[k] (legyen D=0)
% Egységugrás alapjel követése esetén célunk, hogy állandósult állapotban a kimenet 1 értékű legyen.
% Továbbá tudjuk, hogy állandósult állapotban, azaz "végtelenben" x[k+1] = x[k]
% A hatásvázlatról látszik, hogy állandósult állapot esetén a K erősítő bemenetén 0 kell, hogy legyen.
% Ekkor x[k] = Nx*r[k] = Nx, mivel r[k]=1 egységugrás alapjel esetén.
% Ha azonban a K bemenete 0, akkor a kimenete is 0, így u[k] = Nu*r[k] = Nu.
% Ezek lapján felírható az alábbi egyenletrendszer:
%
% x[k] = Phi*x[k] + Gamma * u[k]  --> 0 = (Phi-I)*x[k] + u[k]
% 1    = C  *x[k]
%
% Behelyettesítve x[k]=Nx és u[k]=Nu értékeket és az egyenleteket mátrixos alakba átírva:
%
% ( Phi-I  Gamma )  ( Nx )  ( 0 )
% (  C      0  ) * ( Nu ) = ( 1 )
%
% Melyből már kapásból adódik az Nx és Nu erősítések:
%
% ( Nx )  ( Phi-I  Gamma )^-1  ( 0 )
% ( Nu ) = (  C      0  )    * ( 1 )
 
% A keresett erősítésvektor meghatározása:
% FIGYELEM: Eltérés a folytonos időtől, hogy itt Phi-eye(n) szerepel első elemként.
% FIGYELEM: Eltérés a folytonos időtől, hogy itt Phi-eye(n) szerepel első elemként.
% Az oszlopvektorban n darab nulla és fixen 1 darab egyes.
N=inv([Phi-eye(2) Gamma; C 0])*[0;0;1];
N=inv([Phi-eye(2) Gamma; C 0])*[0;0;1];
% Az oszlopvektorba n darab nullát kell pakolni és a végére egyetlen 1-est.


% Az Nx-et és Nu-t tartalmazó vektor szétválasztása
% Az Nx-et és Nu-t tartalmazó vektor szétválasztása