„Szabályozástechnika - Szakasz megadása” változatai közötti eltérés
A VIK Wikiből
aNincs szerkesztési összefoglaló |
|||
1. sor: | 1. sor: | ||
{{Vissza|Szabályozástechnika}} | {{Vissza|Szabályozástechnika}} | ||
== 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 == | ||
17. sor: | 11. sor: | ||
% x3' = -3*x1 + 2*x2 + u ---------> x3' = -3*x1 +2*x2 u | % x3' = -3*x1 + 2*x2 + u ---------> x3' = -3*x1 +2*x2 u | ||
% x4' = 2*x1 - 2*x2 felírva x4' = 2*x1 -2*x2 | % x4' = 2*x1 - 2*x2 felírva x4' = 2*x1 -2*x2 | ||
% | % y = x2 y = x2 | ||
% | % | ||
% Első körben írjuk fel ebből az A,B,C és D mátrixokat. | % Első körben írjuk fel ebből az A,B,C és D mátrixokat. | ||
44. sor: | 38. sor: | ||
% Az átviteli függvény zérus-pólus-erősítés alakban: | % Az átviteli függvény zérus-pólus-erősítés alakban: | ||
wp_zpk=zpk(wp) | wp_zpk=zpk(wp) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Szakasz megadása a | == Szakasz megadása a differenciálegyenletéből == | ||
<syntaxhighlight lang="matlab" style="font-size: 140%;"> | <syntaxhighlight lang="matlab" style="font-size: 140%;"> | ||
% Adott a szakasz differenciálegyenlete: | |||
% | |||
% F = k*y' + m*y'' | |||
% | |||
% Ahol a beavatkozó jel az "F" erő, a kimenet pedig az "y". | |||
% 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! | |||
% | |||
% Vezessünk be új jelölést a két állapotváltozóra: 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 helyettesítsünk be a szakasz differenciálegyenletébe (F = u): | |||
% u = k*x2 + m*x2' --> x2' = -k/m*x2 + 1/m*u | |||
% | |||
% Tehát összegezve: | |||
% | |||
% x1' = x2 | |||
% x2' = -k/m*x2 + 1/m*u | |||
% y = x1 | |||
% | |||
% Ezekből az előző feladat alapján már felírhatóak a mátrixok: | |||
% | |||
% ( 0 1 ) ( 0 ) | |||
% A = ( 0 -k/m ) B = ( 1/m ) | |||
% | |||
% C = ( 1 0 ) D = ( 0 ) | |||
% | |||
% Innét már könnyen megadhatóak a mátrixok a Matlab-nak: | |||
A=[0 0 1 0; 0 0 0 1; -3 2 0 0; 2 -2 0 0] | |||
B=[0 0 1 0]' | |||
C=[0 1 0 0] | |||
D=[0] | |||
% Ezekből előállítható a szakasz állapotteres leírása: | |||
sys=ss(A,B,C,D) | |||
%% | %% | ||
</syntaxhighlight> | </syntaxhighlight> |
A lap 2014. január 14., 18:47-kori változata
Szakasz megadása az állapotváltozós leírás normál alakjából
% Adott a szakasz állapotváltozós leírásának normál alakja:
%
% x1' = x3 x1' = x3
% x2' = x4 szebben x2' = x4
% x3' = -3*x1 + 2*x2 + u ---------> x3' = -3*x1 +2*x2 u
% x4' = 2*x1 - 2*x2 felírva x4' = 2*x1 -2*x2
% y = x2 y = x2
%
% Első körben írjuk fel ebből az A,B,C és D mátrixokat.
% Figyelem: A mátrixok felírása közben fokozottan ügyeljetek, hogy nehogy elcsússzatok egy oszlopot!
%
% ( 0 0 1 0 ) ( 0 )
% ( 0 0 0 1 ) ( 0 )
% A = ( -3 2 0 0 ) B = ( 1 )
% ( 2 -2 0 0 ) ( 0 )
%
% C = ( 0 1 0 0 ) D = ( 0 )
%
% Innét már könnyen megadhatóak a mátrixok a Matlab-nak:
A=[0 0 1 0; 0 0 0 1; -3 2 0 0; 2 -2 0 0]
B=[0 0 1 0]'
C=[0 1 0 0]
D=[0]
% Ezekből előállítható a szakasz állapotteres leírása:
sys=ss(A,B,C,D)
% Ebből pedig a szakasz átviteli függvénye:
wp=tf(sys)
% Az átviteli függvény zérus-pólus-erősítés alakban:
wp_zpk=zpk(wp)
Szakasz megadása a differenciálegyenletéből
% Adott a szakasz differenciálegyenlete:
%
% F = k*y' + m*y''
%
% Ahol a beavatkozó jel az "F" erő, a kimenet pedig az "y".
% 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!
%
% Vezessünk be új jelölést a két állapotváltozóra: 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 helyettesítsünk be a szakasz differenciálegyenletébe (F = u):
% u = k*x2 + m*x2' --> x2' = -k/m*x2 + 1/m*u
%
% Tehát összegezve:
%
% x1' = x2
% x2' = -k/m*x2 + 1/m*u
% y = x1
%
% Ezekből az előző feladat alapján már felírhatóak a mátrixok:
%
% ( 0 1 ) ( 0 )
% A = ( 0 -k/m ) B = ( 1/m )
%
% C = ( 1 0 ) D = ( 0 )
%
% Innét már könnyen megadhatóak a mátrixok a Matlab-nak:
A=[0 0 1 0; 0 0 0 1; -3 2 0 0; 2 -2 0 0]
B=[0 0 1 0]'
C=[0 1 0 0]
D=[0]
% Ezekből előállítható a szakasz állapotteres leírása:
sys=ss(A,B,C,D)
%%