MATLAB - Simulink - Stateflow

Book description

Vorgestellt werden die numerische Programmiersprache MATLAB und ihre Erweiterungen Simulink und Stateflow. Außerdem werden die dazugehörigen Werkzeuge für Regelungstechnik, Signalverarbeitung und Optimierung behandelt, die zeitkontinuierliche und zeitdiskrete lineare und nichtlineare Systeme ebenso wie ereignisdiskrete Systeme betreffen können. Ausführlich wird dabei auf Control System Toolbox, Signal Processing Toolbox und Optimization Toolbox eingegangen. Die enthaltenen Beispiele und Übungsaufgaben decken einen Großteil des Anwendungsspektrums ab. Die dazugehörigen Aufgaben und Lösungen stehen zum Download zur Verfügung, ebenfalls eine Bibliothek nützlicher Extras für MATLAB und Simulink. Durch die kompakte Darstellung und die Befehlsübersichten ist dieses Buch auch als Nachschlagewerk geeignet. Die vorliegende 9. Auflage wurde gemäß der aktuellen MATLAB-Version überarbeitet und mit einigen Ergänzungen bis inklusive der im März erschienenen Release R2016a versehen.

Table of contents

  1. Cover
  2. Titelseite
  3. Impressum
  4. Vorwort zur neunten Auflage
  5. Vorwort zur ersten Auflage
  6. Inhaltsverzeichnis
  7. 1 Einführung
  8. 2 MATLAB Grundlagen
    1. 2.1 Erste Schritte mit MATLAB
      1. 2.1.1 Der MATLAB-Desktop
      2. 2.1.2 Die MATLAB-Hilfe
      3. 2.1.3 Zuweisungen
      4. 2.1.4 Mathematische Funktionen und Operatoren
    2. 2.2 Variablen
      1. 2.2.1 Datentypen in MATLAB
      2. 2.2.2 Vektoren und Matrizen
      3. 2.2.3 Funktionen und Operatoren für Vektoren und Matrizen
      4. 2.2.4 Strukturen
      5. 2.2.5 Cell Arrays
      6. 2.2.6 Mehrdimensionale Arrays
      7. 2.2.7 Verwalten von Variablen
    3. 2.3 Ablaufsteuerung
      1. 2.3.1 Vergleichsoperatoren und logische Operatoren
      2. 2.3.2 Verzweigungsbefehle if und switch
      3. 2.3.3 Schleifenbefehle for und while
      4. 2.3.4 Abbruchbefehle continue, break und return
    4. 2.4 Der MATLAB-Editor
      1. 2.4.1 Der Live Editor
      2. 2.4.2 Das Comparison Tool
    5. 2.5 MATLAB-Funktionen
      1. 2.5.1 Funktionen mit variabler Parameterzahl
      2. 2.5.2 Lokale, globale und statische Variablen
      3. 2.5.3 Hilfetext in Funktionen
      4. 2.5.4 Function Handles
      5. 2.5.5 Anonymous Functions
      6. 2.5.6 P-Code und clear functions
    6. 2.6 Code-Optimierung in MATLAB
      1. 2.6.1 Der MATLAB-Profiler
      2. 2.6.2 Optimierung von Rechenzeit und Speicherbedarf
      3. 2.6.3 Tipps zur Fehlersuche und Fehlervermeidung
    7. 2.7 Übungsaufgaben
      1. 2.7.1 Rechengenauigkeit
      2. 2.7.2 Fibonacci-Folge
      3. 2.7.3 Funktion gerade
      4. 2.7.4 Berechnungszeiten ermitteln
  9. 3 Eingabe und Ausgabe in MATLAB
    1. 3.1 Steuerung der Bildschirmausgabe
    2. 3.2 Benutzerdialoge
      1. 3.2.1 Text in MATLAB (Strings)
      2. 3.2.2 Eingabedialog
      3. 3.2.3 Formatierte Ausgabe
    3. 3.3 Import und Export von Daten
      1. 3.3.1 Standardformate
      2. 3.3.2 Formatierte Textdateien
      3. 3.3.3 Binärdateien
    4. 3.4 Betriebssystemaufruf und Dateiverwaltung
    5. 3.5 Grafische Darstellung
      1. 3.5.1 Die Figure – Grundlage einer MATLAB-Grafik
      2. 3.5.2 Achsen und Beschriftung
      3. 3.5.3 Plot-Befehle für zweidimensionale Grafiken (2D-Grafik)
      4. 3.5.4 Plot-Befehle für dreidimensionale Grafiken (3D-Grafik)
      5. 3.5.5 Perspektive
      6. 3.5.6 Importieren, Exportieren und Drucken von Grafiken
      7. 3.5.7 Tipps rund um die MATLAB-Figure
    6. 3.6 Grafische Benutzeroberflächen
      1. 3.6.1 Der App Designer – Layout
      2. 3.6.2 Der App Designer – Funktionalität
      3. 3.6.3 GUI-Layout und GUIDE-Editor
      4. 3.6.4 GUI-Funktionalität
      5. 3.6.5 GUI ausführen und exportieren
    7. 3.7 Übungsaufgaben
      1. 3.7.1 Harmonisches Mittel
      2. 3.7.2 Einschwingvorgang
      3. 3.7.3 Gauß-Glocke
      4. 3.7.4 Spirale und Doppelhelix
      5. 3.7.5 Funktion geradevek
  10. 4 Differentialgleichungen in MATLAB
    1. 4.1 Anfangswertprobleme (ODEs, DAEs und DDEs)
      1. 4.1.1 Gewöhnliche Differentialgleichungen (ODEs)
      2. 4.1.2 Differential-algebraische Gleichungen (DAEs)
      3. 4.1.3 Differentialgleichungen mit Totzeiten (DDEs)
      4. 4.1.4 Implizite Differentialgleichungen
    2. 4.2 Randwertprobleme für gewöhnliche Differentialgleichungen
    3. 4.3 Partielle Differentialgleichungen (PDEs)
    4. 4.4 Ubungsaufgaben. ¨
      1. 4.4.1 Feder-Masse-Schwinger
      2. 4.4.2 Elektrischer Schwingkreis
      3. 4.4.3 Springender Ball
      4. 4.4.4 Kettenlinie
  11. 5 Regelungstechnische Funktionen – Control System Toolbox
    1. 5.1 Modellierung linearer zeitinvarianter Systeme als LTI-Modelle
      1. 5.1.1 Ubertragungsfunktion ¨– Transfer Function TF
      2. 5.1.2 Nullstellen-Polstellen-Darstellung – Zero-Pole-Gain ZPK
      3. 5.1.3 Zustandsdarstellung – State-Space SS
      4. 5.1.4 Frequenzgang-Daten-Modelle – Frequency Response Data FRD
      5. 5.1.5 Zeitdiskrete Darstellung von LTI-Modellen
      6. 5.1.6 Zeitverzögerungen in LTI-Modellen
    2. 5.2 Arbeiten mit LTI-Modellen
      1. 5.2.1 Eigenschaften von LTI-Modellen
      2. 5.2.2 Schnelle Datenabfrage
      3. 5.2.3 Rangfolge der LTI-Modelle
      4. 5.2.4 Vererbung von LTI-Modell-Eigenschaften
      5. 5.2.5 Umwandlung in einen anderen LTI-Modell-Typ
      6. 5.2.6 Arithmetische Operationen
      7. 5.2.7 Auswählen, verändern und verknüpfen von LTI-Modellen
      8. 5.2.8 Spezielle LTI-Modelle
      9. 5.2.9 Umwandlung zwischen zeitkontinuierlichen und zeitdiskreten Systemen
    3. 5.3 Analyse von LTI-Modellen
      1. 5.3.1 Allgemeine Eigenschaften
      2. 5.3.2 Modell-Dynamik
      3. 5.3.3 Systemantwort im Zeitbereich
      4. 5.3.4 Systemantwort im Frequenzbereich
      5. 5.3.5 Interaktive Modellanalyse: Linear System Analyzer
      6. 5.3.6 Ordnungsreduzierte Darstellung
      7. 5.3.7 Zustandsbeschreibungsformen
    4. 5.4 Reglerentwurf
      1. 5.4.1 Reglerentwurf mittels Wurzelortskurve
      2. 5.4.2 Reglerentwurf mit dem Control System Designer
      3. 5.4.3 Zustandsregelung und Zustandsbeobachtung
      4. 5.4.4 Reglerentwurf mittels Polplatzierung
      5. 5.4.5 Linear-quadratisch optimale Regelung
    5. 5.5 Probleme der numerischen Darstellung
      1. 5.5.1 Fehlerbegriff
      2. 5.5.2 Kondition eines Problems
      3. 5.5.3 Numerische Instabilität
      4. 5.5.4 Bewertung der LTI-Modell-Typen nach numerischen Gesichtspunkten
    6. 5.6 Übungsaufgaben
      1. 5.6.1 Erstellen von LTI-Modellen
      2. 5.6.2 Verzögerte Übertragungsglieder
      3. 5.6.3 Verzögerte Übertragungsglieder zeitdiskretisiert
      4. 5.6.4 Typumwandlung
      5. 5.6.5 Stabilitätsanalyse
      6. 5.6.6 Regelung der stabilen PT2-Übertragungsfunktion
      7. 5.6.7 Regelung der instabilen PT2-Übertragungsfunktion
      8. 5.6.8 Kondition und numerische Instabilität
  12. 6 Signalverarbeitung – Signal Processing Toolbox
    1. 6.1 Aufbereitung der Daten im Zeitbereich
      1. 6.1.1 Interpolation und Approximation
      2. 6.1.2 Änderung der Abtastrate
      3. 6.1.3 Weitere Werkzeuge
    2. 6.2 Spektralanalyse
      1. 6.2.1 Diskrete Fouriertransformation (DFT)
      2. 6.2.2 Averaging
      3. 6.2.3 Fensterung
      4. 6.2.4 Leistungsspektren
    3. 6.3 Korrelation
    4. 6.4 Analoge und Digitale Filter
      1. 6.4.1 Analoge Filter
      2. 6.4.2 Digitale FIR-Filter
      3. 6.4.3 Digitale IIR-Filter
      4. 6.4.4 Filterentwurf mit Prototyp-Tiefpässen
    5. 6.5 Übungsaufgaben
      1. 6.5.1 Interpolation
      2. 6.5.2 Spektralanalyse
      3. 6.5.3 Signaltransformation im Frequenzbereich
      4. 6.5.4 Lecksuche mittels Korrelation
      5. 6.5.5 Signalanalyse und digitale Filterung
      6. 6.5.6 Analoger Bandpass
      7. 6.5.7 Digitaler IIR-Bandpass
  13. 7 Optimierung – Optimization Toolbox
    1. 7.1 Anonymous Functions
    2. 7.2 Algorithmensteuerung
    3. 7.3 Nullstellenbestimmung
      1. 7.3.1 Skalare Funktionen
      2. 7.3.2 Vektorwertige Funktionen / Gleichungssysteme
    4. 7.4 Minimierung nichtlinearer Funktionen
    5. 7.5 Minimierung unter Nebenbedingungen
      1. 7.5.1 Nichtlineare Minimierung unter Nebenbedingungen
      2. 7.5.2 Quadratische Programmierung
      3. 7.5.3 Lineare Programmierung
    6. 7.6 Methode der kleinsten Quadrate (Least Squares)
    7. 7.7 Optimierung eines Simulink-Modells
    8. 7.8 Übungsaufgaben
      1. 7.8.1 Nullstellenbestimmung
      2. 7.8.2 Lösen von Gleichungssystemen
      3. 7.8.3 Minimierung ohne Nebenbedingungen
      4. 7.8.4 Minimierung unter Nebenbedingungen
      5. 7.8.5 Ausgleichspolynom
      6. 7.8.6 Curve Fitting
      7. 7.8.7 Lineare Programmierung
  14. 8 Simulink Grundlagen
    1. 8.1 Starten von Simulink
    2. 8.2 Erstellen und Editieren eines Signalflussplans
    3. 8.3 Simulations- und Parametersteuerung
      1. 8.3.1 Interaktive Steuerung
      2. 8.3.2 Programmatische Steuerung
    4. 8.4 Signale und Datenobjekte
      1. 8.4.1 Arbeiten mit Signalen
      2. 8.4.2 Arbeiten mit Datenobjekten
      3. 8.4.3 Der Model Explorer
    5. 8.5 Signalerzeugung und -ausgabe
      1. 8.5.1 Bibliothek: Sources – Signalerzeugung
      2. 8.5.2 Sinks – Signalausgabe
      3. 8.5.3 Signal Logging
      4. 8.5.4 Der Simulation Data Inspector
      5. 8.5.5 Der Signal & Scope Manager
    6. 8.6 Mathematische Verknüpfungen und Operatoren
      1. 8.6.1 Bibliothek: Math Operations
      2. 8.6.2 Bibliothek: Logic and Bit Operations
    7. 8.7 Simulationsparameter
      1. 8.7.1 Die Model Configuration Parameters Dialogbox
      2. 8.7.2 Numerische Integration von Differentialgleichungen
      3. 8.7.3 Diagnostic Viewer und Simulink Debugger
    8. 8.8 Verwaltung und Organisation eines Simulink-Modells
      1. 8.8.1 Arbeiten mit Callbacks
      2. 8.8.2 Der Model Browser
      3. 8.8.3 Bibliotheken: Signal Routing und Signal Attributes – Signalführung und -eigenschaften
      4. 8.8.4 Drucken und Exportieren eines Simulink-Modells
    9. 8.9 Subsysteme und Model Referencing
      1. 8.9.1 Erstellen von Subsystemen / Bibliothek: Ports & Subsystems
      2. 8.9.2 Maskierung von Subsystemen und Blöcken
      3. 8.9.3 Erstellen einer eigenen Blockbibliothek
      4. 8.9.4 Model Referencing
    10. 8.10 Übungsaufgaben
      1. 8.10.1 Nichtlineare Differentialgleichungen
      2. 8.10.2 Gravitationspendel
  15. 9 Lineare und nichtlineare Systeme in Simulink
    1. 9.1 Bibliothek: Continuous – Zeitkontinuierliche Systeme
    2. 9.2 Analyse von Simulationsergebnissen
      1. 9.2.1 Linearisierung mit der linmod-Befehlsfamilie
      2. 9.2.2 Bestimmung eines Gleichgewichtspunkts
      3. 9.2.3 Linearisierung mit dem Simulink Control Design
    3. 9.3 Bibliothek: Discontinuities – Nichtlineare Systeme
    4. 9.4 Bibliothek: Lookup Tables – Nachschlagetabellen
    5. 9.5 Bibliothek: User-Defined Functions – Benutzer-definierbare Funktionen
      1. 9.5.1 Bibliotheken: Model Verification und Model-Wide Utilities – Prüfblöcke und Modell-Eigenschaften
    6. 9.6 Algebraische Schleifen
    7. 9.7 S-Funktionen
    8. 9.8 Übungsaufgaben
      1. 9.8.1 Modellierung einer Gleichstrom-Nebenschluss-Maschine (GNM)
      2. 9.8.2 Modellierung einer Pulsweitenmodulation (PWM)
      3. 9.8.3 Aufnahme von Bode-Diagrammen
  16. 10 Abtastsysteme in Simulink
    1. 10.1 Allgemeines
    2. 10.2 Bibliothek: Discrete – Zeitdiskrete Systeme
    3. 10.3 Simulationsparameter
      1. 10.3.1 Rein zeitdiskrete Systeme
      2. 10.3.2 Hybride Systeme (gemischt zeitdiskret und zeitkontinuierlich)
    4. 10.4 Der Model Discretizer
    5. 10.5 Ubungsaufgaben. ¨
      1. 10.5.1 Zeitdiskreter Stromregler für GNM
      2. 10.5.2 Zeitdiskreter Anti-Windup-Drehzahlregler für GNM
  17. 11 Regelkreise in Simulink
    1. 11.1 Die Gleichstrom-Nebenschluss-Maschine GNM
      1. 11.1.1 Initialisierung der Maschinendaten
      2. 11.1.2 Simulink-Modell
    2. 11.2 Untersuchung der Systemeigenschaften
      1. 11.2.1 Untersuchung mit Simulink
      2. 11.2.2 Untersuchung des linearisierten Modells mit MATLAB und der Control System Toolbox
      3. 11.2.3 Interaktive Untersuchung eines Modells mit dem Simulink Linear Analysis Tool
    3. 11.3 Kaskadenregelung
      1. 11.3.1 Stromregelung
      2. 11.3.2 Drehzahlregelung
    4. 11.4 Zustandsbeobachter
      1. 11.4.1 Luenberger-Beobachter
      2. 11.4.2 Störgrößen-Beobachter
    5. 11.5 Zustandsregelung mit Zustandsbeobachter
    6. 11.6 Initialisierungsdateien
      1. 11.6.1 Gleichstrom-Nebenschluss-Maschine
      2. 11.6.2 Stromregelung
      3. 11.6.3 Drehzahlregelung
      4. 11.6.4 Grundeinstellung Zustandsbeobachter
      5. 11.6.5 Zustandsbeobachtung mit Luenberger-Beobachter
      6. 11.6.6 Zustandsbeobachtung mit Störgrößen-Beobachter
      7. 11.6.7 Zustandsregelung mit Zustandsbeobachter
      8. 11.6.8 Zustandsregelung mit Luenberger-Beobachter
      9. 11.6.9 Zustandsregelung mit Störgrößen-Beobachter
    7. 11.7 Übungsaufgaben
      1. 11.7.1 Zustandsdarstellung GNM
      2. 11.7.2 Systemanalyse
      3. 11.7.3 Entwurf eines Kalman-Filters
      4. 11.7.4 Entwurf eines LQ-optimierten Zustandsreglers
  18. 12 Stateflow
    1. 12.1 Elemente von Stateflow
      1. 12.1.1 Grafische Elemente eines Charts
      2. 12.1.2 Chart-Eigenschaften und Trigger-Methoden
      3. 12.1.3 Nichtgrafische Elemente eines Charts
    2. 12.2 Strukturierung und Hierarchiebildung
      1. 12.2.1 Superstates
      2. 12.2.2 Subcharts
      3. 12.2.3 Grafische Funktionen
      4. 12.2.4 Truth Tables
      5. 12.2.5 MATLAB Functions in Stateflow Charts
      6. 12.2.6 Simulink Functions in Stateflow
      7. 12.2.7 State Transition Tables
    3. 12.3 Action Language
      1. 12.3.1 Numerische Operatoren
      2. 12.3.2 Logische Operatoren
      3. 12.3.3 Unäre Operatoren und Zuweisungsaktionen
      4. 12.3.4 Detektion von Wertänderungen
      5. 12.3.5 Datentyp-Umwandlungen
      6. 12.3.6 Aufruf von MATLAB-Funktionen und Zugriff auf den Workspace
      7. 12.3.7 Variablen und Events in Action Language
      8. 12.3.8 Temporallogik-Operatoren
    4. 12.4 Anwendungsbeispiel: Getränkeautomat
    5. 12.5 Anwendungsbeispiel: Steuerung eines Heizgebläses
    6. 12.6 Anwendungsbeispiel: Springender Ball
    7. 12.7 Übungsaufgaben
      1. 12.7.1 Mikrowellenherd
      2. 12.7.2 Zweipunkt-Regelung
  19. Symbolverzeichnis
  20. Literaturverzeichnis
  21. Index

Product information

  • Title: MATLAB - Simulink - Stateflow
  • Author(s): Anne Angermann, Michael Beuschel, Martin Rau, Ulrich Wohlfarth
  • Release date: November 2016
  • Publisher(s): De Gruyter Oldenbourg
  • ISBN: 9783110484953