Programmieren mit MATLAB - Programmiersprache, Grafische Benutzeroberflächen, Anwendungen

Ulrich Stein

Programmieren mit MATLAB

Programmiersprache, Grafische Benutzeroberflächen, Anwendungen

2017

355 Seiten

Format: PDF, ePUB, Online Lesen

E-Book: €  31,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446454231

 

Vorwort zur 6. Auflage

6

Inhalt

8

1 Einführung

14

1.1?Hello, world

14

1.2?Datenverarbeitung

16

1.2.1?Hardware

16

1.2.2?Software

18

1.2.3?Datentypen

19

1.2.4?Editieren

20

1.2.5?Programmausführung

20

1.3?Erster Kontakt mit MATLAB

21

1.3.1?Der MATLAB-Desktop

21

1.3.2?MATLAB als Taschenrechner

22

1.3.3?Zahlen- und Textdarstellung

24

1.3.4?Variablen und Datentypen

25

1.3.5?Vektoren und Matrizen

29

1.3.6?MATLAB aufräumen

32

1.3.7?Zusammenfassung

32

1.3.8?Aufgaben

32

2 Programmstrukturen

34

2.1?Funktionen

34

2.1.1?Eine Black Box

34

2.1.2?Eingangs- und Rückgabeparameter

35

2.1.3?Funktionen in MATLAB

36

2.1.4?Funktionsbeispiel: Umfang

38

2.1.5?Stack, Funktionsparameter

40

2.1.6?Ablaufprotokoll

43

2.1.7?MATLAB-Arbeitsverzeichnis

43

2.1.8?Zusammenfassung

46

2.1.9?Aufgaben

46

2.2?Ein- und Ausgabe

47

2.2.1?I/O-Kanäle

47

2.2.2?Einfache Ausgabe

48

2.2.3?Formatierte Ausgabe

48

2.2.4?Einfache Eingabe

50

2.2.5?Ein-/Ausgabe-Beispiel: UmfangInput

52

2.2.6?varargs-Mechanismus

53

2.2.7?Zusammenfassung

54

2.2.8?Aufgaben

54

2.3?Ablaufstrukturen

55

2.4?Verzweigungen

56

2.4.1?Bedingungen

56

2.4.2?Vergleiche

56

2.4.3?Logische Verknüpfungen

57

2.4.4?Alternative

58

2.4.5?if-else-Beispiele

61

2.4.6?Fallunterscheidung

63

2.4.7?Zusammenfassung

65

2.4.8?Aufgaben

65

2.5?Schleifen

66

2.5.1?Schleifenbedingung

66

2.5.2?Zählschleife

67

2.5.3?Summen- und Produkt-Bildung

70

2.5.4?Iteration und Rekursion

72

2.5.5?Verschachtelte Schleifen

73

2.5.6?Wiederholschleife

75

2.5.7?while-Beispiel: e-Funktion

77

2.5.8?Numerische Verfahren

79

2.5.9?Schleifen verlassen

81

2.5.10?Zusammenfassung

82

2.5.11?Aufgaben

82

2.6?Felder

83

2.6.1?Matrizen

83

2.6.2?Matrix-Beispiel: sinPlot

86

2.6.3?Matrizen erzeugen

88

2.6.4?Der :-Operator und linspace

89

2.6.5?Analyse von Feldern

91

2.6.6?meshgrid

92

2.6.7?Matrix-Operatoren

95

2.6.8?Verknüpfungen

97

2.6.9?Cell-Arrays

97

2.6.10?Zusammenfassung

99

2.6.11?Aufgaben

100

2.7?Grafik

101

2.7.1?Grafiktypen

101

2.7.2?2D-Grafik

101

2.7.3?3D-Grafik

109

2.7.4?Mehrere Plots in einer figure

112

2.7.5?3D-Kurven

114

2.7.6?Grafik-Handle

115

2.7.7?Zusammenfassung

118

2.7.8?Aufgaben

119

2.8?Strukturen und Klassen

120

2.8.1?Strukturierte Daten

120

2.8.2?Datenfelder

121

2.8.3?struct

121

2.8.4?Suchen

123

2.8.5?struct ändern

125

2.8.6?struct-Beispiel: CAD-Drahtmodell

126

2.8.7?Objektorientierte Programmierung (OOP)

129

2.8.8?Zusammenfassung

135

2.8.9?Aufgaben

136

2.9?Dateien

136

2.9.1?Dateizugriff

136

2.9.2?Dateien lesen

138

2.9.3?Dateien schreiben

138

2.9.4?Excel-Dateien

139

2.9.5?MAT-Files

141

2.9.6?Zusammenfassung

142

2.9.7?Aufgaben

142

2.10?Strings

143

2.10.1?Character-Arrays

143

2.10.2?String-Funktionen

145

2.10.3?String-Evaluation

148

2.10.4?Zusammenfassung

149

2.10.5?Aufgaben

150

3 GUI

152

