Informatik für Ingenieure - Eine Einführung mit MATLAB, Simulink und Stateflow
von: Rainer Hagl
Carl Hanser Fachbuchverlag, 2017
ISBN: 9783446451162
Sprache: Deutsch
426 Seiten, Download: 61039 KB
Format: PDF, auch als Online-Lesen
Inhalt | 12 | ||
1 Einführung | 16 | ||
1.1 Historie Rechenmaschinen | 19 | ||
1.2 Computerunterstützung bei der Lösung mathematischer Aufgaben | 26 | ||
1.3 Modellbasierte Steuergeräteentwicklung | 30 | ||
2 Grundlagen der Programmierung | 36 | ||
2.1 Erste Schritte in MATLAB und Grundregeln | 37 | ||
2.1.1 Bedienoberfläche | 37 | ||
2.1.2 Wertezuweisung und Variablendefinition | 40 | ||
2.1.3 Hilfeunterstützung und elektronische Dokumentation | 45 | ||
2.1.4 Ein- und mehrdimensionale Felder | 48 | ||
2.1.5 Arithmetische Operatoren für den Einstieg | 50 | ||
2.1.6 Relationale und logische Operatoren | 52 | ||
2.1.7 Sonderzeichen | 54 | ||
2.1.8 MATLAB Editor | 56 | ||
2.1.9 Programmbeispiel | 62 | ||
2.1.10 Script und Function | 65 | ||
2.1.11 Workspace und Gültigkeitsbereich von Variablen | 74 | ||
2.1.12 Arbeitsverzeichnisse | 76 | ||
2.1.13 Fehlersuche und Debugger | 79 | ||
2.1.14 Freigabe und Initialisierung von Speicherbereichen | 83 | ||
2.1.15 MATLAB Version | 84 | ||
2.1.16 Auffinden des Verzeichnisses von Funktionen | 85 | ||
2.2 Vektoren und Matrizen | 86 | ||
2.2.1 Teilentnahmen von Elementen bei Vektoren und Matrizen | 87 | ||
2.2.2 Automatisierte Bestimmung von Indizes | 87 | ||
2.2.3 Automatisierte Bestimmung der Dimensionen | 88 | ||
2.2.4 Vorbelegung | 89 | ||
2.2.5 Automatisiertes Zusammenfügen von Vektoren und Matrizen | 90 | ||
2.3 Zeichenketten | 91 | ||
2.3.1 Grundlagen | 91 | ||
2.3.2 Klassenumwandlungen | 93 | ||
2.3.3 Ausführung als MATLAB Anweisung | 93 | ||
2.4 Structure Array | 94 | ||
2.5 Cell Array | 96 | ||
2.6 Objekte | 97 | ||
2.7 Ablauf- und Kontrollstrukturen | 99 | ||
2.7.1 If-Verzweigungen | 99 | ||
2.7.2 Switch-Verzweigung | 101 | ||
2.7.3 For-Schleife | 102 | ||
2.7.4 While-Schleife | 103 | ||
2.7.5 Schleifenunterbrechung (break) | 104 | ||
2.7.6 Try/catch-Verzweigung | 105 | ||
2.7.7 Pause | 107 | ||
2.8 Text einlesen und ausgeben | 107 | ||
2.9 Daten einlesen und speichern | 110 | ||
2.9.1 Allgemein übliche Dateiformate | 110 | ||
2.9.2 MATLAB spezifisches Dateiformat | 112 | ||
2.10 Grafische Visualisierung | 114 | ||
2.10.1 Zweidimensionale Visualisierung | 115 | ||
2.10.2 Dreidimensionale Visualisierung | 121 | ||
2.11 MATLAB Grundeinstellungen | 127 | ||
2.11.1 Einrückungen | 127 | ||
2.11.2 Autosave | 128 | ||
2.11.3 Kopien von Grafiken in Dokumente | 129 | ||
3 Grafische Bedienoberflächen | 131 | ||
3.1 Grafische Elemente (Graphics Objects) | 133 | ||
3.1.1 Eigenschaften (Properties) | 134 | ||
3.1.2 Identifizierungskennzeichen (Handle) | 137 | ||
3.1.3 Abfrage von Eigenschaften | 140 | ||
3.1.4 Veränderung von Eigenschaften | 143 | ||
3.1.5 Hierarchie grafischer Elemente | 146 | ||
3.1.6 Ermittlung von Identifizierungskennzeichen (Handle) | 147 | ||
3.1.7 Aktuelles Identifizierungskennzeichen (Handle) | 149 | ||
3.1.8 Festlegung des Achssystems | 150 | ||
3.1.9 Achsbeschriftungen | 151 | ||
3.2 Entwicklung grafischer Bedienoberflächen | 153 | ||
3.2.1 Beispielaufgabe | 153 | ||
3.2.2 Programmatic GUI | 157 | ||
3.2.3 Platzierung grafischer Bedienelemente | 160 | ||
3.2.4 Callback | 162 | ||
3.2.5 Menüleiste | 162 | ||
3.2.6 Symbolleiste | 165 | ||
3.2.7 Ablaufsteuerung | 167 | ||
3.2.8 Entwicklungsumgebung Guide | 168 | ||
3.2.9 Ausrichtung grafischer Bedienelemente (Alignment) | 175 | ||
3.2.10 Eigenschaften grafischer Bedienelemente (Properties) | 175 | ||
3.2.11 Tags | 178 | ||
3.2.12 Callback Guide | 184 | ||
3.2.13 Object Browser | 186 | ||
3.2.14 Tab Order Editor | 187 | ||
3.2.15 Datenorganisation | 187 | ||
3.2.16 Beispiel | 188 | ||
3.3 Kapselung der grafischen Bedienoberfläche | 191 | ||
3.3.1 Callbacks als Funktion | 192 | ||
3.3.2 Lokale Datenhaltung | 193 | ||
3.4 Guide Template | 196 | ||
3.4.1 Erzeugung von „function handles“ | 197 | ||
3.4.2 Datenverwaltung | 202 | ||
3.4.3 Funktionsergänzungen | 203 | ||
3.5 Animation | 204 | ||
3.6 Eigenständige Applikationen (Apps) | 205 | ||
4 Zahlenformate | 207 | ||
4.1 Ganze Zahlen | 207 | ||
4.2 Gleitkommazahlen und Festkommazahlen | 214 | ||
4.3 Zahlenformate in MATLAB | 218 | ||
4.4 Über- oder Unterschreitung des Wertebereiches | 220 | ||
4.5 Auflösungsgrenzen bei Berechnungen | 221 | ||
4.6 Komplexe Zahlen | 223 | ||
5 Numerische Integration | 224 | ||
5.1 Mathematische Problemstellung | 225 | ||
5.2 Explizites Euler-Verfahren | 227 | ||
5.3 Runge-Kutta-Verfahren | 233 | ||
5.4 Berechnungsgenauigkeit und Berechnungsdauer | 234 | ||
5.5 Einschritt- und Mehrschrittverfahren | 237 | ||
5.6 Verfahren mit variabler Schrittweite | 237 | ||
5.7 Steife Systeme | 239 | ||
5.8 Numerische Integration mit MATLAB | 240 | ||
6 Zeitgesteuerte Systeme (Simulink) | 246 | ||
6.1 Modellerstellung | 249 | ||
6.2 Eigenschaften von Blöcken | 266 | ||
6.3 Simulation | 269 | ||
6.4 Visualisierung und Weiterverarbeitung der Simulationsergebnisse | 272 | ||
6.5 Dashboard-Blöcke | 278 | ||
6.6 Externe Beeinflussung von Blockparametern | 281 | ||
6.7 Hierarchisches Modell und Verbesserung der Übersichtlichkeit | 284 | ||
6.8 Model Explorer | 289 | ||
6.9 Physikalische Modellierung | 289 | ||
6.10 Codegenerierung | 295 | ||
7 Ereignisdiskrete Systeme (Stateflow) | 296 | ||
7.1 Entwicklungsumgebung Stateflow | 297 | ||
7.2 Beispielsystem | 302 | ||
7.3 Flussdiagramme | 303 | ||
7.3.1 Modellerstellung | 306 | ||
7.3.2 Vorgefertigte Musterabläufe | 316 | ||
7.3.3 Backtracking | 319 | ||
7.3.4 Designrichtlinien | 321 | ||
7.4 Zustandsdiagramme | 321 | ||
7.4.1 Modellerstellung | 324 | ||
7.4.2 Aktualisierungsbeispiel | 334 | ||
7.4.3 Super Step | 335 | ||
7.4.4 Flussdiagramm in einem Zustand | 336 | ||
7.4.5 Designrichtlinien | 338 | ||
7.4.6 Hierarchische Modelle | 338 | ||
7.4.7 History Junction | 342 | ||
7.4.8 Parallele Zustände | 344 | ||
7.4.9 Events | 346 | ||
7.4.10 Funktionsaufrufe | 362 | ||
7.5 Tabellarische Beschreibung von Zustandsautomaten | 367 | ||
7.5.1 Wahrheitstabellen | 368 | ||
7.5.2 Zustandsübergangstabellen | 372 | ||
7.6 Simulation und Debugging | 379 | ||
8 Paralleles Rechnen | 383 | ||
8.1 Vorarbeit serielle Codeoptimierung | 386 | ||
8.2 Eingebaute Parallelisierung | 388 | ||
8.3 Auswahl der Hardware-Ressourcen | 389 | ||
8.4 Parallele for-Schleifen | 391 | ||
8.5 Batch jobs und Cluster | 393 | ||
9 Symbolisches Rechnen | 400 | ||
9.1 Umformen von algebraischen Ausdrücken | 401 | ||
9.2 Lösung von Gleichungen | 402 | ||
9.2.1 Lineare Gleichungen | 402 | ||
9.2.2 Nichtlineare Gleichungen | 404 | ||
9.3 Taylorreihen | 404 | ||
9.4 Laplace-Transformation | 405 | ||
9.5 Integrieren von Funktionen | 405 | ||
9.6 Differenzieren von Funktionen | 406 | ||
9.7 Lösung von Differentialgleichungen | 407 | ||
Literatur | 411 | ||
Index | 412 |