„Szabályozástechnika - Diszkrétidejű állapotteres szabályozók tervezése” változatai közötti eltérés
| 111. sor: | 111. sor: | ||
<syntaxhighlight lang="matlab" style="font-size: 140%;"> | <syntaxhighlight lang="matlab" style="font-size: 140%;"> | ||
% | |||
% 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%;"> | ||
% | % 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. | ||
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 | ||