Simulation – Fach im Modul „Modellbildung und Simulation ...€¦ · Introduction to Modeling...

182
Fakult¨ at f¨ ur Informatik und Automatisierung Institut f¨ ur 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] Fachgebietsinternetseite: http://www.tu-ilmenau.de/simulation Vorlesungsskript: Lehre/Vorlesungen, Seminare, Praktika/Simulation 1 / 172

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̄ – 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(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