„Szabályozástechnika - Szakasz megadása” változatai közötti eltérés

David14 (vitalap | szerkesztései)
Szikszayl (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
 
(6 közbenső módosítás, amit egy másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
{{Vissza|Szabályozástechnika}}
{{Vissza|Szabályozástechnika}}
__TOC__
Az alábbi típuspéldákat érdemes alaposan áttanulmányozni és MEGÉRTENI, ugyanis a vizsgán ezek közül<br />valamelyik módon lesz megadva a szakasz, amivel dolgoznunk kell. Ha azonban Matlab-ba rosszul visszük be<br />a szakaszt, akkor onnét szerencsétlen esetben MINDEN numerikus eredményünk rossz lesz, ami azt eredményezi,<br />hogy kerek NULLA pontot kapunk az egész 25 pontos feladatra!<br />A vizsgán ugyanis ha egy numerikus eredmény rossz, akkor arra a feladatrészre automatikusan NULLA pontot adnak!


== Szakasz megadása az állapotváltozós leírás normál alakjából ==
== Szakasz megadása az állapotváltozós leírás normál alakjából ==
107. sor: 111. sor:


wp_zpk=zpk(wp)
wp_zpk=zpk(wp)
</syntaxhighlight>
== Szakasz állapotteres leírásának megadása az átviteli függvényéből ==
<syntaxhighlight lang="matlab" style="font-size: 140%;">
% Elsősorban ajánlom figyelmetekbe az 1. gyakorlat 16. ellenőrző kérdésének kidolgozását ;)
% Adott a szakasz átviteli függvénye:
%
%            1
% w(s) = ---------
%        s^2 + 1
%
% Adjuk meg a szakasz állapotváltozós leírásának normál alakját az x = [y y']'
% állapotváltozó választás mellett!
% Először vezessünk be új változókat a könnyebb írhatóság végett: x1 = y és x2 = y'
% Az állapotváltozós leírás normál alakjához n+1 egyenletre van szükségünk (x1', x2' és y)
% Az első egyenlet kapásból látszik az állapotváltozó választásból: x1' = x2
% A harmadik egyenlet szintén egyszerűen adódik, hiszen: y = x1
% A második egyenlethez pedig csináljuk ugyanazt, mint az előző feladatban, csak pont visszafelé:
%
%            1        Y(s)
% w(s) = --------- = ------  ----->  Y(s) * (s^2 +1) = U(s)
%        s^2 + 1    U(s)
%
% s^2*Y(s) + Y(s) = U(s)
%
% s*( s*Y(s) ) + Y(s) = U(s)
%
% Most végezzük el az inverz-Laplace transzformációt, az ismert tételeket felhasználva ( s*Y(s) = y' )
%
% y'' + y = u  ----->  (y')' + y = u  ----->  x2' + x1 = u  ----->  x2' = -x1 + u
%
% Tehát összegezve:
%
% x1' = x2
% x2' = -x1 + u
% y  = x1
%
% Ezekből az első feladat alapján már felírhatóak a mátrixok:
%
%    ( 0    1 )        ( 0 )
% A = ( -1  0 )    B = ( 1 )
%
% C = ( 1    0 )    D = ( 0 )
%
% Innét már könnyen megadhatóak a mátrixok a Matlab-nak:
A=[0 1; -1 0]
B=[0 1]'
C=[1 0]
D=[0]
% Ezekből előállítható a szakasz állapotteres leírása:
sys=ss(A,B,C,D)
% Ebből pedig ellenőrzésképpen a szakasz átviteli függvénye:
wp=tf(sys)
% FIGYELEM: Az ROSSZ megoldás, hogyha először bevisszük Matlab-ba az átviteli függvényt,
% majd abból csinálunk Matlab-ban állapotteres leírást!
% A Matlab ugyanis tf -> ss áttérés esetén mindig irányíthatósági lépcsős alakban adja meg a rendszert!
% Tudvalevő, hogy egy rendszer állapotváltozóinak sorrendje az állapotváltozó vektorban tetszőleges lehet,
% csupán az A,B,C mátrixok különböznek, ettől még mindig ugyanazt a rendszert írják le.
% A rendszernek viszont csak egyetlen átviteli függvénye van, így ss -> tf áttérés esetén mindig ugyanazt
% az eredményt kapjuk. Ha tehát mi tf -> ss áttéréssel oldjuk meg a feladatot, rossz eredményre jutunk,
% mivel az irányíthatósági lépcsős alakban x = [y' y]' az állapotváltozó vektor!
% Innentől pedig kinulláztuk a 25 pontot, mivel minden numerikus eredményünk rossz lesz!
%
% Példaképpen nézzük meg mit is kapnánk a ROSSZ módszerrel:
wp=tf(1,[1 0 1])
sys=ss(wp)
% Látható, hogy az A mátrix traszponálódott, a B és C mátrixok elemei pedig felcserélődtek.


112. sor: 194. sor:




[[Category:Villanyalap]]
[[Kategória:Villamosmérnök]]