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

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
a
1. sor: 1. sor:
 
{{Vissza|Szabályozástechnika}}
 
{{Vissza|Szabályozástechnika}}
 
<syntaxhighlight lang="matlab" style="font-size: 140%;">
 
ss(syszp) % Zérus-pólus-erősítés -> állapotteres leírás
 
 
 
</syntaxhighlight>
 
  
 
== 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
+
% 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 differenciálegyenleteiből ==
+
== 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., 17:47-kori változata

← Vissza az előző oldalra – Szabályozástechnika

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)




%%