Präsentation (Fach: Methodologie) - Guerilla Marketing für ein Epiliergerät
Simulation – Fach im Modul „Modellbildung und Simulation ...€¦ · Introduction to Modeling...
Transcript of Simulation – Fach im Modul „Modellbildung und Simulation ...€¦ · Introduction to Modeling...
-
Fakultät für Informatik und AutomatisierungInstitut für Automatisierungs- und Systemtechnik
Fachgebiet Simulation und Optimale Prozesse
Simulation
– Fach im Modul”Modellbildung und Simulation“ –
– Fach im Modul”Simulationstechnik“
Dr.-Ing. Siegbert Hopfgarten
Tel., E-Mail: +49 3677 69-1418, [email protected]: http://www.tu-ilmenau.de/simulationVorlesungsskript: Lehre/Vorlesungen, Seminare, Praktika/Simulation
1 / 172
http://www.tu-ilmenau.de/simulation
-
Inhalt
1 Einleitung - Begriffe, Motivation, Beispiele
2 Modelle
3 Analoge Simulation
4 Digitale Simulation
5 Simulationssprachen und -systeme
2 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Was ist Simulation?
< lat., simulare > vortäuschen
1.) bewusste Vortäuschung von Krankheiten oder übertriebene Darstellungihrer Symptome
2.) Sammelbegriff für die Darstellung oder Nachbildung physikalischer,technischer, biologischer, psychologischer oder ökonomischer Prozesse oderSysteme durch mathematische oder physikalische Modelle, wobei dieUntersuchung des Modelles einfacher, billiger oder ungefährlicher als die desOriginals ist und die Erkenntnisse Rückschlüsse auf die Eigenschaften desOriginals erlauben
→ Simulation ist das Experimentieren an einem Modell.
3 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Zwei Aspekte der Simulation:
1. Modellbeschreibung (z. B. ẋ(t) = −3x(t) + 2u(t), x(0) = 0.5)2. Experimentbeschreibung (z. B. t ∈ [0, 10] )Oft nicht strikt trennbar; durch Software nicht immer unterstützt
Gefahr: Experimentdurchführung an Modell, das für diese Experimente nichtgültig ist
Was ist ein System? (siehe auch DIN 19226)
In betrachtetem Zusammenhang gegebene Anordnung von Gebilden(Teilsystemen); Beziehungen zueinander und zur Umwelt
Gebilde: Gegenstände, Denkmethoden oder deren Ergebnisse
Hüllfläche (gedacht): Abgrenzung zur/Wechselwirkung mit Umwelt
Betrachteter Zusammenhang: durch Aufgabenstellung gegeben; in derRegelungs- und Systemtechnik: Beziehungen durch Wirkungen
Voraussetzungen für sinnvolle Untersuchungen: Steuerbarkeit(Beeinflussbarkeit) und Beobachtbarkeit (Messbarkeit von Signalen)
4 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Beispiel: Globaler Wasserkreislauf (Aggregationsgrad,Detailliertheitsgrad)Quelle: http://bildungsserver.hamburg.de/
Schwarze Zahlen in 1.000 km3, blaue Zahlen in 1.000 km3/y5 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Beispiel: Talsperren in ThüringenBildquelle: Thür. Talsperrenverwaltung; jetzt: Thür. Fernwasserversorgung
6 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Beispiel: Nordthüringer TalsperrensystemBildquelle: Thür. Talsperrenverwaltung; jetzt: Thür. Fernwasserversorgung
7 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Beispiel: AbwasserreinigungBildquelle: Wasser- und Abwasserzweckverband Jena
8 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Was ist ein Experiment?
Datengewinnung von einemSystem bei Aufschaltung vonEingangssignalen
Nachteil des Experiments amrealen System: Einfluss vonStörgrößen; gewisse Anzahlnützlicher Ausgängen nichtdirekt messbar
Vorteil der Simulation: Zugriffauf alle Ein–/Ausgangsgrößen
Problem bei der Simulation:Simulationsläufe außerhalb desExperimentgültigkeitsbereichesdes Experimentes liegen
Was ist ein Modell?
Abbildung eines Systems oder einesProzesses (Gesamtheit derVorgänge) in ein anderesbegriffliches oder gegenständlichesSystem
Bsp.: begriffliches System:
ẋ(t) = f (x(t), u(t), t) , x(0) = x0
Bsp: gegenständliches System:Hochwasserüberlauf an einerTalsperre im Maßstab getreuenNachbau (s. Abb.)
9 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Gegenständliches ModellBildquelle: Thüringer Fernwasserversorgung
10 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Warum ist Modellierung wichtig?
Modellierung: Prozess des Ordnens von Wissen über ein System
Modellierung als Problemlösungswerkzeug
”(Natur–)Wissenschaftler sind glücklich, wenn sie die Welt beobachten und
verstehen können.“ (Analyseaspekt)
”Ingenieure möchten die Welt zu ihrem Vorteil verändern.“ (Entwurfsaspekt)
Warum ist Simulation wichtig?
Neben Experimenten mit dem realen System: Simulation einzige verfügbareTechnik zur Analyse komplexer dynamischer Prozesse
Analytische Techniken im Allgemeinen leistungsfähiger, aber durchProzesskomplexität begrenzt
Simulation: meistgenutzte Problemlösungsstrategie
11 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Gründe zum Einsatz von Simulationstechniken
Entwurf/Veränderung eines reales System; Test in unbekanntenParameterbereichen; gängige Praxis bei technischen Systemen
Experiment am Original gefährlich, teuer, kompliziert, . . . (Bsp.: Kernreaktor,kostenintensive Wasserqualitätsuntersuchungen)
Zeitkonstanten (Eigenwerte) sind sehr klein/groß (Bsp.: explosionsartigechemische Reaktionen, Talsperrensysteme, Entwicklung von Sternen)
Vermeidung von Störungen am realen System (Bsp.:Wasserqualitätsuntersuchungen in Rohrleitungsnetzen)
Unterdrückung von Störungen am Modell, die am realen Systemunvermeidbar (Bsp.: Freilandwachstumsprozesse)
Störungen, Zustände, Systemparameter nicht zugänglich
12 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Probleme bei der Anwendung der Simulation
Ironischerweise Vorteil der Simulation gleichzeitig Nachteil: allgemeine und
einfache Anwendbarkeit
Leicht: Nutzung von SimulationsprogrammenExperimentieren mit Modell hat keine KonsequenzenAber: Intelligente Nutzung der Simulation setzt voraus, dass manweiß, was man tut!
Modellverliebtheit
Systemverständnis entsteht oft erst nach vielen, gezielten Simulationsläufen
Luenberger:”Ein kluger Gedanke spart oft Tausende von Rechnerläufen.“
13 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Kriterien zur Wahl der Simulationsmittel
Aufgabenstellung (Einschätzung von Umfang und Kompliziertheit)
Vorhandene Hard– und Software
Spezielle Kentnisse des Bearbeiters (Einarbeitung, Flexibilität,Programmierkenntnisse)
Ökonomische Kriterien (Rechner, Lösungszeitraum, erwarteter Nutzen,Ersparnis teurer Experimente)
Abgrenzung
Schwerpunkt: Modellierung und digitale Simulation zeitkontinuierlicher undzeitdiskreter analoger Systeme
14 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Allgemeine Vorgehensweise
Originalprozess Rechnermodell
Prozessmodell
Modelleignung Modellverifikation
ProgrammierungSystemanalyseModellbildung
Modellvalidierung
15 / 172
-
1. Einleitung - Begriffe, Motivation, Beispiele
Arbeitsschritte
1. Erstellen des (math. oder algor.) Simulations- modells aus der Problemstellung
2. Planung der Rechenexperimente aus Problemsicht
3. Festlegen der Variablen des Simulationsmodells
4. Wahl des Simulationsmittels (Rechner + Sprache)
5. Programmierung der Aufgabe (+ syntaktische Tests)
6. Rechnung mit ausgewählten Testdaten (s. 2.)
7. {Programm syntaktisch und algorithm. richtig?}
8. Durchführung geplanter Rechenläufe (s. 2. u. 3.)
9. Auswertung der Ergebnisse und Überprüfen der Zielstellung
10. {Programmänderungen notwendig?}
11. Zusammenstellung und Interpretation der Simulationsergebnisse
A
E
Korr.
Korr.
j
n
n
j
16 / 172
-
Literatur I
A. Angermann, M. Beuschel, M. Rau, and U. Wohlfahrt.
MATLAB R©-Simulink R©-Stateflow R©.Oldenbourg, 2009.
D.P. Atherton and P. Borne (Eds.).
Concise encyclopedia of modelling and simulation.Pergamon Press, 1992.
P. Beater.
Regelungstechnik und Simulationstechnik mit Scilab und Modelica.Books on Demand, Norderstedt, 2010.
B.S. Bennett.
Simulation Fundamentals.Prentice Hall, 1995.
O. Beucher.
MATLAB und Simulink. Eine kursorientierte Einführung.mitp, 2013.
O. Beucher.
Übungsbuch Signale und Systeme.Springer, 2015.http://link.springer.com/book/10.1007%2F978-3-662-45955-3.
O. Beucher.
Signale und Systeme: Theorie, Simulation, Anwendung. Eine beispielhafte Einführung mit MATLAB.Springer, 2015.http://link.springer.com/book/10.1007%2F978-3-662-45965-2.
17 / 172
-
Literatur IIA. Biran and M. Breiner.
MATLAB 5 für Ingenieure.Addison–Wesley, 2000.
W. Bub and P. Lugner.
Systematik der Modellbildung, Teil 1: Konzeptionelle Modellbildung.VDI-Berichte 925, Modellbildung für Regelung und Simulation, S. 1-18, VDI-Verlag, Düsseldorf, 1992.
W. Bub and P. Lugner.
Systematik der Modellbildung, Teil 2: Verifikation und Validation.VDI-Berichte 925, Modellbildung für Regelung und Simulation, S. 19-43, VDI-Verlag, Düsseldorf, 1992.
F. E. Cellier.
Coninuous System Modeling.Springer, 1991.
F.E. Cellier and E. Kofman.
Continuous System Simulation.Springer, 2006.
DIN19226.
Leittechnik: Regelungstechnik und Steuerungstechnik.Deutsches Institut für Normung, 1994.
P. Fritzson.
Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica.IEEE Press, 2004.
P. Fritzson.
Priciples of Object-Oriented Modeling and Simulation with Modelica 2.1.IEEE Press, 2004.
18 / 172
-
Literatur III
P. Junglas.
Praxis der Simulationstechnik.Europa-Lehrmittel, 2014.
G. Lappus and G. Schmidt.
Simulation als vielseitiges Werkzeug - Eine Übersicht.In K. H. Fasol and K. Diekmann, editors, Simulation in der Regelungstechnik, pages 1–29. Springer, 1990.
L Ljung and T. Glad.
Modeling of Dynamic Systems.Prentice Hall, 1994.
G. Ludyk.
CAE von Dynamischen Systemen – Analyse, Simulation und Entwurf von Regelungssystemen.Springer, 1990.
S. E. Mattsson, M. Anderson, and Åström, K. J.
Object-Oriented Modeling and Simulation.In D. A. Linkens, editor, CAD for Control Systems, pages 31–69. Marcel Dekker, New York, 1993.
M. Otter.
Objektorientierte Modellierung Physikalischer Systeme, Teil 1.at - Automatisierungstechnik, 47(1):A1–A4 und weitere 15 Teile von OTTER, M. als Haupt– bzw. Co–Autor undanderer Autoren), 1999.
K. Reinisch.
Kybernetische Grundlagen und Beschreibung kontinuierlicher Systeme.Verlag Technik, 1974.
19 / 172
-
Literatur IV
F. Richert, J. Rückert, and A. Schloßer.
Vergleich von Modelica und Matlab anhand der Modellbildung eines Dieselmotors.at, 51(6):247–254, 2003.
G. Schmidt.
Simulationstechnik.R. Oldenbourg, 1980.
W. Schweitzer.
MATLAB R© kompakt.Oldenbourg, 2013.
H. Schwetlick and H. Kretzschmar.
Numerische Verfahren für Naturwissenschaftler und Ingenieure.Fachbuchverlag Leipzig, 1991.
U. Stein.
Programmieren mit MATLAB. Programmiersprache, Grafische Benutzeroberlächen, Anwendungen.Hanser, 2015.
Ph. Thomas.
Simulation of Industrial Processes for Control Engineers.Butterworth-Heinemann, 1999.
M. Tiller.
Intoduction to physical modeling with Modelica.Kluwer, 2001.
20 / 172
-
Literatur V
P. P. J. van den Bosch and van der Klauw, A.
Modeling, Identification and Simulation of Dynamical Systems.CRC Press, 1994.
A. Weinmann.
Computerunterstützung fü Regelungsaufgaben.Springer, 1999.
J. Wernstedt.
Experimentelle Prozessanalyse.Verlag Technik, 1989.
R.L. Wood and K.L. Lawrence.
Modeling and Simulation of Dynamic Systems.Prentice Hall, 1997.
21 / 172
-
2. Modelle2.1 Einteilung von Modellen
Einteilung
Prozessmodell = Systemmodell + Signalmodell(e)
Im Folgenden und im Wesentlichen im Rahmen der Lehrveranstaltungbetrachtet: Systemmodell
Physikalische Modelle, Strukturmodelle (”white box“); erhalten aus Bilanz-
und Erhaltungsgleichungen in unterschiedlichen Fachgebieten (Bsp.:Differentialgleichungen (Dgln.), Übertragungsfunktionen,Zustandsraumdarstellung, linear/nichtlinear, zeitkontinuierlich/zeitdiskret,Modellvereinfachungen, . . .)
Verhaltensmodelle (”black box“); Bsp.: Kennfelder (
”lookup table“),
Polynomansätze, künstliche neuronale Netze
Mischformen (”grey box“)
Siehe Lehrveranstaltungen: Modellbildung, Regelungs- und Systemtechnik,Elekrotechnik, Mechanik, Physik, . . .
22 / 172
-
2. Modelle2.2 Zeitkontinuierliche Modelle2.2.1 Systeme mit konzentrierten Parametern
Gewöhnliches Differentialgleichungssystem
Zustandsgrößen x(t) und Zeit t kontinuiertlich veränderbar
Zustand x(t) kann seinen Wert unendlich oft und zu jeder Zeit ändern
→ Zustandsbeschreibung:
Gewöhnliche Differentialgleichung(Dgl.)/Vektor-Dgl. (engl.: ordinarydifferential equation (ODE))
ẋ(t) = f(x(t), u(t), t), x(0) = x0
Spezialfall: Lineare Systeme
ẋ(t) = A x(t) + B u(t), x(0) = x0
(Anfangswertproblem;Mehrpunkt-Randwertproblem,z. B. x(tf ) = xf ) 23 / 172
-
2. Modelle2.2 Zeitkontinuierliche Modelle
Differential-algebraische Gleichungssysteme
Engl.: Differential-algebraic equation system (DAE system)
Implizit: f(x(t), ẋ(t), u(t), t) = 0 , x(0) = x0
Semi-explizit: ẋ(t) = f(x(t), u(t), t), x(0) = x0
0 = g(x(t), u(t), t)
Mit konstanter oder zeit- und/oder zustandsabhängiger, singulärerMasse-Matrix M(t, x):
M(t, x) ẋ(t) = f(x(t), u(t), t), x(0) = x0
x(t) - Zustandsvariable (differentielle V.), u(t) - algebraische Variable
Konsistente Anfangswerte!
(Differentiations-)Index: minimale Anzahl der analytischen Differentiationender algebraischen Gleichung nach der Zeit, bis explizites Dgl.-system entsteht(−→ Indexreduktion)
24 / 172
-
2. Modelle2.2 Zeitkontinuierliche Modelle
Neben Differentiationsindex: Störindex: Maß für die Empfindlichkeit(Sensitivität) der Lösung gegenüber Stör-Term bzw. Anfangswerten
Z. B. Differentiationsindex 1:
0 =∂g
∂x
∂x
∂t︸︷︷︸f
+∂g
∂u
∂u
∂t︸︷︷︸u̇
+∂g
∂t
u̇(t) = −[∂g
∂u
]−1∂g
∂xf(x(t), u(t), t)−
[∂g
∂u
]−1∂g
∂t
Semi-expizites Dgl.-system, wenn[∂g∂u
]−1existiert
Differentiationsindex: 0 (ODE-System), 1, 2, 3, . . .; je höher, destoschwieriger zu lösen
Beim indexreduzierten System: Anfangsbedingungen der abgeleitetenGleichungen müssen auch erfüllt sein
Drift: indexreduziertes System erhöht die Lösungsmannigfaltigkeit; kannBerechnungsstabilität beeinträchtigen
25 / 172
-
2. Modelle2.2 Zeitkontinuierliche Modelle
Bsp. für differential-algebraisches Gleichungssystem: Fadenpendel(s. [1])
QF
1m =
1l =
GF
BF
φ
φy
x
26 / 172
-
2. Modelle2.2 Zeitkontinuierliche Modelle
Bsp. für differential-algebraisches Gleichungssystem: Fadenpendel(1a)-(1e)
Variablenzuordnung: Algebraische Variable: λ(t) - Spannkraftstärke,FQ (t) = −λ(t)q = −λ(t)[x1(t) x2(t)]T , - Spannkraft,Zustandsvektor: x(t) = [x1(t) x2(t) x3(t) x4(t)]
T = [x(t) y(t) vx (t) vy (t)]T ,
Konstanten: g - Erdbeschleunigung, l = 1 - Länge, m = 1 - Masse
Kräftebilanz; kleine Winkel
ẋ1(t) = x3(t) (1a)
ẋ2(t) = x4(t) (1b)
ẋ3(t) = −2λ(t)x1(t) (1c)ẋ4(t) = −2λ(t)x2(t)− g (1d)
0 = x21 (t) + x22 (t)− 1 (1e)
⇓ Umformung in ODE-System
λ̇(t) = − [2x1(t)x3(t) + 2x2(t)x4(t)]λ(t)−3
2gx4(t)
Differentiationsindex: 327 / 172
-
2. Modelle2.2 Zeitkontinuierliche Modelle2.2.2 Systeme mit verteilten Parametern
Zustandsgrößen x(s, t), Ort s und Zeit t kontinuiertlich veränderbar
Zustand x(s, t) kann seinen Wert unendlich oft, zu jeder Zeit ändern
Beschreibung durch partielle Dgl. (engl.: partial differential equation (PDE))
Bsp.: Diffusionsgleichung
∂x(s, t)
∂t= σ
∂2x(s, t)
∂s2
mit x - Konzentration, σ - Diffusionskonstante, s - Ort (Weg) und t - Zeit .
-1.5 -1 -0.5 0 0.5 1 1.5-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1 Color: c Vector field: -grad(c)
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
28 / 172
-
2. Modelle2.2 Zeitkontinuierliche Modelle2.2.2 Systeme mit verteilten Parametern
Zustandsgrößen x(s, t), Ort s und Zeit t kontinuiertlich veränderbar
Zustand x(s, t) kann seinen Wert unendlich oft, zu jeder Zeit ändern
Beschreibung durch partielle Dgl. (engl.: partial differential equation (PDE))
Bsp.: Diffusionsgleichung
∂x(s, t)
∂t= σ
∂2x(s, t)
∂s2
mit x - Konzentration, σ - Diffusionskonstante, s - Ort (Weg) und t - Zeit .
-1.5 -1 -0.5 0 0.5 1 1.5-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1 Color: c Vector field: -grad(c)
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
28 / 172
-
2. Modelle2.3 Zeitdiskrete Modelle
Zeit t ist diskretisiert, d. h. nur zuausgewählten Zeiten tkbzw. diskreten Zeitpunkten(k = 0, 1, . . . ,K) ist dieBeobachtung des Systems und/oderder Eingriff in das System möglich
Ausgehend vonDifferentialgleichung: Einführungeiner Diskretisierung∆t = tk+1 − tk ; Repräsentationzeitdiskreter Modelle durchDifferenzengleichungen
Zeitachse äquidistant geteilt
dx
dt≈ ∆x
∆t=
x(tk+1)− x(tk )∆t
=xk+1 − xk
∆t= fk (xk , uk , tk ) , x0
(2)
29 / 172
-
2. Modelle2.3 Zeitdiskrete Modelle
Häufig ist zeitdiskretes Modell diskretisierte Variante des kontinuierlichenModelles (s. Bsp. System 1. Ordnung):
ẋ(t) = −x(t) + u(t) , x(0) = x0
Häufiges Vorkommen in technischen und computergesteuerten Systemen
Falls Zeitachse nicht äquidistant geteilt: i. Allg. ereignis-diskreteSystembeschreibung bevorzugt
30 / 172
-
2. Modelle2.4 Qualitative Modelle, 2.5 Ereignis-diskrete Modelle2.4 Qualitative Modelle
Zeitachse von Natur aus diskretisiert (nicht notwendigerweise äquidistant)
Abhängige Variable (Amplitude) ist ebenfalls diskretisiert (wertdiskret)
2.5 Ereignis-diskrete Modelle
Paradoxerweise: Zeit- undAmplitude normalerweisekontinuierlich
Unterschied zu zeit- undwertkontinuierlichen Modellen:in endlicher Zeitdauer kann nureine endliche Anzahl vonZustandsveränderungenauftreten (Bsp.:Pumpenförderregimes)
Zeit- und zustandsabhängigeEreignisse
Auch gemischtereignis-diskrete/zeitkontinuierlicheModelle (hybride Modelle) möglich. 31 / 172
-
2. Modelle2.6 Systembeschreibung chaotischer Systeme
Gewöhnliche oder partielle nichtlineare Dgln./Dgl.-Systeme
Bsp.:”Wetter“
Abbildung : Rotierende Konvektionszellen
32 / 172
-
2. Modelle2.6 Systembeschreibung chaotischer Systeme
Idealisierte zweidimensionale Flüssigkeit, die konstantemTemperaturgradienten unterliegt
Modell beschreibt näherungsweise die Kopplung von Konvektion undWärmeleitung (Lorenz-Attraktor)
ẋ1 = −σ (x1 − x2)ẋ2 = ρ x1 − x2 − x1 x3ẋ3 = −β x3 + x1 x2
mit σ – hydrodynamische Größe, ρ ≈ Temperaturunterschied zwischen obererAtmosphäre und Erdoberfläche, β – beschreibt Geometrie des Systems, x1 ≈Geschwindigkeitsprofil mit einer konvektiven Zelle (x1 > 0: rechtsdrehend, x1 < 0:
linksdrehend), x2 – waagerechte Temperaturverteilung, x3 – senkrechte
Temperaturverteilung.
33 / 172
-
2. Modelle2.6 Systembeschreibung chaotischer Systeme
ẋ1 = −σ (x1 − x2)ẋ2 = ρ x1 − x2 − x1 x3ẋ3 = −β x3 + x1 x2
Bsp.: x1 > 0 und x2 > 0: erwärmte Flüssigkeit steigt auf, gekühlte fällt
Gleichgewichtspunkte:
1 x1 = x2 = x3 = 0 keine konvektive Bewegung;festkörperähnliche Wärmeableitung
2 x1 = x2 =√β (ρ− 1), x3 = ρ− 1 ; Gleichgewicht stabil für
1 ≤ ρ < 24, aber für ρ ≥ 24 instabil3 x1 = x2 = −
√β (ρ− 1), x3 = ρ− 1
Letzte beiden Gleichgewichtspunkte: entsprechen regelmäßigem
”Rollen“ der Konvektionszelle
Animation des Lorenz-Attraktors (Funktion lorenz unter MATLAB R©)
34 / 172
-
2. Modelle2.7 Stochastisches Modell – Beispiel für Signalmodelle
Signalbeschreibung durchKenngrößen wie Erwartungswert,Streuung, (Auto-, Kreuz-)Korrelationsfunktionen, (Auto-,Kreuz-)Leistungsdichtespektren
35 / 172
-
2. Modelle2.8 Spektrum der Modellierung und Simulation
Es∆
� �� �� �
� �� �� �
Systems
BlackBox
WhiteBox
AEs
Analysis
Circuits
Economic Systems
Electric
Speculation Design
ODEs
ODEs
PsychologicalSystems
BiologicalChemicalSystems
MechanicalSystemsSystems
ControlPrediction
PDEs
Social
Zwischen mechanischen und chemischen Systemen weitere: thermische,hydraulische, pneumatische Systeme
v.r.n.l.: wohl-definiert (white box) bis”schlecht“ definiert (black box)
Modellzweck entscheidend (nach [11])
36 / 172
-
2. Modelle2.9 Systembegriff und Aufgabenstellungen
Problemstellungen im Zusammenhang mit Systemmodell
Direktes ProblemFall 1: E, S bekannt; A unbekannt(Vorhersage)
Inverse ProblemeFall 2: E, A bekannt; S unbekannt(Parameter-,Strukturidentifikation,Zustandsschätzung)Fall 3: S, A bekannt; E unbekannt(Steuerungsproblem)
37 / 172
-
2. Modelle2.9.1 Fall 1: Direktes Problem
0( , ),
( , )
x f x u x
y f x u
=
=
&
Abbildung : Vorhersage (Anfangswertproblem)
Fall 1: Vorhersage
Berechnung des zukünftigen Systemverhaltens (t ∈ [t0 = 0, t0 + K ]) unterNutzung des Systemmodells S (t0 = 0: ”
Gegenwart“, K : Zeithorizont)
. . . ausgehend vom Anfangszustand x(0)
. . . bei bekannter oder angenommener Steuerung u(t) und evtl. Störung z(t)
D. h., eine Simulationsrechnung
38 / 172
-
2. Modelle2.9.1 Fall 1: Direktes Problem
0( , ),
( , )
x f x u x
y f x u
=
=
&
Abbildung : Vorhersage (Anfangswertproblem)
Fall 1: Vorhersage
Berechnung des zukünftigen Systemverhaltens (t ∈ [t0 = 0, t0 + K ]) unterNutzung des Systemmodells S (t0 = 0: ”
Gegenwart“, K : Zeithorizont)
. . . ausgehend vom Anfangszustand x(0)
. . . bei bekannter oder angenommener Steuerung u(t) und evtl. Störung z(t)
D. h., eine Simulationsrechnung38 / 172
-
2. Modelle2.9.2 Fall 2: Inverses Problem
ˆmin ( , , , )
ˆ ˆ( , )
px x u p
y f x u
J
=
Abbildung : Parameteridentifikation
Fall 2: z. B. Parameteridentifikation
Berechnung der Modellparameter p unter Nutzung des Systemmodells S,gemessener Eingangs- u(t) und Zustands- x(t) bzw. Ausgangsgrößen y(t)
Typisch: Optimierungsproblem, z. B. Methode der kleinsten Fehlerquadrate
(MKQ) minp||xi − x̂i ||2 , i = 1, 2, . . . , nm
xi - Messwerte, x̂i - Modellwerte, nm - Anzahl der Stützstellen
. . . ausgehend von einem Anfangsparameterdatensatz
. . . bei angenommener Modellstruktur
. . . iterative Lösung des Problems (schrittweise Verbesserung der Parameter)
D. h., eine Simulationsrechnung pro Iteration zur Berechnung derModellwerte x̂i
39 / 172
-
2. Modelle2.9.2 Fall 2: Inverses Problem
ˆmin ( , , , )
ˆ ˆ( , )
px x u p
y f x u
J
=
Abbildung : Parameteridentifikation
Fall 2: z. B. Parameteridentifikation
Berechnung der Modellparameter p unter Nutzung des Systemmodells S,gemessener Eingangs- u(t) und Zustands- x(t) bzw. Ausgangsgrößen y(t)
Typisch: Optimierungsproblem, z. B. Methode der kleinsten Fehlerquadrate
(MKQ) minp||xi − x̂i ||2 , i = 1, 2, . . . , nm
xi - Messwerte, x̂i - Modellwerte, nm - Anzahl der Stützstellen
. . . ausgehend von einem Anfangsparameterdatensatz
. . . bei angenommener Modellstruktur
. . . iterative Lösung des Problems (schrittweise Verbesserung der Parameter)
D. h., eine Simulationsrechnung pro Iteration zur Berechnung derModellwerte x̂i
39 / 172
-
2. Modelle2.9.3 Fall 3: Inverses Problem
0
min ( , , )
( , ),
ux u
x f x u x
J t
=&
Abbildung : Optimalsteuerungsproblem
Fall 3: Optimalsteuerungsproblem
Berechnung der optimalen Steuerung u(t) unter Nutzung des SystemmodellsS und gewünschter Zustands- x(t) bzw. Ausgangsgrößen y(t)
Optimalsteuerungsproblem
minu(t)
J(x(t), u(t))
J - Zielfunktional
. . . ausgehend von einer Anfangssteuerung u0(t)
. . . unter Nutzung des Systemmodells S
. . . iterative Lösung des Optimalsteuerungs-/nichtlinearenOptimierungsproblems (schrittweise Verbesserung der Steuerung)
D. h., eine Simulationsrechnung pro Iteration zur Berechnung der Steuerung
40 / 172
-
2. Modelle2.9.3 Fall 3: Inverses Problem
0
min ( , , )
( , ),
ux u
x f x u x
J t
=&
Abbildung : Optimalsteuerungsproblem
Fall 3: Optimalsteuerungsproblem
Berechnung der optimalen Steuerung u(t) unter Nutzung des SystemmodellsS und gewünschter Zustands- x(t) bzw. Ausgangsgrößen y(t)
Optimalsteuerungsproblem
minu(t)
J(x(t), u(t))
J - Zielfunktional
. . . ausgehend von einer Anfangssteuerung u0(t)
. . . unter Nutzung des Systemmodells S
. . . iterative Lösung des Optimalsteuerungs-/nichtlinearenOptimierungsproblems (schrittweise Verbesserung der Steuerung)
D. h., eine Simulationsrechnung pro Iteration zur Berechnung der Steuerung40 / 172
-
3. Analoge SimulationSimulation von zeit- und wertkontinuierlichen Systemen, z. B. zumSystemverständnis, d. h. Simulation mit verschiedenen Werten derSytemparameter → Schulung des SystemdenkensBsp.: System 1. Ordnung
ẋ(t) = −a x(t) + b u(t) , x(0) = x0y(t) = c x(t)
z. B. mit u(t) = σ(t) , σ(t) =
{1 für t ≥ 00 für t < 0
Schaltung/Signalflussbild
x0
ẋ(t)u(t) y(t)x(t)
a
cb∫dt
1
41 / 172
-
3. Analoge Simulation
Rechnerisch: Auswertung der Bewegungsgleichung
x(t) = x0 e−at +
t∫0
e−a(t−τ)b u(τ)dτ
Rückkopplung offen: reiner Integrator (System ohne Ausgleich),d. h. a = 0 . Für b = 1 und x0 = 0.1:
x(t) = x0 +
t∫0
b dτ
= x0 + b t
= x0 + t
42 / 172
-
3. Analoge Simulation
Rückkopplung geschlossen: Verzögerungsglied (System mitAusgleich; stabil), z. B. a = 1
T1= 10, d.h. T1 = 0.1, b = 1,
x0 = 0.1 :
x(t) = x0 e−at +
t∫0
e−a(t−τ)b dτ
= x0 e−at + b e−at
t∫0
eaτdτ
= x0 e−at +
b
ae−at
[eaτ]t
0
= x0 e−at +
b
ae−at (eat − 1)
= x0 e−at +
b
a
(1− e−at
)
43 / 172
-
3. Analoge Simulation
Durch stetiges Verändern des Modellparameters a: ausgehend vom Integratorerhält man ein T1-Glied (analoge Simulation).
Ebenso kann z. B. u(t) von σ(t) nach δ(t) verändert werden (Spungfunktion→ Impulsfunktion).An einem Analogrechner (AR) ist während dieser Änderungen gleichzeitg dieBeobachtung des Ausgangssignals möglich.
Analogrechner: siehe nächste Seite
44 / 172
-
3. Analoge SimulationAnalogrechner (Bildquelle: http://rechentechnik.foerderverein-tsd.de/
45 / 172
-
3. Analoge Simulation
Einfache Übertragungsglieder/Rechenelemente des Analogrechners
Summierer
ue1
uen
ue1 c1−ua
R1
R0
uen
-
Rn
+ −ua cn
1
ua = −n∑
i=1
ci uei ; ci =R0Ri
46 / 172
-
3. Analoge SimulationEinfache Übertragungsglieder/Rechenelemente des Analogrechners
Integrator
ue1
uen
R1
−ua0
ue1 c1k0 ua
C
Rnuen
ua cn+
-
1
ua(t) = −
{n∑
i=1
1
CRi
∫ t0
uei (τ)dτ + ua0
}
ua(t) = −
{n∑
i=1
R0Ri
1
R0C
∫ t0
uei (τ)dτ + ua0
}
ua(t) = −
{n∑
i=1
CiT
∫ t0
uei (τ)dτ + ua0
}
ci =R0Ri, T =
1
k0= CR0 , R0 - fiktiver Widerstand
47 / 172
-
3. Analoge Simulation
Einfache Übertragungsglieder/Rechenelemente des Analogrechners
Komparator
-ue1
R1
ue2R2
ue1
x1
0
ue2
ua
A+
1
ue1 + ue2 > 0→ x = 1ue1 + ue2 < 0→ x = 0
Koeffizientenpotentiometer, Verstärker mit einem oder mehreren Eingängen,Multiplizierer, Dividierer, Funktionsgeber, hydride Elemente (Logik, Speicher,Schalter)
48 / 172
-
3. Analoge Simulation
Programmierung des Analogrechners in 4 Schritten
1 Aufstellen des Koppelplanes
2 Normierung
3 Koeffizientenvergleich
4 Entnormierung
3 Betriebsarten: Anfangswertannahme, Rechnen, Halten
Gegenüberstellung der analogen, digitalen und hybriden Simulation(Analogrechner (AR), Digitalrechner (DR), Hybridrechner (AR steuert DR;Verbindung von AR und DR über Steuer- und Datenkoppelwerk)
49 / 172
-
3. Analoge Simulation
Vor- und Nachteile der analogen Simulation im Vergleich zur digitalen Simulation
Vorteile
Berücksichtigung: Wesentliche Elemente dynamischer Systeme habenanalogen Charakter (Prozesse, Messglieder, Umformer)
”Parallelprozessor“-Eigenschaften: Rechengeschwindigkeit der Gesamtaufgabe
identisch mit der der Teilaufgaben an Einzelelementen
AR besitzt um 1 bis 2 Zehnerpotenzen höhere Rechengeschwindigkeit als DR
Interaktivität
Anschluss von Echtzeitelementen einfach
Digitale Simulatoren haben oft Analogrechner als Vorbild
50 / 172
-
3. Analoge Simulation
Vor- und Nachteile der analogen Simulation im Vergleich zur digitalen Simulation
Nachteile
Große statische und dynamische Fehler der Rechenelemente
Schaltfehler bei Betriebsartensteuerung (Anfangswertannahme, Rechnen,Halten)
Skalierung immer notwendig
Koppelplanerstellung manuell
Begrenzte Rechenkapazität
Hoher Preis
Vorteile der digitalen Simulation: umfangreichere Palette und Möglichkeiten
(Programmierbarkeit, Softwareunterstützung)
51 / 172
-
3. Analoge SimulationArbeitsschritte zur Programmierung des Analogrechners -1-
Problem Maschine1. Programmierung und Normierung (T1–Glied )
Problemgleichung Maschinengleichung(abgeleitet aus unnormierter Problemgl.)
q̇ = − 1T
q + 1T
u , t ∈ [0, t1]1
k0
dx
dt̄= − c1α1x(t̄) + c2α2u(t̄) , t̄ ∈ [0, t1]
q∫dt1
T
1T
u q̇
1
−xu
c1
c2k0
ẋ
k0
α1
α2
1
52 / 172
-
3. Analoge Simulation
Arbeitsschritte zur Programmierung des Analogrechners -2-
Problem Maschine2. Normierung
a) Zeit a) Zeit
τ = λt =⇒ t = τλ
τ = k0t̄ =⇒ t̄ =τ
k0
τ – dimensionslose Variable τ – dimensionslose Variableλ –Normierungsfaktor k0 – Integrationsgeschwindigkeit
b) Amplitude b) Amplitudeq = Qqm ; u = Uum x = XE ; u = UE ; E = ±10 V
qm, um – bekannte oder geschätzteMaximalwerte (Probelauf)
53 / 172
-
3. Analoge Simulation
Arbeitsschritte zur Programmierung des Analogrechners -3-
Problem Maschine2. Normierung
c) Problemgleichung c) Maschinengleichungdq
dt=
dQ
d( τλ
)qm = −
1
TQqm +
1
TUum
1
k0
dx
dt̄=
1
k0
dX
d( τk0
)E = c1α1XE + c2α2UE
Multiplikation mit
∣∣∣∣ · 1λqm Multiplikation mit∣∣∣∣ · 1E
dQ
dτ= − 1
λTQ +
1
λT
umqm
U (∗) dxdτ
= − c1α1X + c2α2U (∗∗)
54 / 172
-
3. Analoge Simulation
Arbeitsschritte zur Programmierung des Analogrechners -4-
3. Koeffizientenvergleich (*) mit (**)
c1α1 =1
λT=⇒ α1 =
1
c1λT
c2α2 =1
λT
umqm
=⇒ α2 =1
c2λT
umqm
Mit ciλ ist αi ∈ [0, 1] zu sichern!
55 / 172
-
3. Analoge Simulation
Arbeitsschritte zur Programmierung des Analogrechners -5-
4. Entnormierung
a) Zeit
Es muss sein: λt = k0t̄ =⇒ t =k0λ
t̄
t̄ – problemabhängig festlegenk0λ
– Zeitmaßstab
k0λ
< 1 Zeitdehnung
k0λ
=t
t̄;
t
t̄< 1 =⇒ t̄ > t
= 1 Echtzeit> 1 Zeitraffung =⇒ t̄ < t
56 / 172
-
3. Analoge Simulation
Arbeitsschritte zur Programmierung des Analogrechners -6-
b) Amplitude
Es muss sein: Q = X =⇒q
qm=
X
E=⇒ q = qm
EX
u
um=
U
E=⇒ u = um
EU
qmE
ist Amplitudenmaßstab
57 / 172
-
4. Digitale Simulation
Historie
Mitte der 1960-er Jahre zügige Entwicklung blockorientierterSimulationssysteme
Motiv:
insbesondere Regelungstechniker forderten Werkzeuge für Analyseund Entwurfaußerdem: Entwicklung der zustandsorientierten Simulation zurLösung vornehmlich der Zustandsdgl./-dzgl.
58 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Zerlegung des zu untersuchenden Systems in geeignete Blöcke; daraufaufbauend: möglichst problemnahe Notation
Bei blockorientierter Simulation:
Simulationssprache (Metasprache)Translator übersetzt Metasprache in BasisspracheTypisch: Reihenfolge der Notation der Blöcke unabhängig vonderen AbarbeitungSystem von Unterprogrammen (Funktionen, Prozeduren)Beispiele: MATLAB R©/Simulink R©, Scilab, . . .Installation auf Workstations oder PCsDigitalrechner arbeitet seriell (Einprozessormaschine oder inKernen)Zeitachse diskretisiertFunktionswerte werden nacheinander berechnet
59 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Erläuterung der sequentiellen Vorgehensweise bei der digitalen Simulation an einemSystem 1. Ordnung
ẋ = f (x , u) ≈ xk+1 − xkh
= a xk + b uk
k - diskrete Zeit , h - Schrittweite
xk+1 − xk = h (a xk + b uk )xk+1 = (h a + 1)xk + h b uk
Mult.h b
u(k)Sprung-funktion
Mult.(1 + h a)
Summ.x(k+1) Mult.
c
x(k) y(k)Integrator
60 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Fazit: Enthält das zu simulierende System Rückführungen, so sind diezurückgeführten Signale xk+1 noch nicht bekannt, wenn aus ihnen derEingang des Integrators berechnet werden soll. Es steht nur xk zur Verfügung.
Eingang des Integrators kann nur berechnet werden aus (h a + 1)xk undh b uk , nicht aber aus (h a + 1)xk+1.
Lösung des Problems:
a) Reales System besitzt Totzeit Tt ; evtl. kann h = Tt gewähltwerden
b) Fehler umso kleiner, je mehr Zeitschritte (Aufwand!)c) Abtastsysteme fehlerfrei simulierbar (t = Tt)d) Iteration der Rückführung (meist benutzt), d. h. in jedem
Arbeitsschritt wird gesamtes System (einschließlichRückführungen) so lange iteriert, bis sich am Ausgang stationärerWert einstellt; dann nächster Zeitschritt
61 / 172
-
4. Digitale Simulation4.1 Blockorientierte SimulationKernstück der Simulation – Numerische Integration
Allgemein: Numerische Integration zur Berechnung . . .
. . . der Fläche unter einerKurve (hier wenig relevant)
Lösen des bestimmten Integrals
I =b∫
a
f (t)dt (Näherung → Fehler)
0 0.5 1 1.5 2
0
20
40
60
80
100Flaeche = 7.1132
t
f(t)
a b
. . . eines Zeitverlaufes,z. B. x(t) (relevant!)
Problemstellung bei derUntersuchung dynamischerSysteme
0 0.2 0.4 0.6 0.8 10
0.2
0.4
0.6
0.8
1
Zustandsverlauf
t
x(t)
62 / 172
-
4. Digitale Simulation4.1 Blockorientierte SimulationWiederholung: numerische Berechnung eines bestimmten Integrals
Aufgabenstellung: I =b∫
a
f (t)dt
Newton-Cotes-Formeln, z. B. äquidistant unterteilte Zeitachse
tj = a + j h (j = 0, 1, 2, . . . n) mit h =b−a
n
für n = 1: Trapez–Regel:
I1 =h
2(f0 + f1)
für n = 2: Simpson–Regel (Keplersche Fass–Regel):
I2 =h
3(f0 + 4 f1 + f2)
bei hinreichend glattem Funktionsverlauf arbeitet Simpson–Regelsehr genaufür n = 3: 38 –Regel:
I3 =3
8h (f0 + 3 f1 + 3 f2 + f3)
63 / 172
-
4. Digitale Simulation4.1 Blockorientierte SimulationProblemstellung bei dynamischen Systemen: Schwerpunkt im Rahmen derVeranstaltung
”Simulation“!
- Andere Aufgabenstellung im Vergleich zu vorheriger Folie -
Gegeben: Systembeschreibung ẋ(t) = f (x, u, t) (Dgl. n–ter Ordnung bzw. n
Dgln. 1. Ordnung), p Zeitfunktionen ui (t), u = (u1 u2 . . . up)T , n
Anfangswerte xi (t0)
Gesucht: (Numerische) Lösung x(t) = g(t, t0, x0) (Approximation)
64 / 172
-
4. Digitale Simulation4.1 Blockorientierte SimulationRichtungsfeld → Lösung x(t) = g(t, t0, x0)
t0 t1
x0
x1
t
x(t)
∂ x / ∂ t = f(x1,t
1)
Voraussetzungen:
Falls f (x, t) stetig ∀x ∈ X , dann geht durch (t0, x0) mindestens eineLösungskurve
Falls f (x, t) die Lipschitz-Bedingung |fk+1 − fk | ≤ K · |xk+1 − xk |, K > 0, Kkonst. ∀x ∈ X erfüllt, geht durch den Punkt (t0, x0) genau eine LösungskurvePraktisch erfüllt, wenn ∂f
∂x ≤ K , ∀x ∈ X65 / 172
-
4. Digitale Simulation4.1 Blockorientierte SimulationGrundgedanke: Lösung in diskreten Schritten
x(t0)
f(x, t)
fkẋ = f(x, t)
(Approximation
∫dt
ẋ x
von xk)
x̃
x(t0)
xk
1
Abbildung : Zeitliche Approximation von x
66 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Zeitliche Diskretisierung:
Äquidistant (zunächst betrachtet)Nicht äquidistantDurch Kollokation (Zeitdiskretisierung und Werteberechnungdurch Polynomapproximation)
Aufstellen einer numerischen Integrationsformel (Formel fürZuwachs/Änderung von x)
Schreibweise: xk = x(tk ), xk+1 = x(tk+1) = x(tk + h)
Näherung durch Taylorreihe, Abbruchfehler:
x(tk + h) ≈ x(tk ) + ∆x
= x(tk ) +dx(t)
dt
∣∣∣∣∣t=tk
·h + 12!
d2x(t)
dt2
∣∣∣∣∣t=tk
·h2 + . . .
Methode p-ter Ordnung, wenn die mit ihr berechnete Lösung bis zum p-tenGlied mit der Taylorreihe übereinstimmt
67 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Abbruch der Taylorreihenach dem linearen Termliefert folgendeRekursionsformel(EULER-Verfahren):
xk+1 = xk + ẋk · h = xk + fk · h
Fehler:
εk+1 = |x̃k+1 − xk+1| =∣∣∣∣ẍk h22! + . . .
∣∣∣∣≈ |ẍk |
h2
2!=
1
2
∣∣∣ḟk ∣∣∣ h2 = O(h2)Der Fehler ist von derOrdnung h2.
hopt
Schrittweite h
Fehl
er
Diskretisierungsfehler
Rundungsfehler
Gesamtfehler
Abbildung : Fehlerarten
68 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Wahl der Schrittweite h
h orientiert sich an der kleinsten Zeitkonstante Tmin des Systems;Empfehlung: h = Tmin
10. . . Tmin
4
Numerische Stabilität
nicht: Systemstabilität
limt→∞
x(t) = xs , ∀x(t0) = x0
sondern: numerische Stabilität
Definition:
∣∣∣∣∣δxk+1δxk∣∣∣∣∣ ≤ 1 ∀k
69 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Beispiel:
ẋ = −a x , x(0) = x0, a =1
T, t ≥ 0
x(t) = e−at , stabil für a > 0
Stabilität des EULER–Verfahrens:
xk+1 = xk + h fk = xk + h ẋk
xk+1 = xk − h a xk = xk (1− h a)x̃k+1 = x̃k − h a x̃k = x̃k (1− h a)δxk = x̃k − xk
δxk+1δxk
= 1− h a∣∣∣∣∣δxk+1δxk∣∣∣∣∣ = |1− h a| ≤ 1, → 0 ≤ h a ≤ 2
System stabil für a > 0 und Verfahren numerisch stabil für:
h ≤ 2a
= 2T (Einfluss der Schrittweite!)
70 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Weitere Verfahren
Trapez-Verfahren (Funktionswerte bei k = 0, 1, . . . k − 1 gegeben)
xk+1 = xk +h
2(fk+1 + fk )
Adams-Bashfort-V. (ähnlich EULER-V., aber gewichtetes Mittel bzgl. fk ,fk−1)
xk+1 = xk +h
2(3fk − fk−1)
Runge-Kutta-Verfahren approximieren Taylorreihenentwicklung
Runge-Kutta-V. 2. Ordnung (p = 2, HEUN-V., verbessertesEULER-V.); verbesserte Vorhersage (Prädiktion (P)) durchEULER-Schritt; Nutzung linearer Näherung, so dass bei xk+ 12 auchfk2 gilt
xPk+ 12= xk +
h
2f (xk , uk )
xk+1 = xk + h · f (xPk+ 12 , uk+ 12 )71 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Runge–Kutta–Verfahren 4. Ordnung (p = 4)
72 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Erläuterungen zum Runge-Kutta-Verfahren 4. Ordnung
1. x(t) in P0(x0, t0) durch Tangente genähert;bei t0 + h ist k1 eine erste Näherung (Q1);ẋ ≈ ∆x/h:
∆x ≈ k1 = h · tanα = hẋ = hf (x0, t0)h = ti+1 − ti .Bei R1(x0 +
k12, t0 +
h2
) gilt näherungsweise derAnstieg p1 (siehe Verlauf x(t))
p1 = f (x0 +k12, t0 +
h2
) .
2. Gerade P0Q2 mit p1 liefert
∆x ≈ k2 = hf (x0 + k12 , t0 +h2
) .
3. Auf Gerade P0Q2 entsteht bei t0 +h2
R2(x0 +k22, t0 +
h2
) mit p2 = f (x0 +k22, t0 +
h2
) .
73 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
4. Gerade P0Q3 mit p2 liefert
∆x ≈ k3 = hf (x0 + k22 , t0 +h2
) .
5. Die in R3(x0 + k3, t0 + h) vorgeschriebene Richtung p3führt zu P0Q4 und damit bei Q4 zu
∆x ≈ k4 = hf (x0 + k3, t0 + h) .
6. Aus k1 · · · k4 wird gewogenes Mittel gebildet∆x = 1
6(k1 + 2k2 + 2k3 + k4),
womit x(t0 + h) = x(t0) + ∆x zu berechnen ist.
Tabelle : Arbeitsschritte des Runge–Kutta-Verfahrens 4. Ordnung (sieheauch vorhergehende Abb.)
74 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Charakterisierung der Integrationsverfahren
explizite/implizite (bzw. offene/geschlossene),
Einschritt-/Mehrschritt-,
Prädiktor-/Korrektor-,
rekursive/iterative Verfahren
explizit (offen) implizit (geschlossen)
EULER–Verfahren (-vorwärts) EULER-V. (-rückwärts)- Vorwärtsdifferenzenapproximation - - Rückwärtsdifferenzenapproximation -xk+1 = f (xk , ẋk ) xk+1 = f (ẋk+1, xk+1, uk+1)
(nur lösbar mit Iterationsverfahren,z.B. Sukzessive Approximation)
xk+1 = xk + h ẋk xk+1 = xk + h ẋk+1Trapez–Verfahrenxk+1 = xk +
h2
(ẋk+1 + ẋk )
75 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Charakterisierung der Integrationsverfahren - Fortsetzung
explizit (offen) implizit (geschlossen)
Runge-Kutta-V. 4. Ordnung Heun-V. (verbessertes EULER-V.)xk+1 = xk +
h6
(k1 + 2k2 + 2k3 + k4)k1 = f (xk , uk )k2 = f (xk +
h2
k1, uk+ 12)
k3 = f (xk +h2
k2, uk+ 12)
k4 = f (xk + h k3, uk+1)
ẋk+1 = f (xk+1, uk+1)≈ f (xk + h ẋk , uk+1)
Vorhersage:ẋk = f (xk , uk )
2 Prädiktorschritte:xPk+1 = xk + h ẋkẋPk+1 = f (x
Pk+1, uk+1)
Korrektorschritt:xk+1 = xk +
h2
(ẋPk+1 + ẋk )
Einschritt-V. Mehrschritt-V.
alle Argumente aus [tk , tk+1], Verwendung zeitlich weiter zurück-max. einen Zeitschritt
”alt“ liegender Stützwerte
in [tk−m, tk−m+1, . . . tk , tk+1]
Mittelpunktregel:xk+1−xk−1
2h≈ ẋk
76 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Schrittweitensteuerung
bisher: feste Integrationsschrittweite
Schrittweitensteuerung (nicht äquidistante zeitliche Diskretisierung)
h xIntegrations-algorithmus
Schrittweiten-steuerung
abschätzungFehler-
κsoll
κist
1
hneu = haltκsollκist
77 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Steife Differentialgleichungssysteme
Verhältnis von größter zukleinster Zeitkonstante
TmaxTmin
≈ (20) 100 . . . 1000
oder noch größer
Bsp.: Zustandsvektor-Dgl.
ẋ =
[−1 00 −20
]x , x(0) =
[11
]
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.2
0.4
0.6
0.8
1
Zustandsverlaeufe
t
x(t)
Tmax
/Tmin
=20
78 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Numerische Stabilität am vorangegangenen Beispiel
EULER–vorwärts: h1 < 0.1 , h2 < 2
EULER–rückwärts: stabil ∀h→ Verwendung impliziter Verfahren (z.B. Heun-Gear-Verfahren);
”Problem“: Anlauf, Prädiktion
Integration bei unstetiger rechter Seite der Dgl.
z.B. Sprungsignal, Begrenzung, unstetige Regler
→ Einschrittverfahren mit automatischer Schrittweitensteuerung (h wird sogewählt, dass Unstetigkeit an der Intervallgrenze {tk , tk+1 , . . .} liegt)
79 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Integration von differential-algebraischen Systemen(DAE-Systemen)
Sehr hohe Steifigkeit: DAE-System
DAE-System: algebraische Schleife
Verfahren mit Rückwärts-Differenzen-Formeln (engl.: backward differentiationformulas (BDF)), d. h. implizite Mehrschritt-Verfahren oderKollokationsverfahren
80 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Algebraische Schleifen
ua
ye
1
e = u − yy = a e
t = 0:
e = y = 0, u = 1
für t > 0:
e = 1− 0 = 1y = a · 1 = ae = 1− ay = a(1− a) = a− a2
e = 1− (a− a2)
y = a(1− (a− a2)) = a− a2 + a3 , usw.t >> : y = a− a2 + a3 − a4 + a5 − . . .+ . . .
81 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Algebraische Schleifen - Fortsetzung
Konvergenz: nur für −1 < a < 1
y =a
1 + a
Ausweg: zeitdiskrete Realisierung
e(k) = u(k)− y(k − 1)y(k) = a e(k)
Algebraische Schleifen können, wenn sie nicht entdeckt werden, zuInstabilitäten bei einem stabilen Modell führen.
Auswege beim Auftreten von algebraischen Schleifen:
Vermeiden (so weit wie möglich; nicht immer möglich)Schleifenverstärkung < 1: Tt (Modellveränderung; akzeptabel)Iterative Lösung
82 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Algebraische Schleifen - Fortsetzung
Im Allgemeinen führt Auftreten von algebraischen Schleifen (neben anderenSystemeigenschaften) zu einem DAE-System:
ẋ(t) = f (x, u, t)
0 = g(x, u, t)
Lösung mittels BDF- oder Kollokationsverfahren
Stationäre Punkte
Bestimmung der Ruhelage/des Gleichgewichtszustandes
ẋ(t) = f (x, u, t), x(0) = x0
Lösung der algebraischen Gleichung (Nullstellenbestimmung)
0 = f (xs , u), u = us = const.,Anfangswert: x0S = x0
Lösungsverfahren (z.B. Newton–Raphson–Verfahren, Picard–Verfahren)
83 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Empfehlungen zum Einsatz numerischer Integrationsverfahren
1. Versuch: Runge-Kutta-V. 4./5. Ordnung mit Schrittweitensteuerung(Dormand-Prince-V., explizites Einschritt-V.)
Bei geringen Genauigkeitsanforderungen: Runge-Kutta-V. 2./3. Ordnung(Bogacki-Shampine-V., explizites Einschrittverfahren; auch geeignet beimoderater Steifigkeit)
Bei höheren Genauigkeitsanforderungen: Adams-Bashfort-Moulton-V.(explizites Mehrschrittverfahren)
Für steife Differentialgleichungssysteme:
Gear-V. bzw. Heun-Gear-V. variabler Ordnung (implizitesMehrschrittverfahren; benutzt numerische(Rückwärts-)Differenzen)implizites Runge-Kutta-V. 2. Ordnung (implizitesEinschrittverfahren; benutzt Trapezregel und Rückwärtsdifferenz)
Für DAE-Systeme: BDF- oder Kollokationsverfahren
84 / 172
-
4. Digitale Simulation4.1 Blockorientierte Simulation
Numerische Differentiation - Pendant zur Integration
Aufbauend auf Newtonschen Interpolationspolynom:
dx
dt
∣∣∣∣∣t=tk
=xk − xk−1
hSchrittweite h = tk − tk−1
Genauere Ergebnisse liefern Ausdrücke, die symmetrisch zu tk liegen, z.B.:
dx
dt
∣∣∣∣∣t=tk
=xk+1 − xk−1
2h
oder für die 2. Ableitung
d2x
dt2
∣∣∣∣∣t=tk
=1
h2(xk+1 − 2xk + xk−1)
85 / 172
-
4. Digitale Simulation4.2 Zustandsorientierte Simulation
Leistungsfähige Modellierungsmethoden + Fortschritte in der Rechentechnik→ verbesserte Anwendbarkeit von Methoden zum optimalen Systementwurf(optimale Steuerung, adaptive on–line Steuerung)
Bei diesen Problemstellungen:
Objektsimulation ist kleiner TeilNicht zweckmäßig: Anwendung von SimulationssystemenBesser: numerische Integration von Differentialgleichungssystemenoder Auswertung der Bewegungsgleichung für lineare bzw.quasi–lineare Systeme
Zur Erinnerung: Zustandsbeschreibung:
ẋ(t) = A x(t) + B u(t)
y(t) = C x(t) + D u(t)
Bei zeitvarianten Systemen sind die Systemmatrizen zeitabhängig,z.B. A = A(t) .
86 / 172
-
4. Digitale Simulation4.2 Zustandsorientierte Simulation
Allgemeine Lösung der Zustands-Dgl.:
x(t) = ΦΦΦ(t)x(0) +
t∫0
ΦΦΦ(t − τ)Bu(τ)dτ
ΦΦΦ(t) = eAt
Numerische Lösung der Zustands-Dgl. mittels numerischer Integration undrekursiver Beziehung xk+1 = f (xk )
Weiterführende Literatur, z.B. Ludyk [19] oder Reinisch [22]
87 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Objektorientierte Modellierung: Verallgemeinerung der blockorientiertenModellierung
Geeignet für multidisziplinäre Systemmodellierung und -simulation(Simulationssysteme oft auf Fachgebiete zugeschnitten; Modellierung vonKomponenten oder Disziplinen anderer Fachgebiete nicht oder nur ineingeschränktem Maße möglich)
Praxisanwendungen: Automobilindustrie, Luft- und Raumfahrt, Robotik,Thermodynamik (Gase, Flüssigkeiten), Klimatisierung, Kraftwerke, Mechanik(Mehrkörpersysteme), Optik, Abwasserreinigung, . . .
Bisher: meist blockorientierte (kausale) Modellierung vorherrschend
88 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Kausale Modellierung - Vorteile/Nützlichkeit
Systemverständnis (Pole, Nullstellen, Übertragungsfunktion, -verhalten,lineares/nichtlineares/linearisiertes System, . . .
Beschreibung der Steuerungs-/Regelungsstruktur
Kausale Modellierung - Nachteile
Aufwändig zu erzeugen/umzuformen; manuelle Ableitung aus Zustands- undErhaltungsgleichungen; fehlerträchtig
Weniger gut wiederverwendbar
Schwierigkeiten bei komplexen Systemen, konsistente Anfangsbedinungenherzustellen (bei differential-algebraischen Gleichungssystemen(DAE-Systemen))
89 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Kausale Modellierung - Nachteile (Fortsetzung)
A priori (Im Vorhinein): Was ist bekannt (Eingang), was ist unbekannt(Ausgang)?
Annahmen über Kausalität auf Komponentenebene (nicht: Gesamtsystem)
Robustheit, Wartung: Modellparameter”verteilt“ (nicht im Sinne von
Systemen mit verteilten Parametern, sondern im Sinne”verstreut“ im
gesamten Modell (Signalflussbild))
Diagramm beinhaltet nicht genügend Informationen, umAnfangsbedingungen zu berechnen
90 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Akausale Modellierung (physikalisch, objektorientiert) - Merkmale
Beschreibung eines Systems/einer Komponente anhand von Zustands- undErhaltungsgleichungen (i. d. R. Kombination; −→ DAE-System);physikalische Gesetzmäßgikeiten
Keine explizite Festlegung über Ein- und Ausgang
Zwei Arten von Variablen: Potenzial- und Flussvariablen; (Potenzialvariablen:Triebkräfte); Einheit des Produkts von Fluss- und Potenzialvariablentypischerweise Einheit der Leistung
Objektdiagramm: hierarchischer Aufbau, Verallgemeinerung desBlockschaltbilds
Beispiele (s. auch nächste beide Folien):
Block- und objektorientierte Modellierung eines elektrischenNetzwerks (Blockschaltbild, Objektdiagramm)Objektdiagramm eines AntriebsstrangsObjektdiagramm eines Motors
91 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Blockorientierte vs. physikalische objektorientierte Modellierung
Blockorientiert (Ursache → Wirkung, Ein-/Ausgang, kausal)
Objektorientiert (physikalisch, akausal)
92 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Verbindungen
Signalflüsse
Starre mechanische
Regler Getriebe LastMotor
1
Abbildung : Objektdiagramm eines Antriebsstrangs
93 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
richterStrom-
Motor-trägheit
Strom
EMK
Drehzahl
FlanschMechanischer
R L
1
Abbildung : Objektdiagramm eines Motors
Bestandteile des Objektdiagramms
Grafische Darstellung der physikalischen Komponenten
Schnittstellen, mit denen die Komponente mit anderen Bauteilen verbundenwerden kann
94 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Bestandteile des Objektdiagramms (Fortsetzung)
Gerichtete oder ungerichtete Verbindungslinien (elektrische, hydraulischeLeitungen, mechanisch starre Verbindungen, aber auch Signalflüsse)
Komponenten werden unabhängig von Umgebung definiert (lokale undSchnittstellenvariablen)
Komponente ist hierarchisch aufgebaut oder durch algebraische bzw. Dgln.beschrieben
Arten von Verbindungsgleichungen zwischen Komponenten
Verbundene Variablen haben denselben Wert: Potenzialvariablen, Bsp.:Spannung, Weg, Geschwindigkeit, Druck
Die Summe der verbundenen Variablen verschwindet: Flussvariablen, Bsp.:Strom, Kraft, Moment, Volumen–, Massenstrom; an allen Elementen gleichepositive Flussrichtung, z.B. in Element hinein
95 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Beispiele für elektrische Einzelkomponenten (Objektdiagramm undBeschreibungsgleichungen)
Widerstand
v1 v2
i2i1
u
R+
1
0 = i1 + i2
u = v1 − v2u = R i1
Kapazität
v1 v2
i2i1 C
u
+
1
0 = i1 + i2
u = v1 − v2i1 = C u̇
Elektrische Zweipole haben Gemeinsamkeiten (Stromsumme = Null,Spannung = Potentialdifferenz) ⇒ Definition einer (noch nicht vollständigen)Klasse (eines Teil-Modells) Zweipol
96 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Beispiele für elektrische Einzelkomponenten (Objektdiagramm undBeschreibungsgleichungen) - Fortsetzung
Induktivität
v1 v2
i2i1
u
L+
1
0 = i1 + i2
u = v1 − v2
u1 = Ldi1dt
Spannungsquelle
∼v2
i2i1
v1
u
u(t)
+
1
0 = i1 + i2
u = v1 − v2u = A sinωt
97 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Beispiele fürelektrische Einzel-komponenten(Objektdiagrammund Beschrei-bungsgleichungen)- Fortsetzung
Erdung
v i
1
v = 0
Vorgehensweise bei der Modellierung
a)”buttom-up“-Entwurf
Definition einer (noch nichtvollständigen) Klasse (einesTeil-Modells) Zweipol mitallgemeinen Eigenschaften sowiePotential- und FlussvariablenDefinition einer Klasse(z. B. Widerstand), dass dieEigenschaften von Zweipol erbtInstanziierung einer Klasse (=Objekt) (z. B. R vom TypWiderstand mit dem Wert 1 Ω)Verbindung zum Gesamtmodell
b)”top-down“-Entwurf (umgekehrt zu a) )
98 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Zusammenschaltung o. g. Komponenten
ElektrischerSchaltkreis(Objektdiagramm)
u(t)
g
3
1
2
R
C+
+
A
+
∼
1
Anmerkungen
17 Gleichungen, 17 Unbekannte;R.i1 R.i2 R.v1 R.v2 R.uC .i1 C .i2 C .v1 C .v2 C
dudt
A.i1 A.i2 A.v1 A.v2 A.ug .i g .v
1 Zustand (C .u); Beschreibung läuftauf Zustandsbeschreibung hinaus, d.h.ẋ(t) = f (x , u, t); Anfangszustandbekannt, Parameter bekannt
99 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Ablauf der objektorientierten Simulation
Modellierungs-system
Objektor.Transformations-Symbolische
algorithmen
numerischeÜbliche
Integrations-verfahren
Lösung
diagramm
Zustands-Objekt-
form
besetzteMatrizen)
DAEs
(groß,schwach
1
100 / 172
-
4. Digitale Simulation4.3 Objektorientierte Simulation
Anmerkungen
Manuelle Umformung aufwändig (nach der interessierendenZustandsableitung); → Algorithmen sortieren DAEs (rekursiveBerechnungsvorschrift, nicht vereinfacht; symbolische Verarbeitung)
Vorgehen systematisch und einfach
Rechnerunterstützung unabdingbar
Seit den 1990-er Jahren: Entwicklung von Softwaresystemen und Sprachen(unvollständige Liste: ABACUS, Omola, Dymola R©, Modelica R©,OpenModelica, SimulationX, Wolfram System Modeler R©, MapleSimTM . . . )
Weiterführende Literatur: Otter, et. al. [21], Fritzson [15]
101 / 172
-
5. Simulationssprachen und -systeme5.1 Übersicht – kleine Auswahl
Bsp.: Softwarebibliotheken
The Numerical Algorithm Group (NAG) / Kommerzielle numerischeAlgorithmen / nag.co.uk
Netlib / Freie mathematische Software (Numerik, wissenschaftlichesRechnen) / netlib.org
Bsp.: Simulationssysteme mit grafischer Oberfläche
LabVIEW / Grafische Programmierumgebung (Messdatenerfassung und-verarbeitung, Messgerätesteuerung, eingebettete Systeme, Steuerung,Regelung, . . .) / ni.com/labview/d/
102 / 172
nag.co.uknetlib.orgni.com/labview/d/
-
5.1 Übersicht – kleine Auswahl
Bsp.: Integrierte Systeme (Modellierungssprache undSimulationsumgebung)
OpenModelica, Dymola / Objektorientiert; Modellbildung und Simulation /openmodelica.org, http://www.3ds.com/products-services/catia/products/dymola
MATHMODELICA / Objektorientiert; Modellbildung und Simulation /http://www.mathcore.com/products/mathmodelica/
MATLAB R©/Simulink R© / MATLAB R©: führende Sprache fürwiss.-techn. Berechnungen, Steuerungsentwurf, . . . ; Modellierung,Simulation, Analyse dynamischer Systeme, usw. / mathworks.com
GNU Octave / Freie Software; numerische Berechnungen, . . .; überwiegendMATLAB R©-kompatibel / octave.org
Scilab / Freie Software; numerische Berechnungen, ähnlich MATLAB R© . . . /scilab.org
Bsp.: Sprachen
MATLAB R© / Hochsprache für wiss.-techn. Berechnungen / mathworks.com
Modelica R© / Freie Software; Objektorientierte Sprache / modelica.org
103 / 172
openmodelica.orghttp://www.3ds.com/products-services/catia/products/dymolahttp://www.mathcore.com/products/mathmodelica/mathworks.comoctave.orgscilab.orgmathworks.commodelica.org
-
5.1 Übersicht – kleine Auswahl
Bsp.: Simulation industrieller Prozesse
gPROMS / Modellierung, Simulation und Optimierung kont. dyn. Systeme;Simulator einzubetten in Kundenanwendungen /http://psenterprise.com/gproms.html
WITNESS / Modellierung, Simulation und Optimierung derArbeitsumgebung einschl. Geschäftsprozesse / lanner.com/en/witness.cfm
Bsp.: Web-basierte und verteilte Simulation
RT-LAB / Echzeit-Modellierungs- und Steuerungswerkzeug (HiL) /opal-rt.com
JSIM / Java-basiert; Schwerpunkt: Physiologie, Biomedizin /http://www.physiome.org/jsim/
104 / 172
http://psenterprise.com/gproms.htmllanner.com/en/witness.cfmopal-rt.comhttp://www.physiome.org/jsim/
-
5.1 Übersicht – kleine Auswahl
Bsp.: Sonstige
Hybride Systeme
Netzwerke
Anwendungsspezifische Systeme (Welt, Umwelt, Wirtschaft, Produktion,CAD, Ressourcen, u.v.a.m.)
Übersicht
en.wikipedia.org/wiki/List_of_computer_simulation_software
105 / 172
en.wikipedia.org/wiki/List_of_computer_simulation_software
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.1 Einleitung
MATLAB R©: Hochsprache für wissenschaftlich-technische Berechnungen(Berechnungen, Visualisierung, Programmierung) in leicht handhabbarer
Umgebung
Mathematisch-numerische Berechnungen (auch symbolische)Modellierung, Simulation, Prototyping, Algorithmen, . . .Datenanalyse, -auswertung und -visualisierungWissenschaftlich-technische grafische DarstellungenAnwenderprogrammentwicklung (einschl. grafischesBenutzerinterface)Physikalische objekt-orientierte Modellierung
Simulink R©: Block- (tw. objekt-)orientiertes grafisches SimulationssystemFachgebietsspezifische Toolboxen
Abkürzung MATLAB R©: matrix laboratory
Grundlegendes Datenelement: Feld (array, matrix)Interaktiv (Kommando–Interpreter)Ursprüngliche Entwicklung: leichter Zugang zu LINPACK undEISPACK (zwei Bibliotheken,
”state-of-the-art“ der
Matrizenrechnung) und grafische Veranschaulichung106 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung
Überblick (Quelle: www.de.mathworks.com/products)
107 / 172
www.de.mathworks.com/products
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.1 Einleitung
Entwicklung von MATLAB R© im Verlaufe der Zeit: Toolboxen,Objektorientierung (Klassendefinitionen, . . .)
Verfügbarkeit: PCs und Workstations, verschiedene Betriebssysteme(WINDOWS, Unix, Linux, . . .), TU Ilmenau: im Uni-Rechnernetz (ThüringerLandeslizenz der Unis; zeitparallele Zugriffe)
Kommerzielles Produkt; Studentenversion (82,00 e)(https://www.academic-center.de/cgi-bin/program/S1672) mit(kleinen) Einschränkungen (MATLAB R©, Simulink R© (1000 Blöcke), 12Toolboxen; auch: Prototyping, Test auf Arduino, LEGO MINDSTORMSNXT, Raspberry Pi)
Informationen
http://www.mathworks.com
http://www.mathworks.de
Literaturliste (Bibliothek), Copy-Shop, Internet
Alternativen zu MATLAB R©:
Scilab/Xcos unter Linux, Windows, usw. (Freie, quelloffeneSoftware, GPL-kompatibel), https://www.scilab.orgGNU Octave unter Linux, Windows, usw. (Freie, quelloffeneSoftware), https://www.gnu.org/software/octave 108 / 172
https://www.academic-center.de/cgi-bin/program/S1672http://www.mathworks.comhttp://www.mathworks.dehttps://www.scilab.orghttps://www.gnu.org/software/octave
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.2 Arbeitsumgebung
Kommando-, Workspace-, Verzeichnis-, Historiefenster
Reiter Home, Plots, Apps
Kommandomanipulation; -folgen in ASCII-Skript-Dateien; (*.m)
Hilfe, Informationen, Übersichten, usw.
Befehl Erläuterung
demo Beispiele
doc schlüsselwort Hypertext-Dokumentation (auch PDF-Format)
help, help help,help fcn | m-file | thema Textuelle Online-Hilfeexist Test, ob Variable oder Funktione definiert
type Auflisten vom M-Files
edit Editieren von M-Files
109 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.2 Arbeitsumgebung
Wichtige”Betriebssystemkommandos“
cd Verzeichniswechsel
pwd Ausgabe des gegenwärtigen Arbeitsverzeichnisses
ls, dir Inhaltsverzeichnis
delete Löschen von Dateien
!befehl Betriebssystemskommandos ((WIN)DO(W)S, LINUX, . . .)
Sonstiges
format Zahlenformat (short, long, e, g, bank, . . .)
; / ... Ausgabeunterdrückung/Kommandofortsetzung
Workspace:who, whos Info zu Variablen (Kurz-, Langform); s. auch Workspace
clear Löschen von Variablen oder Funktionen
save, load Speichern bzw. Laden von Variablen in bzw.
von Datei mit angebbarem Format (-mat, -ascii, u.a.)
diary Tagebuchfunktion, d. h. Speichern aller Kommandos undErgebnisausgaben des Kommandofensters in einer Datei
110 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.3 MATLAB R©-Kommandosprache
Variable und Datentypen
Variable: erste 31 Zeichen signifikant; Buchstaben, Ziffern, ; beginnend mitBuchstaben; keine explizite Vereinbarung; Speicherung im Workspace(Arbeitsspeicher)
Spezielle Variable und Variablenwerte
Variable Erläuterung
ans Antwortvariable, wenn das Ergebnis keiner Variablenzugewiesen wurde
eps Relative Genauigkeit
realmax, realmin Größte bzw. kleinste darstellbare Gleitkommazahl
pi π = 3.1415926 . . .
i,j Imaginäre Einheit
inf Unendlich (∞)NaN
”not a number“ , Ergebnis eines unbestimmten
Ausdruckes, z. B. 00
111 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.3 MATLAB R©-Kommandosprache
Datentypen (Klassen) – eine Auswahl
Datentyp Erläuterung
double Vektoren, Matrizen, 3D-Felder;Elemente reelle oder komplexe Zahlen; voll besetzt;Indizierung bei 3-D-F.: (Zeile, Spalte, Seite)
sparse Schwach besetzte Matrizen (sparse matrices)
char Zeichenketten(-felder)
cell Mehrdimensionale”Zellenfelder“; Zellen: Elemente
unterschiedlicher Datentypen, auch Strukturen
struct Elemente unterschiedlicher Datentypen
einer Variablen zusammengefaßt
int8, ..., int64, Vorzeichenbehaftete unduint16, ..., uint64, . . . vorzeichenlose ganze Zahlenfelder
logical Boolesche Felder
. . . . . .
112 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.3 MATLAB R©-KommandospracheZahlen, Zeichen(ketten)
Vorzeichenbehaftete reelle oder komplexe Zahlen in Festkomma- oder inwissenschaftlicher Darstellung (Mantisse, Exponent):
Bsp.: 3 9.6 -.99 1e3 -5.34e-4 -3.14j 1i 3-4i
Zeichen(ketten) in Hochkomma eingeschlossen, Bsp. ’xyz’ ,’er hat’’s’
Operatoren (doc ops)
Arithmetische, Vergleichs–, logische, bitweise, Mengen- und spezielleOperatoren
Funktionen (doc elfun)
Mathematische Funktionen (Winkelfunktionen, Exponentialfunktion,Logarithmen, Wurzel, Rundung, Teiler, Rest, Komplexe Zahlen, ...) (docelfun) u.v.a., z.B. Umwandlung von Datentypen (Zeichenketten,numerisch), Zeichenkettenmanipulation
Ausdrücke
Ausdrücke werden aus Variablen, Zahlen, Zeichenketten, Operatoren undFunktionen gebildet.
113 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.3 MATLAB R©-Kommandosprache
Ein-/Ausgabe
save Speicherung aller Workspace-Variablenin einer binären oder ASCII-Datei
Bsp.:save fname Speicherung der Datei fname.matsave matlab.mat
save fname X,Y,Z fname.mat; Inhalt: X, Y und Zsave fname -ascii fname.mat im ASCII-Format
load Laden von Variablen aus einer binärenoder ASCII-Datei in den Workspace
Bsp.:load fname Laden aus dem binären MAT-File fname.matload dto. matlab.matload test.dat Laden aus der ASCII-Datei test.dat bzw.(oder load test -ascii) test; Abspeichern in Variable/Matrix test
114 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.3 MATLAB R©-Kommandosprache
Ein-/Ausgabe (Fortsetzung)
input Tastatureingabe durch NutzerBsp.: n=input(’Wieviele Messwerte ?’);Eingabe: MATLAB R©-AusdruckBsp.: Name=input(’Wie ist Ihr Name? : ’,’s’);Eingabe: Zeichenkette; wird nicht ausgewertet
fopen, fclose,fread, fwrite,fscanf, fprintf . . .
”low–level“-E/A-Kommandos
print Ausgabe von Grafiken auf Drucker, Plotter oder inDatei; Formate (PS, EPS, JPG, PNG, TIF, HPGL,druckerspezifisch); Zusammenwirken mit GhostScript
plot(x,y) Grafik mit linearer Achseneinteilung, y = f (x)
Weitere Kommandos zur grafischen Darstellung: siehe Visualisierung
Weitere Sprachelemente: siehe M-File-Programmierung
115 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Matrizen, Teilmatrizen (doc elmat)
Matrix A =
a11 a12 a13a21 a22 a23a31 a32 a33
= 1 2 34 5 6
7 8 6
A=[1 2 3;4 5 6;7 8 6]
Teilmatrix B =
[a11 a12a21 a22
]B=A(1:2,1:2)
Generierung von Matrizen
Funktion Erläuterung
zeros, ones, eye Null-, Eins-, Einheitsmatrizen
rand, randn zufällig belegte Matrizen (Gleich-, Normalverteilung)
linspace, logspace Vektor mit äquidistanter/logarithmischer Teilung
diag Diagonalmatrizen/Diagonalen
116 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Matrizenoperationen
Operator Erläuterung
’ Transposition
+, - Addition, Subtraktion
* Matrizenmultiplikation
.* Elementweise Multiplikation
\, /, ./ Links-, Rechts- und elementweise Divisionˆ, .ˆ Potenzierung, elementweise Potenzierung
117 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (m = n)
1. Bsp.: m, n - Anzahl d. Gleichungen bzw. Anzahl d. Variablen
3 x1 + 2 x2 − 3 x3 = 2−5 x1 − 4 x2 + 6 x3 = −1
2 x1 − x3 = 1
Matrix-/Vektor-Schreibweise: 3 2 −3−5 −4 62 0 −1
x1x2x3
= 2−1
1
A x = b
x = A−1 b
Lösung: x=inv(A)*b oder x=A\b
118 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (m = n)
1. Bsp.: m, n - Anzahl d. Gleichungen bzw. Anzahl d. Variablen
3 x1 + 2 x2 − 3 x3 = 2−5 x1 − 4 x2 + 6 x3 = −1
2 x1 − x3 = 1
Matrix-/Vektor-Schreibweise: 3 2 −3−5 −4 62 0 −1
x1x2x3
= 2−1
1
A x = b
x = A−1 b
Lösung: x=inv(A)*b oder x=A\b
118 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (m = n)
1. Bsp.: m, n - Anzahl d. Gleichungen bzw. Anzahl d. Variablen
3 x1 + 2 x2 − 3 x3 = 2−5 x1 − 4 x2 + 6 x3 = −1
2 x1 − x3 = 1
Matrix-/Vektor-Schreibweise: 3 2 −3−5 −4 62 0 −1
x1x2x3
= 2−1
1
A x = b
x = A−1 b
Lösung: x=inv(A)*b oder x=A\b 118 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (überbestimmt; m > n)
2. Bsp.:
3 x1 + 2 x2 = 3
x1 − 2 x2 = 1x1 − x2 = 1
4 x1 + x2 = 4
Matrix-/Vektor-Schreibweise:3 21 −21 −14 1
[ x1x2]
=
3114
A x = b
Lösung (i. S. kleinste Fehlerquadrate): hier nur möglich: x=A\b
119 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (überbestimmt; m > n)
2. Bsp.:
3 x1 + 2 x2 = 3
x1 − 2 x2 = 1x1 − x2 = 1
4 x1 + x2 = 4
Matrix-/Vektor-Schreibweise:3 21 −21 −14 1
[ x1x2]
=
3114
A x = b
Lösung (i. S. kleinste Fehlerquadrate): hier nur möglich: x=A\b
119 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (überbestimmt; m > n)
2. Bsp.:
3 x1 + 2 x2 = 3
x1 − 2 x2 = 1x1 − x2 = 1
4 x1 + x2 = 4
Matrix-/Vektor-Schreibweise:3 21 −21 −14 1
[ x1x2]
=
3114
A x = b
Lösung (i. S. kleinste Fehlerquadrate): hier nur möglich: x=A\b 119 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (unterbestimmt; m < n)
3. Bsp.: keine eindeutige Lösung
6 x1 + 8 x2 + 7 x3 + 3 x4 = 7
3 x1 + 5 x2 + 4 x3 + x4 = 8
Lösung: siehe MATLAB-Online-Hilfe (Linear Equations/Systems of LinearEquations/Underdetermined Systems (Stichworte: Basislösungen; höchstensm Nicht-Null-Komponenten; Linearkombination; Nullraum-Vektor))
120 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Lineare Gleichungssysteme (unterbestimmt; m < n)
3. Bsp.: keine eindeutige Lösung
6 x1 + 8 x2 + 7 x3 + 3 x4 = 7
3 x1 + 5 x2 + 4 x3 + x4 = 8
Lösung: siehe MATLAB-Online-Hilfe (Linear Equations/Systems of LinearEquations/Underdetermined Systems (Stichworte: Basislösungen; höchstensm Nicht-Null-Komponenten; Linearkombination; Nullraum-Vektor))
120 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.4 Matrizen, lineare Algebra
Matrizenfunktionen (doc matfun)
Befehl Erläuterung
norm, cond Matrix- oder Vektornorm, Konditionszahl
rank, inv Rang, Inverse einer Matrix
det Determinante einer Matrix
trace Spur einer Matrix (Summe der Diagonalelemente)
chol, lu Cholesky-, LU-Faktorisierung
eig Eigenwerte, -vektoren
poly Koeffizienten des charakteristischen Polynoms
. . .
121 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
- Anfangswertprobleme -
Funktionen für Dgln. (doc funfun)
Befehl/Datei Erläuterung
odeset, odeget Einstellen/Lesen von Parametern zur Dgl.lösung
Num. Integrationsverf. zur Lösung von Dgl.systemen . . .ode45, ode23, ode113 . . . nicht-steifeode15s, ode23s, ...
ode23t, ode23tb . . . steifeode15s, (ode23t) . . . DAEs (mit konst. Masse-Matrix)ode15i . . . implizite
odeplot Zeitverlaufgrafik während der Simulation
odephas2, odephas3 2D-, 3D-Phasendiagramm währendder Simulation
odeprint Tabellarische Ergebnisse im Kommandofenster
122 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 1: Logistisches Wachstum (Wachstums-Dgl.)
ẏ(t) = a y(t)(1− y(t)) , y(0) = y0 = 0.1mit Wachstumsparameter a = 3.2
MATLAB R©-Funktion (Datei: growth.m)
function ypunkt=growth(t,y)
a=3.2; % Wachstumsparameter
ypunkt=a*y*(1-y);
Aufruf (im Kommandofenster, im Skript, in einer Funktion)
[t,y]=ode45(@growth,[0 5],0.1);plot(t,y) % odersol=ode45(@growth,[0 5],0.1);plot(sol.x,sol.y) % oder—–sol=ode45(@growth,[0 5],0.1);x=linspace(0,5,101); % Zeitbasis neuy=deval(sol,x,1); % Interpolation fuer neue Zeitbasis
plot(x,y)
123 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 2: Van-der-Pol-Schwinger (Dgl.-system)
ẏ(t) =
[ẏ1(t)ẏ2(t)
]=
[y2(t)
µ(1− y 21 (t)
)y2(t)− y1(t)
], y(0) = y0 =
[20
]µ = {1, 1000}
MATLAB R©-Funktion (Datei: shvdpmue.m)
function dydt=shvdpmue(t,y,mue) % mit weiterer Parameteruebergabe
dydt=[y(2);mue*(1-y(1)ˆ2)*y(2)-y(1)];
Aufruf (im Kommandofenster, im Skript, in einer Funktion)
options=odeset(’OutputFcn’,’odeplot’); mue=1;
[t,y]=ode45(@shvdpmue,[0 50],[2;0],options,mue); % oder
[t,y]=ode15s(@shvdpmue,[0 50],[2;0],options,mue);
Eigenschaft für µ = {1, 1000}?
µ = 1: nicht-steif, µ = 1000: steif
124 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 2: Van-der-Pol-Schwinger (Dgl.-system)
ẏ(t) =
[ẏ1(t)ẏ2(t)
]=
[y2(t)
µ(1− y 21 (t)
)y2(t)− y1(t)
], y(0) = y0 =
[20
]µ = {1, 1000}
MATLAB R©-Funktion (Datei: shvdpmue.m)
function dydt=shvdpmue(t,y,mue) % mit weiterer Parameteruebergabe
dydt=[y(2);mue*(1-y(1)ˆ2)*y(2)-y(1)];
Aufruf (im Kommandofenster, im Skript, in einer Funktion)
options=odeset(’OutputFcn’,’odeplot’); mue=1;
[t,y]=ode45(@shvdpmue,[0 50],[2;0],options,mue); % oder
[t,y]=ode15s(@shvdpmue,[0 50],[2;0],options,mue);
Eigenschaft für µ = {1, 1000}?µ = 1: nicht-steif, µ = 1000: steif
124 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 2: Van-der-Pol-Schwinger (Steifes Dgl.-system)
ẏ(t) =
[ẏ1(t)ẏ2(t)
]=
[y2(t)
µ(1− y 21 (t)
)y2(t)− y1(t)
], y(0) = y0 =
[20
]µ = 1000
Jacobi-Matrix, MATLAB R©-Funktion (Datei: shvdpjacob1000.m)
Jacobi-Matrix: J =∂f
∂y=
[∂f1∂y1
∂f1∂y2
∂f2∂y1
∂f2∂y2
]=
[0 1
−2µy1y2 − 1 µ(1− y 21 )
]function J = shvdpjacob1000(t,y,mue)
J = [0 1; -2*mue*y(1)*y(2)-1 mue*(1-y(1)ˆ2)];
Aufruf (im Kommandofenster, im Skript, in einer Funktion)
options=odeset(’Jacobian’,@shvdpjacob1000);mue=1000;
[t,y]=ode15s(@shvdpmue,[0 50],[2;0],options,mue);
125 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 3: DAE-Systeme
a) Implizites ODE- oder DAE-System (höchstens Index 1) liegt bereits vor
2 Schritte:
1 Konsistente Anfangsbedingungen (AB) zur Integration mit ode15i[y0mod,yp0mod] =
decic(odefun,t0,y0,fixed y0,yp0,fixed yp0,options)
y0 = [1; 0; 1e-3]; % Nicht konsistente AB
yp0 = [0; 0; 0]; % Nicht konsistente AB
tspan = [0 4*logspace(-6,6)];
M = [1 0 0;0 1 0;0 0 0]; % Masse-Matrixoptions = odeset(’RelTol’,1e-4, ...
’AbsTol’,[1e-6 1e-10 1e-6],’Jacobian’,{[],M});[y0,yp0] = decic(@f,0,y0,[1 1 0],yp0,[],options)
126 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 3: DAE-Systeme (Fortsetzung)
zu a) Implizites ODE- oder DAE-System (höchstens Index 1) liegt bereits vor
2 Lösen mit ode15i
[t,y] = ode15i(@f,tspan,y0,yp0,options)
MATLAB R©-Funktion (Datei: f.m)
function res = f(t,y,yp)
res = [ yp(1) + 0.04*y(1) - 1e4*y(2)*y(3);
yp(2) - 0.04*y(1) + 1e4*y(2)*y(3) + 3e7*y(2)*y(2);
y(1) + y(2) + y(3) - 1];
Bsp.: Chemische Reaktion (s. o., ihb1dae.m)
Weiteres Bsp.: Diskretisierte partielle Dgl. mit beweglichem Gitter(Burgers-Gleichung; Mechanik, Nichtlineare Akustik, Fluid-, Gasdynamik,Verkehrsfluss), iburgersode.m)
127 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 3: DAE-Systeme (Fortsetzung)
b) DAE-System (Differentiationsindex > 1) liegt vor
6 Schritte (symbolisch (Symbolic Math ToolboxTM
), numerisch):
1 Definition der symbolischen Variablen und des DAE-Systems2 Falls Dgl.-system höherer Ordnung: → Dgl.-system 1. Ordnung3 Falls Differentiationsindex > 1: Reduzierung4 Symbolisches System → numerisches
”MATLAB R© function
handle“5 Konsistente Anfangsbedingungen (AB)6 Lösen mit ode15i, ode15s, ode23t
Bsp.: Planares Pendel (siehe MATLAB-Online-Dokumentation))
128 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
- Mehrpunkt-Randwertproblem -
Beispiel 4: Dgl. mit Anfangs- und Endbedingung (s. [1]):Mehrpunkt-Randwertproblem (Kleine Durchbiegungen am
Biegebalken; 1 +(
dydx
)2 ≈ 1)( ) 0M x >
0 1
y
x
Dgl.: − d2y
dx2=
M(x)
EI (x)= b(x) =
5− 4x100e−x
mit l = 1, y(0) = 0, y(1) = 0, Biegemomentverlauf M(x), Biegesteifigkeit EI (x)
129 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Beispiel 4: (Fortsetzung)
Umwandlung in Dgl.-system 1. Ordnung: y1 = y , y2 =dydx
MATLAB R©-Routinen (Dgl., Randbedingungen, Lösung):
function dydx = ystrich b(x,y)
dydx = [ y(2); (4*x-5)/(100*exp(-x))];
—
function res = bc b(ya,yb)
res=[ya(1);yb(1)]; % d. h. y(0) - 0 und y(1) - 0
—
xmesh=linspace(0,1,100); % Schaetzung fuer Startloesung
yinit=[0;0]; % Anfangswerte
loesinit=bvpinit(xmesh,yinit); % Anfangsloesung
loesung=bvp4c(@ystrich b,@bc b,loesinit); % Loesung
plot(loesung.x,loesung.y(1,:)) % Druck der Biegelinie
130 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
- Dgln. mit Totzeit(en) -
Beispiel 5: Dgl.-system mit Totzeiten
ẋ1 = −0.4 x1(t − 1)ẋ2 = x1(t − 1)− 2 x2(t − 0.5)
MATLAB R©-Routinen (Dgl., Historie, Lösung):
function xp = dgl Ttbsp(t,x,z)
xT1=z(:,1);xT2=z(:,2);xp=[-0.4*xT1(1); xT1(1)-2*xT2(2)];
—
function s = history Ttbsp(t)
s=[1;-2];
—
tspan=[0 6]; Tt=[1 0.5]; options=ddeset(’InitialY’,[0;0]);
loesung=dde23(@dgl Ttbsp,Tt,@history Ttbsp,tspan,options);
t interp=linspace(0,6,80); x=deval(loesung,t interp);
plot(t interp,x(1,:),t interp,x(2,:)) % Druck131 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.5 Gewöhnliche Differentialgleichungen
Im Gegensatz: numerische Integration zur Ermittlung desbestimmten Integrals
Flächeninhalt (Bsp.)
I =
5∫0
|x |dx
Befehl Erläuterung
quad, quad8 Numerische Integration (bestimmte Integration)
MATLAB R©-Befehl:
F=quad(’abs’,0,5);
Ergebnis:
F=12.5
132 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.6 Partielle Differentialgleichungen
Partial Differential Equation ToolboxTM
Funktionen zur Lösung von PDEs (2D-, 3D-, Zeit) mittelsFinite-Differenzen-Methode
Statische, Zeit-, Frequenzbereichs-, Eigenwertprobleme
Nachbearbeitung, Visualisierung
Diffusion, Wäremübertragung, Strukturmechanik, Elektrostatik,Magnetostatik, AC-Leistungsmagnetismus; nutzerspezifische, gekoppelteSysteme
Siehe Online-Nutzerdokumentation
133 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.7 Polynome, Interpolation
Darstellung von Polynomen: Koeffizienten des Polynoms in absteigenderReihenfolge der Potenzen in vektorieller Form,z. B. steht p=[1 0 -2 -5] für p(x) = x3 − 2 x − 5
Polynomfunktionen (doc polyfun)
Befehl Erläuterung
roots(p) Wurzeln (Nullstellen) des Polynoms
poly Berechnung der Polynomkoeffizienten aus den Wurzeln(siehe auch poly bei Matrizen)
polyval(p,5) Berechnung des Wertes des Polynoms für x = 5
conv, deconv Polynommultiplikation, -divisionBsp.: a=[1 2 3], b=[4 5 6], c=conv(a,b)(Ergebnis: c=[4 13 28 27 18])[q,r]=deconv(c,a)
(Ergebnisse: q=[4 5 6], r=[0 0 0 0 0])
134 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.7 Polynome, Interpolation
Polynomfunktionen (Fortsetzung)
Befehl Erläuterung
polyder Ableitung eines Polynoms
polyfit Anpassung der Polynomkoeffizienten an Daten
residue Residuenberechnung (Partialbruchzerlegung)Bsp.: 2 s+5
s4+3 s3+2 s2= A
s+2+ B
s+1+ C
s+ D
s2
Ergebnis: A=-0.25, B=3, C=-2.75, D=2.5
Interpolation
Befehl Erläuterung
interp1 1D-Interpolation (linear, spline, kubisch)
interp2 2D–Interpolation
. . .
spline Spline-Interpolation (siehe auch Splines-Toolbox)
135 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.8 Schwach besetzte Matrizen
Funktionen für schwach besetzte Matrizen (doc sparfun)
Befehl Erläuterung
speye Einheitsmatrix
sprand, sprandn Zufällige belegte Matrizen(Gleich-, Normalverteilung)
spdiags Diagonalmatrizen/Diagonalen (jeweils schwach besetzt)
. . .
sparse, full Umwandlung in schwach besetzte Matrix bzw.umgekehrt
spconvert Einlesen von Daten und Speichern in schwachbesetzter Matrix
. . .
136 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.8 Schwach besetzte Matrizen
Beispiel
D =
8 1 6.003 5 7.004 9 2.009 9 0
(Variante 1)bzw. eine ASCII-Datei mydata.dat enthält die o.a. Werte der Matrix D (Variante 2)
MATLAB R©-BefehleS=spconvert(D) (Variante 1)load mydata.dat (Variante 2)
137 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.8 Schwach besetzte Matrizen
Weitere Funktionen für schwach besetzte Matrizen
Befehl Erläuterung
nnz Anzahl von Null verschiedener Elemente
find Auffinden von Null verschiedener Elemente
spfun Anwendung von Funktionen auf von Nullverschiedene Elemente
spy Visualisierung der Besetzheitsstruktur
BeispielZ=sprandn(100,100,0.3);
[L,U,P]=lu(Z,1e-3);
[L,U,P]=luinc(Z,’0’);
spy(Z), spy(L), spy(U), spy(P)
Algorithmen zur Umordnung
Funktionen zur lineraren Algebra
Iterative Methoden zur Lösung linearer Gleichungen, usw.
138 / 172
-
5.2 MATLAB R©/Simulink R© - Einführung5.2.9 M-File-Programmierung
– Ergänzung zu Abschnitt 5.2.3; weitere Sprachelemente (doc lang) –
Skripte, Funktionen (doc function)
Skripte, Funktionen und Unterfunktionen mit variabler Anzahl von Argumentenfunction c=test(a,b)
if nargin== 1,
c = a.̂ 2; % Quadratzahl einer Zahl
elseif nargin==2
c = a + b; % Summe zweier Zahlen
end
139 / 172
-
5.2 MATLAB R©/Simulin