Professional Documents
Culture Documents
Inhaltsverzeichnis
1 Einleitung 3
3 Einführung in M ATLAB 8
3.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Berechnungen mit M ATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 Einfache Berechnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Vektoren, Polynome und Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Allgemeine Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 M-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.1 Script-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.2 Functions-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 Kontrollstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Die Zustandsraumbeschreibung 14
4.1 Darstellung linearer Systeme im Zustandsraum . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Systemgleichungen eines Mehrgrößensystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3 Systemgleichungen eines Eingrößensystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Vektor-Matrix-Signalflußbild der Systemgleichungen . . . . . . . . . . . . . . . . . . . . . . . . 15
6 Einführung in S IMULINK 32
6.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.2 Die Konstruktion eines einfachen Modells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7 Literaturverzeichnis 38
3
1 Einleitung
In diesem Dokument wird eine Einführung in das Programmpaket M ATLAB gegeben. M ATLAB (MATrix LA-
Boratory) stellt mit der Erweiterung S IMULINK das wohl populärste Werkzeug für die Simulation und Analyse
von linearen und nichtlinearen Systemen dar. Neben der Motivation, durch Experimente auch komplexe Zusam-
menhänge zu verstehen oder zu vertiefen, bietet M ATLAB auch die Möglichkeit der Visualisierung der Ergebnisse.
M ATLAB ist ein interaktives Programm das über Kommandos mit einem Kommandointerpreter gesteuert wird.
Ebenso können die Kommandos in einer Datei (M-Files) stehen. Nach Aufruf der Datei von der Kommandozeilene-
bene aus werden die Kommandos dann im Batch abgearbeitet. M ATLAB ist für die Systemplattformen UNIX/Linux
und Windows erhältlich, wobei eine günstige Student Edition erhältlich ist. Zu M ATLAB gehören verschiedenen
Toolboxen, das sind Sammlungen von M-Files. In der Regelungstechnik kommt der Control System Toolbox eine
spezielle Bedeutung zu. Das Zusatzprogramm S IMULINK , ein grafisches, blockorientiertes System zur Modellie-
rung und Simulation dynamischer Systeme, rundet das Programmpaket M ATLAB /S IMULINK ab. S IMULINK kann
direkt oder über M-Files gestartet werden.
4
Abbildung 2: X-Tunnel
Im Gegensatz zu SSH muss nun manuell die Ausgabe der X-Session auf dem bonsai umgeleitet werden
und der lokale X-Server freigegeben werden. Unter Unix/Linux wird dazu in einem lokalen Terminal xhost +
bonsai.fernuni-hagen.de eingegeben. Bei X-Win32 geschieht dies über einen entsprechenden Menüein-
trag (Abbildung 6).
Umleitung der X-Session durch Setzen der Bildschirmvariable:
Nach dem Einloggen befinden wir uns in einer Unix-Shell auf dem bonsai. Im Telnetfenster müßte sich Bonsai
mit der Eingabezeile <bonsai>/export/homes/qMatrikelnummer: melden. Durch den export DISPLAY=
rechnername:0.0 wird der Bildschirm auf den Client-Rechner umgeleitet. Falls der Rechnername oder die
eigene IP-Adresse nicht bekannt ist, kann die Information durch Eingabe von who -m in die shell auf dem bonsai
herausgefunden werden (Abbildung 7). Wie bei SSH auch wird M ATLAB durch den Aufruf von matlab gestartet.
2.1 Aufbau einer X-Session mit dem FernUni-Rechner bonsai 6
Abbildung 4: SSH-Terminal
3 Einführung in M ATLAB
3.1 Allgemeines
M ATLAB als Programmsystem für mathematisch-technische Untersuchungen hat speziell in der Regelungstechnik
verschiedene Vorzüge aufzuweisen. Es können mathematische Modelle höherer Ordnung mit wesentlich genaueren
Ergebnissen als bei der manuellen Berechnung eingesetzt werden. Durch die vielfältige Grafikausgabe können
in der Regelungstechnik neben Signalflußplänen Antwortfunktionen, Ortskurven, Wurzelortskurven und BODE-
diagramme verwendet werden. Anhand der Grafiken ist sofort ersichtlich, ob das untersuchte Regelsystem den
gestellten Anforderungen gerecht wird. In dem Programm M ATLAB stehen sehr wirksame, auf regelungstechnische
Verfahren und grafische Darstellungen zugeschnittene Funktionen zur Verfügung. Für die Regelungstechnik ist
M ATLAB ein Standard-Werkzeug, das sowohl in der Lehre und Forschung als auch in der Industrie eingesetzt
wird.
Folgenden sämtliche Benutzereingaben in typewriter und die M ATLAB -Ausgaben Boldface geschrieben.
M ATLAB verfügt über eine online-Hilfe, welche mit der Eingabe help aktiviert wird. Die Eingabe von help
help gibt Auskunft über die online-Hilfe selbst. Mit help Funktionsname wird eine ausführliche Beschrei-
bung der angegebenen Funktion angeboten.
Jede Eingabe oder Anweisung im M ATLAB Command Window beginnt nach dem Promptzeichen >> und
wird durch Betätigen der Return - Taste ←- abgeschlossen. M ATLAB führt sodann sofort die Anweisungen bzw.
die Berechnungen aus.
liefert
ans =
9
M ATLAB weist der Variablen ans 1 das Ergebnis zu. Falls bei der Eingabe ein Ausdruck nicht in eine einzelne
Zeile geschrieben werden kann, wird die erste Zeile durch drei Punkte abgeschlossen und in der folgenden Zeile
weitergeschrieben.
>> y=1+2-3+4-5+6-7+...
8-9+10
y=
7
für weitere Hinweise sei auf die online-Hilfe sowie den Literaturhinweisen verwiesen, besonders im Internet gibt
es zahlreiche Einführungen in M ATLAB .
1 Abkürzung für answer
3.2 Berechnungen mit M ATLAB 10
Beispiel:
>> a=[1; 3; 5]
ergibt
a=
1
3
5
In regelungstechnischen Verfahren des Frequenzbereiches wird mit Polynomen die von den Operatoren jω,s oder z
abhängen gearbeitet. Polynome werden wie Vektoren dargestellt, wobei die Polynomkoeffizienten in absteigender
Ordnung die Elemente des Vektors bilden. Die Eingabe wird am Beispiel einer Produktbildung zweier Polynome
gezeigt. Die Produktbildung erfolgt mit der Funktion conv(p1,p2) , wobei nur jeweils das Produkt zweier
Polynome gebildet werden kann. conv(p1,p2,p...) ist also nicht möglich.
>> w=roots(p)
>> w =
-2.000
-1.000 +1.000i
-1.000 -1.000i
1.000
2 Werden die einzelnen Elemente mit Leerzeichen (Blank) getrennt, so gibt M ATLAB einen Zeilenvektor aus. Ein Semikolon nach der
Matrizen sind zeilenweise einzugeben, wobei die einzelnen Elemente durch Leerzeichen und die Zeilen durch
ein Semikolon oder <CR> abgeschlossen werden. Eine eckige Klammer am Anfang und am Ende schließen die
Elemente ein.
ergibt
>> A =
1 2
3 4
Matrix-Elemente können ebenso individuell durch Einschließen der Indizes in eine runde Klammer gezielt adres-
siert werden. Mit A(2,2)=1 wird z.B. das zweite Element in der zweiten Zeile mit dem Wert 1 belegt. Mit Einhal-
tung der Rechenregeln bei Matrizen 3 können Matrizen und Vektoren addiert, subtrahiert und multipliziert werden.
3.3 M-Files
In M ATLAB ist neben der interaktiven zeilenweise Eingabe der Anweisungen und deren Abarbeitung durch M AT-
LAB auch die Möglichkeit der Eingabe ganzer Algorithmen gegeben. Dazu werden die sogenannten m-Files, die
mit einem Text-Editor im ASCII-Format oder mit dem M ATLAB -Editor erstellt werden, verwendet. Es werden
zwei Arten von M-Files, Script-Files und Functions-Files verwendet.
Script-Files sind in der Regel meist umfangreichere Programmsequenzen und haben Zugriff auf globale Va-
riablen. Functions-Files sind dagegen kürzere Programme, die in einem Functions-File definierten Variablen sind
lokale Variablen. Mit den Functions-Files kann der Benutzer eigene Funktionen definieren, also den M ATLAB -
Funktionsvorrat erweitern. Die Übergabe einzelner Variablen erfolgt wie in anderen Programmiersprachen über
eine Parameterliste im Funktionsaufruf.
3.3.1 Script-Files
Script-Files haben die Bezeichnung filename.m und werden in der M ATLAB Arbeitsumgebung durch eintippen
des dateinamens ohne den Zusatz .m gestartet. Im folgenden Script-File wird die Ortskurve einer Übertragungs-
funktion grafisch ausgegeben. Mit einem vorgestelltem % wird in M ATLAB ein Kommentar eingeleitet.
Nach der Eingabe der Variablen zae, nen und Aufruf des Script-Files gibt Matlab die Ortskurve der Übertra-
gungsfunktion G(s) = (s + 2)/s(s + 1) aus.
3.3.2 Functions-Files
Wie schon beschrieben haben Functions-Files die Aufgabe den M ATLAB -Funktionsvorrat zu erweitern und be-
nutzerindividuelle Funktionen zu definieren. Aus diesem Grund werden Functions-files wie M ATLAB -Funktionen
aufgerufen. Die Filebezeichnung muss also gleich dem Funktionsnamen sein. Wie in anderen Programmierspra-
chen können der Funktion Argumente übergeben werden, und sie liefert einen Funktionswert zurück. Am Anfang
der Funktion muß der Begriff function stehen. Der anschließende Kommentar wird bei dem Aufruf von help
Funktionsname angezeigt.
function[db]=betrpt1(kp,w,t)
%M ATLAB Functionsfile NAME: betrpt1.m
%Errechnet den Betrag von F(jw) in db
%Eingangsvariablen : kp=Dämpfung, w=Kreisfrequenz, t=Zeitkonstante
db=20*log(kp)-20*log(sqrt(1+w*w*t*t));
Nach Eingabe der Parameter in die dafür vorgesehenen Variablen gibt M ATLAB nach dem Funktionsaufruf den
db-Wert aus.
>> kp=10;
>> w=1;
>> t=1;
>> db=betrpt1(kp,w,t)
3.4 Kontrollstrukturen 13
db =
39,1202
Mit what werden alle M-Files im aktuellen Verzeichnis angezeigt. Mit which name wird der gesamte Pfad
des M-Files name.m ausgegeben. Die Variable path enthält den Suchpfad für Befehle. Mit addpath verz
kann dieser um das Verzeichnis verz erweitert werden. Werden neue oder eigene m-Files in einem seperatem
Unterverzeichnis abgespeichert, so muss M ATLAB dieser Pfad bekanntgegeben werden. Mit delete name.m
kann die Datei name.m gelöscht werden.
3.4 Kontrollstrukturen
In M ATLAB stehen drei Kontrollstructuren zur Verfügung
• if-Anweisung
• for-Schleife
• while-Bedingung
Für weitere Erklärungen sei auf die Online-Hilfe verwiesen. Die Online-Hilfe wird in der Kommandozeile mit
help < F unktionsname > aufgerufen. Wird zum Beispiel Hilfe für die if - Anweisung benötigt so genügt ein
help if in der Eingabezeile und M ATLAB zeigt eine ausführliche, mit einem Beispiel untermauerte Hilfe zu
der if - Anweisung. Mit lookfor wort wird nach einer Funktion gesucht, in deren Hilfstext das Schlüsselwort
wort vorkommt. Mit doc name wird die Dokumentation zu einer Funktion im Web-Browser ausgegeben.
14
4 Die Zustandsraumbeschreibung
Zur Beschreibung der Bewegung eines System wie zum Beispiel des Kranmodells, werden mehrere Differen-
tial- und algebraischen Gleichungen benützt. Die jeweiligen Variablen der Differentialgleichungen der einzelnen
mechanischen Systeme sind somit die Ortskoordinaten4 , ihre Ableitungen nach der Zeit die Geschwindigkeitsko-
ordinaten des Systems. Diese Koordinaten geben also für einen bestimmten Zeitpunkt die Lage des betrachteten
Systems im Raum an. Sie beschreiben somit den Zustand des System in Abhängigkeit von der Zeit sowie den
anderen auf das System einwirkenden Größen wie Kräfte, Momente ... . Von dieser Betrachtungsweise führte auch
der Namen Zustandsraumbezeichnung her.
Die einzelnen Zustandsgrößen werden zu einem Vektor, dem Zustandsvektor zusammengefaßt. Entsprechendes
gilt für die anderen Größen wie Eingangs- oder Ausgangsgrößen. Die Zustandsraumbeschreibung wird vor allem
bei der computerunterstützten Bearbeitung von Regelungsmodellen benötigt, da sich hierauf effiziente Algorith-
men aufbauen lassen. Da M ATLAB von sich aus schon die Vektor- Matrix-Darstellung verwendet kommt es dieser
Darstellung entgegen. Außerdem stellt die Beschreibung von Systemen im Zustandsraum eine wesentliche Erwei-
terung zur Beschreibung dynamischer Systeme dar, da (wie später gezeigt wird) die Zustandsraum-Darstellung
durch einen Satz von Differentialgleichungen 1. Ordnung beschrieben wird.
die Substitutionen
x1 = xa (2)
ẋ1 = ẋa = x2 (3)
Als Folge der Substitution wird die Differentialgleichung 2. Ordnung in zwei Differentialgleichungen 1. Ord-
nung umgeformt. Die Vektordifferentialgleichung 6 kann auch in der allgemeinen Form
ẋ = A · x + b · xe (7)
xa = c T · x (8)
geschrieben werden. In weiterer Folge werden Vektoren mit der Schriftart boldface und Kleinbuchstaben und
Matrixen in Großbuchstaben dargestellt.
4 Wege- oder Winkelkoordinaten
4.2 Systemgleichungen eines Mehrgrößensystems 15
B → b: (n,1) - Spaltenvektor
C → c T: (1,n) - Zeilenvektor 5
D → d: Skalar
Daraus folgen aus den Vektor - Matrix - Gleichungen die Zustandsgleichungen für ein Eingrößensystem
- D
x
?0
u(t) q Heẋ(t) H R x(t) H H?ey(t)H
- B C
A
A
H
16
Die als Zeilenvektoren einzugebenden Zähler- und Nennerpolynome werden als num(s) und den(s) bezeichnet. Die
Elemente der Vektoren sind somit die Polynomkoeffizienten des Laplace-Operators s in absteigender Ordnung.
Daraus folgt die Polynomform der Übertragungsfunktion mit
% konver.m
% Modellkonversion mit den Funktionen tf2ss, ss2tf, ss2zp und zp2ss
%
disp(’Zustandsmodell (controller canonical form’) % Textausgabe in M ATLAB
[A,b,c,d]=tf2ss(num,den) % G(s) ⇒ Zustandsmodell
disp(’Polynomform der Übertragungsfunktion:’) % Textausgabe in M ATLAB
[num,den]=ss2tf(A,b,c,d); % Zustandsmodell ⇒ G(s) in Polynomform
printsys(num,den,’s’) % Zähler- und Nennerpolynom-Ausgabe
[nls,pls,k]=ss2zp(A,b,c,d) % Zustandsmodell ⇒ Pol-Nullstellenform G(s)
disp(’Zustandsmodell in Tabellenform’) % Textausgabe in M ATLAB
disp(’companion canonical form’) % Textausgabe in M ATLAB
[A,b,c,d,]=ss2zp(nls,pls,k); % Pol-Nullstellenform G(s) ⇒ Zustandsmodell
printsys(A,b,c,d) % Ausgabe des Zustandsmodells
Nach dem Speichern des Scriptfiles konver kann wieder zu dem M ATLAB -Command-Window Fenster zurück-
gekehrt werden und nach der Wertzuordnung der beiden Variablen num und den das Script konver aufgerufen
werden.
A=
-2 -5 0
1 0 0
0 1 0
b=
1
0
0
c=
1 2 2
d=
5.2 Berechnen von Zustandsregelungen 18
0
Polynomform der Übertragungsfunktion:
num/den =
1s∧2 + 2s +2
------------
s∧3 + 2 s∧2 + 5 s
Nullstellen =
- 1.0000 + 1.0000i
- 1.0000 - 1.0000i
Polstellen =
0
- 1.0000 + 2.0000i
- 1.0000 - 2.0000i
k=
1
Zustandsmodell in Tabellenform
(companion canonical form):
a=
x1 x2 x3
x1 0 0 0
x2 1.00000 -2.00000 -2.23607
x3 0 -2.23607 0
b=
u1
x1 1.00000
x2 0
x3 0
c=
x1 x2 x3
y1 1.00000 4.44089e-016 -1.34164
d=
u1
y1 0
Das System hat offenbar die Ordnung9 3. Der Rang der Steuerbarkeitsmatrix lautet 3. Damit ist die Voraussetzung
der Steuerbarkeit erfüllt. Determinante det(QS ) 6= N ull würde als Aussage zur Steuerbarkeit ebenso genügen.
QB = [c T , c T · A, c T · A2 , . . . , c T · An−1 ]
Die Control System Toolbox stellt zur Berechnung der Beobachtbarkeitsmatrix die Funktion obsv zur Verfügung.
Am Beispiel der Steuerbarkeit angeknüpft zeigt die Determinante von QB = −18 also 6= N ull das System ist
damit beobachtbar.
5.3 Strukturumformungen
Zur Umformung von Serien-,Parallel- und Kreisstrukturen sind in der Control-System-Toolbox die Funktionen
series(), parallel() und feedback() vorgesehen. Die Funktion feedback() wird zum Beispiel bei
der Entwicklung eines Reglers beim Übergang vom offenen zum geschlossenen Regelkreis benötigt.
5.3.1 Reihenstruktur
Die Funktion series() erzeugt zwei Zeilenvektoren der resultierenden Übertragungsfunktion G(s).
Xe (s) Xa (s)
- G1 (s) - G2 (s) Xa (s)
= G1 (s) · G2 (s)
-
G(s) = Xe (s)
s+1
Als Beispiel wird G(s) mit den beiden Übertragungsfunktionen G1 (s) mit G1 (s) = s+4 und G2 (s) mit G2 (s) =
s−1
s2 +3s−2 berechnet. Mit der Funktion printsys() wird mit dem Parameter ’s’ die Übertragungsfunktion für den
Laplace-Operator ausgegeben.
num/den =
s∧2 - 1
---------------
s∧3 + 7 s∧2 + 10 s - 8
5.3.2 Parallelstruktur
Für die Berechnung der Parallelstruktur kann die Funktion parallel() benutzt werden.
- G1 (s)
Xe (s) X (s)
q e a-
? Xa (s)
G(s) = Xe (s) = G1 (s) − G2 (s)
- G2 (s) 6
num/den =
s∧2 + s - 9
-----------
s∧2 + 7 s + 12
Xe (s) Xa (s)
- e - G1 (s) q - Xa (s) G1 (s)
6 G(s) = Xe (s) = 1±G1 (s)·G2 (s)
G2 (s)
num/den =
s∧2 + 4s + 3
-----------
s∧2 + 10s + 15
Mit dem Parameter sign kann das Vorzeichen der Rückführung eingegeben werden.
[num,den]=feedback(num1,den1,num2,den2,sign)
Wird sign=1 gesetzt ergibt es eine positive Rückführung, sign=-1 führt zu einer negativen Rückführung. Wird
der Parameter sign nicht eingegeben, so ist die Rückführung ebenfalls negativ.
Xe (s) Xa (s)
- e - G1 (s) q - Xa (s) G1 (s)
6 G(s) = Xe (s) = 1±G1 (s)
num/den =
s∧2 + 4s + 3
-----------
s∧2 + 10s + 15
Für die Vorzeichen gilt das gleiche wie bei der indirekten Gegenkopplung. Mit dem Parameter sign kann das
Vorzeichen der Rückführung eingegeben werden.
[num,den]=feedback(num1,den1,1,1,sign)
Wird sign=1 gesetzt ergibt es eine positive Rückführung, sign=-1 führt zu einer negativen Rückführung. Wird
der Parameter sign nicht eingegeben, so ist die Rückführung ebenfalls negativ.
5.4.1 Impulsantwort
Die Einheitsimpulsfunktion besteht aus einem Nadelimpuls 10 δ(t) mit der Fläche 1. Die Ausgangsgröße wird als
Impulsantwort oder Gewichtungsfunktion g(t) bezeichnet. Die Funktion welche die Control System Toolbox für
die Impulsantwort bietet, heißt impulse und wird mit dem Syntax
y = impulse(num, den, t)
aufgerufen, wobei vor dem Aufruf die Polynomvariablen num und den sowie die Variable t mit jeweiligen Werten
gesetzt werden müssen. Die Variable t steht für die Zeitachse und kann mit den Werten t = 0 : 0.4 : 20 belegt
werden. Diese Schreibweise bedeutet, daß die Variable mit den Werten 0 bis 20 im Abstand von 0.4 belegt wird.
Ein kleines Beispiel über die Impulsantwort eines P T1 -Elementes soll die Funktion impulse näher erläutern. Die
Übertragungsfunktion eines P T1 -Elementes lautet:
KP 1 num(s)
GP T 1 = =
1 + sTt den(s)
In dem Beispiel wird T=3 und KP 1 = 1 gesetzt.
10 Dirac Impuls
5.4 Analyse im Zeitbereich 23
>> num=[0 1]; % Belegen der Variablen num mit dem Wert von KP 1
>> den=[3 1]; % Belegen der Variablen den mit dem Wert von KP 1
>> t=0:0.4:20; % Festlegung des Zeitrasters
>> y=impulse(num,den,t); % P T1 Impulsantwort
>> plot(t,y,’.’) % P T1 Impulsantwort plotten
M ATLAB gibt nun Abbildung 9 aus. Das Semikolon am Ende jeder Befehlszeile verhindert die sofortige Aus-
gabe der Berechnung. Das Zeichen 0 .0 in der Plot-Funktion ist das Zeichen für die Ausgabe des Kurvenverlaufs.
M ATLAB ignoriert alle Zeichen nach dem % - Zeichen.
Die M ATLAB -Anweisungen können natürlich auch als ein m-Script geschrieben werden und mit einer Eingabe-
aufforderung für jede beliebige Übertragungsfunktion verallgemeinert werden.
5.4.2 Sprungantwort
Die Sprungfunktion gilt als eine der wichtigsten Testfunktion in der Regeltechnik. Die Eingangsfunktion xe (t)
wechselt zum Zeitpunkt t=0 sprunghaft von Null auf einen Wert von xe0 . Der zeitliche Verlauf als Ergebnis der
Einheitssprungfunktion wird als Sprungantwort bezeichnet. Die Funktion der Control System Toolbox für die
Sprungantwort lautet step und wird mit der Syntax
y = step(num, den, t)
aufgerufen. Die Berechnung ist mit der Berechnung von der Impulsantwort identisch, die Vorgehensweise kann
von dort übernommen werden. Sprungantwort am Beispiel eines P T1 Elementes:
5.5 Analyse im Frequenzbereich 24
>> num=[0 1]; % Belegen der Variablen num mit dem Wert von KP 1
>> den=[3 1]; % Belegen der Variablen den mit dem Wert von KP 1
>> t=0:0.4:20; % Festlegung des Zeitrasters
>> y=step(num,den,t); % P T1 Sprungantwort
>> plot(t,y,’.’) % P T1 Sprungantwort plotten
>> num=[0 1]; % Belegen der Variablen num mit dem Wert von KP 1
>> den=[3 1]; % Belegen der Variablen num mit dem Wert von KP 1
>> t=0:0.4:20; % Festlegung des Zeitrasters
>> x=t; % Rampenfunktion
>> y=lsim(num,den,x,t); % P T1 Rampenantwort
>> plot(t,y,’.’) % P T1 Rampenantwort plotten
• Sinusantwort
Werden harmonische Funktionen wie zum Beispiel die Sinus-funktion als Testfunktion verwendet wird eben-
so die Control - System - Toolbox - Funktion lsim zur Erzeugung der Antwortfunktion benutzt. Es gilt die
gleiche Vorgangsweise wie bei der Rampenantwort.
>> num=[0 1]; % Belegen der Variablen num mit dem Wert von KP 1
>> den=[3 1]; % Belegen der Variablen num mit dem Wert von KP 1
>> t=0:0.4:20; % Festlegung des Zeitrasters
>> x=sin(t); % Sinusfunktion
>> y=lsim(num,den,x,t); % P T1 Sinusantwort
>> plot(t,y,’.’) % P T1 Sinusantwort plotten
KR · ZR (s) · Zs (s)
F0 (s) = GRS (s) = GR (s) · Gs (s) =
NR (s) · Ns (s)
5.5 Analyse im Frequenzbereich 25
folgt für die Regelung mit direkter Gegenkopplung die Übertragungsfunktion des geschlossenen Regelkreises mit
Wird das Nennerpolynom von Fw (s) gleich Null gesetzt, erhält man die charakteristische Gleichung für Fw (s).
Wird in dieser Gleichung zum Beispiel die Reglerverstärkung KR variiert, so entsteht die Wurzelortskurve, welche
für die Reglerauslegung verwendet werden kann. Mit den Control-Tool-Box-Funktionen rlocus und rlocfind
können Grafiken von Wurzelortskurven erstellt und ausgewertet werden, wie das folgende Beispiel zeigen wird.
In dem Script-File wok.m wird nach Übergabe der Parameter für die Nullstellen des Zählers und die Polstellen des
Nenners sowie der Verstärkung KR der Regelstrecke die Wurzelortskurve gezeichnet. Nach dem Aufruf des Scripts
öffnet sich ein Ausgabefenster mit der Wurzelortskurve und man wird von M ATLAB aufgefordert mit Hilfe eines
Fadenkreuzes einen Punkt in der Grafik zu selektieren. Das Fadenkreuz dient zur Ermittelung der Regelverstärkung
KR und sollte zu dem Schnittpunkt der Wurzelortskurve mit der Linie für die gewünschte Dämpfung geführt
werden. Nach Anklicken des Schnittpunktes gibt M ATLAB alle Pole und KR von G(s) aus.
ermittelt werden. Da das Script-Files allgemein gehalten wurde, kann durch jeweilige Neueingabe der Variablen
ks, nul, pol und neuerlichen Aufruf von wok mit verschiedensten Regelstrecken oder Reglern durch hinzufügen
von Nullstellen oder Polstellen experimentiert werden.
5.5 Analyse im Frequenzbereich 26
% wok.m
% Wurzelortskurve für beliebige Übertragungsfunktion
% Parametrisierung der Variablen K, nul, und pol im M ATLAB Command-Fenster
%k: Verstärkung der Regelstrecke
% nul : Nullstellen der Regler- und Übertragungsstrecke GRS
% pol : Polstellen der Regler- und Übertragungsstrecke GRS
>> k=2;
>> nul=[ ];
>> pol=[0; −1; 2];
>> wok
% ortsk.m
% Ortskurve für beliebige Übertragungsfunktion
% Parametrisierung der Variablen num, und den im M ATLAB Command-Fenster
% bode.m
% BODE Diagramm für beliebige Übertragungsfunktion
% Parametrisierung der Variablen num, und den im M ATLAB Command-Fenster
KP 1
P T1 - Element GP T 1 (s) = 1+s·T1
KP 2 ·ω02
P T2 - Element GP T 2 (s) = s2 +2·D·s+ω02
11 das Übertragungssystem muß als Object (Variable) z.Bsp. g1 abgespeichert sein
5.5 Analyse im Frequenzbereich 29
Eingabe der beiden PT-Elemente in den M ATLAB Workspace mit den Parametern ω0 = 1, T1 = 4 und D = 0.25.
Nach der Eingabe sind in den beiden Variablen gpt1 und gpt2 und somit auch im Workspace von M ATLAB die
beiden Übertragungsfunktionen abgespeichert. Mit ltiview wird der LTI-Viewer aufgerufen.
Nach dem Öffnen des Fensters LTI Viewer wird über das Menü File → Import der LTI - Browser ge-
startet. Im Fenster des LTI - Browser werden nun die im M ATLAB - Workspace gespeicherten Systeme angezeigt.
In unserem Falle sind die beiden Systeme gpt1 und gpt2 zu markieren12 . Nach dem Anklicken der OK - Schalt-
fläche wird die Step - Funktion der beiden Systeme mit jeweils unterschiedlichen Farben ausgegeben. Durch
Drücken der rechten Maustaste im Anzeigefenster des LTI - Viewers öffnet sich ein weiteres Menü zur Einstellung
des Plot Type (Abbildung 14), in welchem die verschiedenen Funktionen aktiviert werden können. Nach dem
Anwählen der jeweiligen Funktion führt M ATLAB diese sofort aus.
Über das Menü Tools → Viewer Configuration kann noch die Anzahl und Reihenfolge der zur Anzeige
12 dies geschieht durch Drücken der Shift Taste und gleichzeitigem Anklicken mit der linken Maustaste
5.5 Analyse im Frequenzbereich 30
kommenden Funktionen eingestellt werden. Weiter besteht noch die Möglichkeit über das Menü Tools → Re-
sponce Preferences die Zeit - Frequenz - und Y - Achsen zu parametrisieren.
Es bleibt dem Studierenden überlassen durch Variation der Übertragungssysteme weitere Untersuchungen mit dem
LTI-Viewer vorzunehmen und dadurch den Umgang mit M ATLAB und der Control - System - Toolbox zu üben.
Der LTI-Viewer ermöglicht mit seiner Benutzeroberfläche eine sehr einfache Darstellung der verschiedenen rele-
vanten Systemantworten eines LTI-Objektes. (Durch die objektorientierte Struktur von M ATLAB kann ein lineares
System in einer Variablen dem sogenannten LTI-Objekt abgelegt werden). Der LTI-Viewer eignet sich daher be-
stens zur schnellen grafischen Ausgabe der Systemantworten13 eines LTI-Systems und damit als Werkzeug zur
Dimensionierung von Reglern.
13 Impulsantwort;Sprungantwort;Pol-Nullstellenplan....
5.5 Analyse im Frequenzbereich 31
6 Einführung in S IMULINK
6.1 Allgemeines
S IMULINK als Programmerweiterung von M ATLAB gedacht, dient zur Simulation von dynamischen Systemen.
S IMULINK wird durch Eingabe von simulink im Arbeitsbereich von M ATLAB gestartet. Zur Darstellung von
dynamischen Systemen werden Blockdiagramme verwendet, welche aus verschiedenen Bibliotheken kopiert und
verändert oder auch selbst erstellt werden können. Nach Einstellung der Parameterwerte der Blöcke kann die
Simulation gestartet werden.Die Ergebnisse können an verschiedenen Punkten des Systems mit einem Oszilloskop-
Block verfolgt oder in Variablen abgespeichert, zur weiteren Verarbeitung an M ATLAB übergeben werden.
Mittels einfachem Drag - and Drop14 können die verschiedenen Blöcke in das Arbeitsfenster kopiert werden.
Alternativ kann zum Kopieren auch das Edit - Menü verwendet werden. Die Verbindung der einzelnen Blöcke
erfolgt dadurch, indem man den Mauszeiger bei gleichzeitig gedrückter linker Maustaste vom Ausgang des einen
zum Eingang des nächsten bewegt. Das Anknüpfen an andere Verbindungslinien erfolgt durch Drücken der rechten
Maustaste an der entsprechenden Verknüpfungsposition und ziehen der Maus zu dem gewünschten Eingang15 . Je
nachdem welche Funktion gewünscht wird können nun nach dem Baukastenprinzip beliebige Modelle zusammen-
gestellt werden.
Anhand des im Abbildung 16 dargestellten Regelkreises soll nun der Umgang mit S IMULINK gezeigt werden,
wobei für V(s)=U(s)=1 angenommen wird. Aus dem Strukturbild kann unmittelbar das S IMULINK -Modell erstellt
werden.
Starten von S IMULINK durch Eingabe von simulink in dem M ATLAB -Kommando-Fenster. Das Fenster mit
der S IMULINK Bibliothek und das S IMULINK Arbeitsfenster öffnen sich.(Abbildung 15) Durch Doppelklicken auf
der Bibliothek Linear öffnet sich ein neues Fenster. Nun werden mit der Maus je einmal die Funktionsblöcke
Transfer fcn für die Funktion 1 + 2s und s+1 1
, der Funktionsblock Sum sowie die Funktionsblöcke Gain
14 mit dem Mauszeiger auf den gewünschten Block zeigen und bei gedrückter linker Maustaste von einem ins andere Fenster ziehen (drag)
und bei erreichen der gewünschten Position linke Maustaste wieder loslassen (fallen lassen drop)
15 das Anknüpfen einer Verbindung zu einem Ausgang läßt S IMULINK nicht zu
6.2 Die Konstruktion eines einfachen Modells 33
W(s) Y(s)
-e - 1+ 2 - V(s) - 1 q -
s s+1
6
U(s)
einmal für V(s) und einmal für U(s) auf das S IMULINK -Arbeitsfenster gezogen. Danach kann das Fenster Linear
wieder geschlossen werden.
Nach erneutem Doppelklick auf die Bibliothek Sources öffnet sich das Fenster mit den Funktionsblöcken der
Quellen. Von dieser Bibliothek benötigen wir die Funktionsblöcke step und Signal Generator zur Erzeu-
gung eines Impulses und einer Sinusschwingung. Zur besseren Übersicht kann nun das Fenster Sources wieder
geschlossen werden. Damit das Ausgangssignal Y(s) angezeigt, beziehungsweise von M ATLAB weiterverarbeitet
werden kann, muß noch aus der Bibliothek Sinks der Block Scope sowie der Block simout in das Arbeitsfen-
ster gezogen werden.
Somit wäre das S IMULINK -Modell des Regelkreises fast fertig. Nach der richtigen Anordnung der Blöcke fehlt
jetzt nur noch das Verbinden der einzelnen Blöcke wie oben beschrieben. Um den Block Gain U(s) im Rückkop-
6.2 Die Konstruktion eines einfachen Modells 34
pelungszweig in die richtige Lage mit Eingang rechts und Ausgang links zu bringen muß er mit dem Mauszeiger
markiert werden und durch zweimaliges gleichzeitiges drücken der ctrl+R Tasten gedreht werden.
Die Blockbezeichnungen können leicht durch markieren mit der Maus und überschreiben geändert werden. Sind
nun die einzelnen Blöcke untereinander im Sinne des Strukturbildes des Regelkreises nach Abbildung 16 verbun-
den, können die einzelnen Blöcke parametrisiert werden.
Nach einem Doppelklick mit der linkem Maustaste auf einen entsprechenden Block öffnet sich ein Dialogfenster,
in welchem die Parameter der einzelnen Blöcke eingestellt werden können.
Zuerst sollen die Parameter für den Summierblock eingestellt werden, da ja sowohl ein Sinussignal als auch ein
Einheitsimpuls an den Eingang des Regelkreises angelegt werden sollen, muß der Summierer um einen Eingang
erweitert werden. Doppelklick auf den Funktionblock sum öffnet die Dialogbox sum welche nur einen Parame-
terwert List of signs zuläßt. Hier können mit + oder - zusätzliche Eingänge geschaffen oder bestehende
geändert werden. In unserem Beispiel ist hier ein zusätzliches Minus 16 einzutragen. Alle Parametrierfenster der
Blöcke besitzen die vier Schaltflächen Apply, Revert, Help und Close. Mit Apply werden die eingestellten
16 negativer Eingang der Rückkoppelung
6.2 Die Konstruktion eines einfachen Modells 35
Parameter übernommen, mit Close wird das Fenster wieder geschlossen. Sollten bei einem späteren Simula-
tionsablauf andere Werte parametriert werden, kann mit der Schaltfläche Revert die dann aktiviert ist zu den
vorherigen Parametern zurückgekehrt werden.
Als nächste zu parametrisierende Box wählen wir die Transfer fcn-Box. Hier sind die beiden Parameter
Numerator und Denominator einzugeben. Im Numerator wird das Zählerpolynom und im Denominator das Nen-
nerpolynom jeweils in der M ATLAB Schreibweise eingegeben. Für die erste Transfer-fcn-Box den Wert [1 2]
für den Numerator und [1 0] für den Denominator sowie [1] (Numerator) und [1 1] (Denominator) für die
zweite Transfer-fcn-Box.
Die beiden Gain werden (da hier V(s)=U(s)=1) mit dem Parametrierwert 1 belegt.
In dem Parametrierfenster Signal Generator kann in dem Rollbalken Wave form als Schwingungsart sinus,
square, sawtooth oder random ausgewählt werden. Im Rollbalken Unit kann zwischen Hertz und rad/sec
ausgewählt werden. Mit den Parametern Amplitude wird die Amplitudenhöhe und mit Frequency die Frequenz
eingestellt, mit welcher der Eingang des Regelkreises angesteuert wird. Für unser Beispiel sollten die default-
Werte übernommen werden.
Die Blöcke Step, Scope, und simout To Workspace sollten zunächst nicht parametriert werden und die
Defaultwerte beibehalten. Somit wären alle Blöcke parametrisiert. Nach der Parametrierung der Blöcke erfolgt
noch die Einstellung der Parameter der gesamten Simulation. Im Arbeitsfenster über das Menü Simulation
und weiter Parameters öffnet sich das Dialogfenster Simulation Parameters:simbsp1 mit den drei
Erweiterungsfenstern Solver,Workspace I/O und Diagnostics. Im Solver wird in Start time und
Stop time die Start- und Stoppzeit , 17 , in Type mit der Auswahl von Variable-step oder Fixed-step
der Typ der Integrationsschritte und des Integrationsverfahren ode45 .... eingestellt. In der Regel arbeiten nu-
merische Integrationsverfahren mit variabler Schrittweite. An besonders steilen Stellen eines Kurvenverlaufes einer
Lösung benötigen die Verfahren kleinere Schritte , um die geforderte Toleranz einzuhalten. Andere Anwendungen
17 im Beispiel von 0 bis 10 Sekunden
6.2 Die Konstruktion eines einfachen Modells 36
und Simulationen (z.Bsp. die FFT18 ) setzen wiederum eine fixe Schrittweisen voraus. Das ode45 Verfahren ent-
spricht dem Runge-Kutta Verfahren 5.Ordnung und wird normalerweise für kontinuierliche Modelle mit nicht zu
großem Dynamikunterschied verwendet.
Die Max step size und Initial step size für die Integrationsschritte sollten ebenso wie die Relati-
ve tolerance und Absolute tolerance auf den Defaultwerten belassen werden. Die Einstellung Out-
put options soll Refine output mit dem Wert Refine factor ist 1 gewählt werden. Die Erweite-
rungsfenster Workspace I/O und Diagnostics sollten noch nicht verändert werden.
Nun kann die Simulation über das Menü Simulation Start im Arbeitsfenster gestartet werden. Das Scope-
Fenster das immer geöffnet sein sollte, sollte jetzt den gleichen Verlauf des Bildes 21 zeigen.
Das Schaltsymbol mit dem Fernglas des Scope-Fensters führt nach Aktivierung automatisch eine Skalierung der
Darstellung durch.
Zum Vergleich sollen nun an Stelle der Übertragungsglieder V(s) und U(s) Totzeitglieder also V(s)= U(s)=e−T s
eingesetzt werden. Zu diesem Zweck muß in dem Modell nach Abbildung 18 lediglich in den beiden Gain gegen
zwei Fcn Blöcke aus der Bibliothek Nonlinear getauscht werden. In dem Parametrierfenster des Funktions-
blockes Fcn ist dann noch in gewohnter Art der Wert exp(−0.4 ∗ (u(1)))19 einzutragen ist.
Ein neuerlicher Start der Simulation zeigt den Einfluß der beiden Totzeitglieder.
18 Fourie-Fast-Transformation
19 mit T=0.4 (errechneter Wert, bei dem das System stabil ist); der Name u als Eingabevariable wird von M ATLAB vorgeschrieben
6.2 Die Konstruktion eines einfachen Modells 37
7 Literaturverzeichnis
• O.Föllinger / Grundlagen der Regelungstechnik I+II / FernUniversität Hagen
• E.Freund, H.Hoyer / Regelsysteme im Zustandsraum I / Kurseinheit 1 / FernUniversität Hagen
• Alfred Geisel / Diplomarbeit: Vergleichende Untersuchungen unterschiedlicher Reglerkonzepte / FernUni-
versität Hagen
• Lutz Wendt / Taschenbuch der Regelungstechnik / Harri Deutsch Verlag
• Franz Bachmann, Hans Rudolf Schärer / Mathematik mit M ATLAB / vdf Hochschulverlag der ETH Zürich
• Adolf H. Glattfelder / Lineare Regelsysteme Eine Einführung in M ATLAB / vdf Hochschulverlag der ETH
Zürich
• Helmut Bode / M ATLAB in der Regelungstechnik / B.G. Teubner Stuttgart
• Josef Hoffmann / M ATLAB und S IMULINK / Addison-Wesley Verlag
• Duane Hanselman / The Student Edition of M ATLAB User‘s Guide / PRENTICE HALL
• James B. Dabney / The Student Edition of S IMULINK User‘s Guide / PRENTICE HALL
• Thomas Feuerstack / Einführung in X11 / FernUniversität Hagen / Unter http://www.fernuni-hagen.
de/URZ/urzbib/ zu beziehen.
• Jens Vieler /Einführung in UNIX / FernUniversität Hagen / Unter http://www.fernuni-hagen.de/
URZ/urzbib/ zu beziehen.
• Control System Toolbox User‘s Guide / Unter http://www-europe.mathworks.com als PDF-File
beziehbar.
• Using Simulink / Unter http://www-europe.mathworks.com als PDF-File beziehbar.
• Getting startet with M ATLAB / Unter http://www-europe.mathworks.com als PDF-File beziehbar.
• Using M ATLAB Graphics / Unter http://www-europe.mathworks.com als PDF-File beziehbar.