Sie sind hier
E-Book

Einstieg in das Programmieren mit MATLAB

AutorUlrich Stein
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2007
Seitenanzahl333 Seiten
ISBN9783446412897
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis29,90 EUR
Studenten der Ingenieurwissenschaften in den ersten Semestern und orientiert sich in der Stoffauswahl an einer zweisemestrigen Vorlesung über angewandte Informatik. Das Lehrbuch vermittelt anhand der in MATLAB integrierten Programmiersprache, systematisch die Grundkenntnisse des Programmierens und der Projektverwaltung.

Ausführlich wird demonstriert, wie man Daten und Messwerte grafisch darstellen kann und wie grafische Benutzeroberflächen erzeugt werden. Darauf aufbauend vertiefen zahlreiche Anwendungen aus Ingenieur- und Naturwissenschaften das Wissen und führen in die weitergehenden numerischen Verfahren von MATLAB ein. Wo für spezielle Probleme das Basismodul von MATLAB nicht mehr ausreicht, wird für eine intensivere Nutzung auf die MATLAB-Toolboxen verwiesen - deren Installation zum Verständnis dieses Buches jedoch nicht notwendig ist.

Beispiele, zahlreiche Abbildungen und Übungsaufgaben zum Stoff fördern das Verständnis. Das Werk ist sowohl für Programmierneulinge als auch für Umsteiger von anderen Programmiersprachen wie C geeignet.

Dr. Ulrich Stein ist Professor für Maschinenbauinformatik/Physik/Mathematik am Department Maschinenbau und Produktion der HAW Hamburg.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
3 GUI (S. 134)

3.1 Grafische Benutzeroberfläche

Bei den bisher vorgestellten MATLAB-Programmen war es so, dass der Programmablauf bereits vor dem Start des Programms ziemlich genau festgelegt wurde. Alles kommt schön der Reihe nach. Nur an fest definierten Stellen kann es eine Verzweigung geben oder man wiederholt einen Abschnitt in einer Schleife. Zu genau vorbestimmten Zeiten werden Sie aufgefordert, Daten über die Tastatur einzugeben. Und nur dann, wenn das Programm es für richtig erachtet, bekommen Sie die Ergebnisse auf dem Bildschirm angezeigt.

Das heißt – der Ablauf ist vorhersehbar und folgt dem vom Programmierer vorgegebenen Muster, einem Plan, dem der Benutzer des Programms folgen muss. Bei Programmen mit grafischer Benutzeroberfläche (Graphical User Interface – GUI) scheint plötzlich alles anders zu sein. Jetzt hat der Benutzer das Kommando. Mit der Maus oder der Tastatur bestimmt er, wann die nächste Aktion startet und was das Programm dann machen soll.

Das klingt auf den ersten Blick alles sehr demokratisch und selbstbestimmt – ist aber letzten Endes nur Propaganda: Auch bei GUI-Programmen haben die Programmierer im Voraus genau festgelegt, wann welche Aktion durchgeführt wird. Und zur Kontrolle der Benutzereingaben werden exakt dieselben Programmstrukturen verwendet wie bisher, also Verzweigungen und Schleifen.

3.1.1 Das große Warten – Callbacks

Sie kennen wahrscheinlich die folgende Situation: Man möchte etwas zusammen unternehmen und wartet darauf, dass der Partner zurückruft, damit es endlich losgehen kann. Dieses große Warten ist das eigentliche Geheimnis von GUI. Während die bisher vorgestellten Programme nach dem Start sofort mit Benutzerabfragen, Berechnungen etc. loslegten, erzeugen GUI-Programme nach dem Start normalerweise nur die Daten für ein Startfenster (Window) und melden dem Betriebssystem, dass ein neues Fenster auf dem Bildschirm bereitsteht. Dann wartet das GUI-Programm in einer while-Schleife, der so genannten Message-Loop, auf „Meldungen" (messages) vom Betriebssystem.

Meldungen vom Betriebssystem – wie hat man sich das vorzustellen? Das Betriebssystem ist der Teil, durch den alle Ein- und Ausgaben im Rechner verwaltet werden. Eingaben, das sind für uns primär Tastatur-Eingaben und Klicks mit der Maus oder Änderungen der Mausposition. Alle Eingaben und die Ausgaben auf dem Bildschirm beziehen sich in Fenster( Window)-basierten Betriebssystemen immer auf ein bestimmtes, aktives Fenster auf dem Desktop des Rechners.

Das Programm, dem das zur Zeit aktive Fenster gehört, zum Beispiel das Startfenster einer GUI-Anwendung, wird im Message-Loop-Zustand vom Be- triebssystem informiert, wenn eine Tastatur-Eingabe oder eine Maus-Aktion erfolgt ist bzw. wenn ein eigenes Fenster auf dem Desktop aktiviert oder deaktiviert wurde – dies sind die Meldungen, die das Betriebssystem an das wartende, angemeldete Programm verschickt. Trifft nun eine Meldung beim GUI-Programm ein, dann wird je nach Art der Meldung reagiert.

