Zustandsrückführung

Zustandsrückführung

Zustandsrueckfuehrung.m — HTML, 1 kB (1.773 bytes)

Dateiinhalt

%
% SRT II: Entwurf einer Zustandsrückführung
%
% F. Svaricek, 25.06.2002
%
% Bespiel 6.5 (Magnetschwebebahn) aus Lunze, J.: Regelungstechnik 2, 
%             Springer-Verlag, 2002. 

%
format short g
%
% Systemmatrix A 
%
A=[   0       0      1       0         0
      0       0      0       1         0
    -50.67   50.67  -4.9     4.9      -2.26e-3 
     25.25  -25.25   2.44   -2.44      0
     -6.4e6   0      2.1e5   0        -3.26]

%
% Eingangsmatrix b
%
b=[ 0
    0
    0
    0
    -1440 ]
%
% Ausgangsmatrix c
%
c=[1 0 0 0 0]

Strecke = ss(A, b, c, 0)

%
% Berechnung der Eigenwerte
%
disp([' Eigenwerte'])

lambda = eig(A)
%
% Überprüfung der Steuerbarkeit
%
Q_S = ctrb(Strecke)

disp([' Rang der Steuerbarkeitsmatrix'])

rank(Q_S)

%
% Überprüfung der Beobachtbarkeit
%
Q_B = obsv(Strecke)

disp([' Rang der Beobachtbarkeitsmatrix'])

rank(Q_B)

%
% Vorgabe des Anfangszustandes
%
x_0 = [ 5 0 0 0 0]'

figure(1)
initial(Strecke,x_0)

hold on

%
% Festlegung der Eigenwerte des geschlossenen Kreises
%
disp([' Vorgegebene Eigenwerte'])

lambda(3) = -2*lambda(3)

%
% Berechnung der Zustandsrückführung
%

disp([' Rückführvektor'])

k = place(A, b, lambda)

%
% Berechnung der Systemmatrix des geschlossenen Regelkreises
%

disp([' Systemmatrix des geschlossenen Regelkreises'])

A_g = A - b*k

disp([' Eigenwerte des geschlossenen Regelkreises'])

lambda_g = eig(A_g)

Kreis = ss(A_g, b, c, 0)

%
% Vorgabe des Anfangszustandes
%
x_0 = [ 5 0 0 0 0]'

initial(Kreis,x_0)
title(' Luftspalt x_1 [mm]')
%
% Darstellung der Stellgroesse
%
Stellgroesse = ss(A_g, b, k, 0)

figure(2)
initial(Stellgroesse, x_0)
title('Stellgroesse u [V]')
hold on