Rainer Hagl
Informatik für Ingenieure
Eine Einführung mit MATLAB, Simulink und Stateflow
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
© 2009-2024 ciando GmbH