3.1?Grafische Benutzeroberfläche

152

3.1.1?Das große Warten – Callbacks

152

3.1.2?Einführung in GUIDE

154

3.1.3?Zusammenfassung

157

3.1.4?Aufgaben

157

3.2?GUI-Elemente

157

3.2.1?Fenster und Maus

157

3.2.2?GUIDE-M-File

158

3.2.3?Text-Ausgabefeld

162

3.2.4?Text-Eingabefeld

165

3.2.5?GUI-Rückgabewert

167

3.2.6?GUI-Grafikobjekt

171

3.2.7?Pop-up-Menü

172

3.2.8?Zusammenfassung

174

3.2.9?Aufgaben

175

3.3?GUI-Menüs

175

3.3.1?Menu Bar

176

3.3.2?Context Menu

179

3.3.3?Zusammenfassung

181

3.3.4?Aufgaben

182

3.4?Standarddialoge

182

3.4.1?Standarddialog-Typen

182

3.4.2?Aufgaben

186

3.5?Callback-Interaktionen

186

3.5.1?Maus-Interaktion

186

3.5.2?Tastatur-Interaktion

190

3.5.3?Zusammenfassung

192

3.5.4?Aufgaben

192

4 Anwendungen

193

4.1?Akustik: Signalverarbeitung

193

4.1.1?Schwingungen

193

4.1.2?Fourier-Transformation

197

4.1.3?Audio-Funktionen

201

4.1.4?Zusammenfassung

202

4.1.5?Aufgaben

202

4.2?Bildverarbeitung

204

4.2.1?RGB-Farbmodell

204

4.2.2?Grafikformate

204

4.2.3?Bilder einlesen

205

4.2.4?Bilder bearbeiten

208

4.2.5?Hoch- und Tiefpass

212

4.2.6?Zusammenfassung

215

4.2.7?Aufgaben

216

4.3?Spiel: Projekt Labyrinth

216

4.3.1?Projektstruktur

216

4.3.2?Datenbasis

218

4.3.3?Spiel laden

219

4.3.4?Spielfeld zeichnen

224

4.3.5?Spielablauf

226

4.3.6?Zusammenfassung

227

4.3.7?Aufgaben

227

4.4?Mathematik: Funktionen

228

4.4.1?Polynome

228

4.4.2?Kurvendiskussion

229

4.4.3?Polynom-Fit, Lineare Regression

231

4.4.4?Datenauswertung

235

4.4.5?Nullstellen

236

4.4.6?Newton-Verfahren

240

4.4.7?Numerische Integration

243

4.4.8?Vektorfelder

245

4.4.9?Zusammenfassung

247

4.4.10?Aufgaben

248

4.5?Physik: Differentialgleichungen

249

4.5.1?Federschwingung

249

4.5.2?Differentialgleichungen

250

4.5.3?Numerische Lösung

252

4.5.4?Ungedämpfte Schwingungen

256

4.5.5?Gedämpfte Schwingungen

259

4.5.6?Erzwungene Schwingungen

262

4.5.7?Randwertproblem

266

4.5.8?Zusammenfassung

270

4.5.9?Aufgaben

271

4.6?Technische Mechanik

272

4.6.1?Zentrales Kraftsystem

272

4.6.2?Lineare Gleichungssysteme

273

4.6.3?Zusatzaufgabe

275

4.6.4?Gaußsches Eliminationsverfahren

277

4.6.5?Multivariate Regression

280

4.6.6?Zusammenfassung

282

4.6.7?Aufgaben

282

4.7?Regelungstechnik

284

4.7.1?Stehpendel

284

4.7.2?Stabilität

288

4.7.3?Eigenwerte und Eigenvektoren

289

4.7.4?Regelung

292

4.7.5?Control System Toolbox™

296

4.7.6?Simulink®

298

4.7.7?Zusammenfassung

304

4.7.8?Aufgaben

304

4.8?Prozess-Kommunikation, Internet

305

4.8.1?COM, OLE und ActiveX

306

4.8.2?Kontakt zum Internet Explorer

306

4.8.3?Java Virtual Machine (JVM)

311

4.8.4?Zusammenfassung

314

4.8.5?Aufgaben

315

4.9?MEX – C in MATLAB

315

4.9.1?C

316

4.9.2?DLL

318

4.9.3?C-Beispiel

319

4.9.4?Parameterübergabe

321

4.9.5?Zusammenfassung

324

4.9.6?Aufgaben

324

5 Programmierhilfen

325

5.1?Das Programm läuft nicht!

325

5.2?Der Debugger

329

5.3?Weitere MATLAB-Tools

331

5.3.1?M-Lint Code Checker

331

5.3.2?Profiler

331

5.3.3?Dependency Report

332

5.3.4?Help Report

332

5.3.5?File Comparison Report

332

5.4?Zusammenfassung

332

6 Befehlsübersicht

334

Literatur

344

Index

348

 

© 2009-2024 ciando GmbH