Dieses Aufdröseln der Meldungen und das Zuordnen der Aktionen wird den GUIProgrammierern heutzutage glücklicherweise von mächtigen Bibliotheksfunktionen abgenommen – Funktionen, die zu verstehen auch geübten Programmierern oftmals schwerfällt. Auch MATLAB hat so ein mächtiges Tool (Interface-Builder), um GUI-Oberflächen zu erzeugen und zu verwalten: GUIDE (Graphical User Interface Design Environment).
Inhaltsverzeichnis
Vorwort5
Inhalt7
1 Einführung14
1.1 Hello, world14
1.2 Datenverarbeitung16
1.2.1 Hardware16
1.2.2 Software17
1.2.3 Datentypen19
1.2.4 Editieren20
1.2.5 Programmausführung20
1.3 Erster Kontakt mit MATLAB21
1.3.1 Der MATLAB-Desktop21
1.3.2 MATLAB als Taschenrechner22
1.3.3 Zahlen- und Textdarstellung24
1.3.4 Variablen und Datentypen26
1.3.5 Vektoren und Matrizen28
1.3.6 MATLAB aufräumen31
1.3.7 Zusammenfassung31
1.3.8 Aufgaben32
2 Programmstrukturen34
2.1 Funktionen34
2.1.1 Eine Black Box34
2.1.2 Eingangs- und Rückgabeparameter35
2.1.3 Funktionen in MATLAB36
2.1.4 Funktionsbeispiel: Umfang38
2.1.5 Stack, Funktionsparameter39
2.1.6 Ablaufprotokoll40
2.1.7 MATLAB-Arbeitsverzeichnis41
2.1.8 Zusammenfassung43
2.1.9 Aufgaben44
2.2 Ein- und Ausgabe45
2.2.1 I/O-Kanäle45
2.2.2 Einfache Ausgabe45
2.2.3 Formatierte Ausgabe46
2.2.4 Einfache Eingabe48
2.2.5 Ein-/Ausgabe-Beispiel: UmfangInput49
2.2.6 Zusammenfassung50
2.2.7 Aufgaben50
2.3 Ablaufstrukturen51
2.4 Verzweigungen52
2.4.1 Bedingungen52
2.4.2 Vergleiche53
2.4.3 Logische Verknüpfungen54
2.4.4 Alternative55
2.4.5 if-else-Beispiel: mySqrt57
2.4.6 Fallunterscheidung59
2.4.7 Zusammenfassung60
2.4.8 Aufgaben60
2.5 Schleifen61
2.5.1 Schleifenbedingung61
2.5.2 Zählschleife62
2.5.3 for-Beispiel: Fakultät64
2.5.4 Verschachtelte Schleifen65
2.5.5 Wiederholschleife68
2.5.6 while-Beispiel: e-Funktion69
2.5.7 Schleifen verlassen72
2.5.8 Zusammenfassung73
2.5.9 Aufgaben73
2.6 Felder74
2.6.1 Matrizen74
2.6.2 Matrix-Beispiel: sinPlot77
2.6.3 Matrizen erzeugen79
2.6.4 Der :-Operator81
2.6.5 meshgrid82
2.6.6 Matrix-Operatoren84
2.6.7 Verknüpfungen86
2.6.8 Cell-Arrays87
2.6.9 Zusammenfassung88
2.6.10 Aufgaben89
2.7 Grafik90
2.7.1 Grafiktypen90
2.7.2 2D-Grafik90
2.7.3 3D-Grafik97
2.7.4 Mehrere Plots in einer figure100
2.7.5 3D-Kurven102
2.7.6 Grafik-Handle103
2.7.7 Zusammenfassung105
2.7.8 Aufgaben106
2.8 Strukturen107
2.8.1 Strukturierte Daten107
2.8.2 Datenfelder108
2.8.3 struct109
2.8.4 struct-Beispiel: person111
2.8.5 struct ändern112
2.8.6 struct-Beispiel: CAD-Drahtmodell114
2.8.7 Objektorientierte Programmierung117
2.8.8 Zusammenfassung122
2.8.9 Aufgaben122
2.9 Dateien123
2.9.1 Dateizugriff123
2.9.2 Dateien lesen124
2.9.3 Dateien schreiben125
2.9.4 Zusammenfassung126
2.9.5 Aufgaben126
2.10 Strings127
2.10.1 Character-Arrays127
2.10.2 String-Funktionen128
2.10.3 String-Evaluation130
2.10.4 Zusammenfassung131
2.10.5 Aufgaben132
3 GUI134
3.1 Grafische Benutzeroberfläche134
3.1.1 Das große Warten – Callbacks134
3.1.2 Einführung in GUIDE136
3.1.3 Zusammenfassung139
3.1.4 Aufgaben139
3.2 GUI-Elemente140
3.2.1 Fenster und Maus140
3.2.2 GUIDE-M-File141
3.2.3 Text-Ausgabefeld144
3.2.4 Text-Eingabefeld148
3.2.5 GUI-Rückgabewert150
3.2.6 GUI-Grafikobjekt155
3.2.7 Pop-up-Menü156
3.2.8 Zusammenfassung159
3.2.9 Aufgaben159
3.3 GUI-Menüs160
3.3.1 Menu Bar160
3.3.2 Context Menu164
3.3.3 Zusammenfassung166
3.3.4 Aufgaben166
3.4 Standarddialoge166
3.4.1 Standarddialog-Typen166
3.4.2 Aufgaben169
3.5 Callback-Interaktionen170
3.5.1 Maus-Interaktion170
3.5.2 Tastatur-Interaktion174
3.5.3 Zusammenfassung176
3.5.4 Aufgaben176
4 Anwendungen178
4.1 Akustik: Signalverarbeitung178
4.1.1 Schwingungen178
4.1.2 Fourier-Transformation181
4.1.3 wav-Format186
4.1.4 Zusammenfassung188
4.1.5 Aufgaben188
4.2 Bildverarbeitung189
4.2.1 RGB-Farbmodell189
4.2.2 Grafikformate190
4.2.3 Bilder einlesen191
4.2.4 Bilder bearbeiten194
4.2.5 Hoch- und Tiefpass198
4.2.6 Zusammenfassung202
4.2.7 Aufgaben202
4.3 Spiel: Projekt Labyrinth203
4.3.1 Projektstruktur203
4.3.2 Datenbasis204
4.3.3 Spiel laden205
4.3.4 Spielfeld zeichnen214
4.3.5 Spielablauf217
4.3.6 Zusammenfassung219
4.3.7 Aufgaben220
4.4 Mathematik: Funktionen220
4.4.1 Polynome220
4.4.2 Kurvendiskussion221
4.4.3 Polynom-Interpolation223
4.4.4 Datenauswertung225
4.4.5 Nullstellen227
4.4.6 Newton-Verfahren231
4.4.7 Zusammenfassung234
4.4.8 Aufgaben234
4.5 Physik: Differentialgleichungen235
4.5.1 Federschwingung235
4.5.2 Differentialgleichungen236
4.5.3 Numerische Lösung238
4.5.4 Gedämpfte Schwingungen242
4.5.5 Erzwungene Schwingungen246
4.5.6 Zusammenfassung250
4.5.7 Aufgaben251
4.6 Technische Mechanik252
4.6.1 Zentrales Kraftsystem252
4.6.2 Lineare Gleichungssysteme253
4.6.3 Zusatzaufgabe255
4.6.4 Zusammenfassung257
4.6.5 Aufgaben257
4.7 Regelungstechnik259
4.7.1 Stehpendel259
4.7.2 Stabilität263
4.7.3 Eigenwerte und Eigenvektoren263
4.7.4 Regelung268
4.7.5 Control System Toolbox271
4.7.6 Simulink274
4.7.7 Zusammenfassung279
4.7.8 Aufgaben279
4.8 Prozess-Kommunikation280
4.8.1 COM, OLE und ActiveX281
4.8.2 Kontakt zu MS-Excel281
4.8.3 VBA-Kontakt zu Excel287
4.8.4 Zusammenfassung290
4.8.5 Aufgaben291
4.9 MEX – C in MATLAB291
4.9.1 C291
4.9.2 DLL293
4.9.3 C-Beispiel295
4.9.4 Parameterübergabe297
4.9.5 Zusammenfassung300
4.9.6 Aufgaben300
5 Programmierhilfen302
5.1 Das Programm läuft nicht!302
5.2 Der Debugger307
5.3 Weitere MATLAB-Tools308
5.3.1 M-Lint Code Checker309
5.3.2 Profiler309
5.3.3 Dependency Report309
5.3.4 Help Report309
5.3.5 File Comparison Report309
5.4 Zusammenfassung310
6 Befehlsübersicht312
Literatur321
Index325

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

Atalanta

Atalanta

Atalanta ist die Zeitschrift der Deutschen Forschungszentrale für Schmetterlingswanderung. Im Atalanta-Magazin werden Themen behandelt wie Wanderfalterforschung, Systematik, Taxonomie und Ökologie. ...

bank und markt

bank und markt

Zeitschrift für Banking - die führende Fachzeitschrift für den Markt und Wettbewerb der Finanzdienstleister, erscheint seit 1972 monatlich. Leitthemen Absatz und Akquise im Multichannel ...

Deutsche Hockey Zeitung

Deutsche Hockey Zeitung

Informiert über das nationale und internationale Hockey. Die Deutsche Hockeyzeitung ist Ihr kompetenter Partner für Ihren Auftritt im Hockeymarkt. Sie ist die einzige bundesweite Hockeyzeitung ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...