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 ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

CE-Markt

CE-Markt

CE-Markt ist Pflichtlektüre in der Unterhaltungselektronik-Branche. Die Vermarktung von Home und Mobile Electronics mit den besten Verkaufsargumenten und Verkaufsstrategien gehören ebenso zum ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

Demeter-Gartenrundbrief

Demeter-Gartenrundbrief

Einzige Gartenzeitung mit Anleitungen und Erfahrungsberichten zum biologisch-dynamischen Anbau im Hausgarten (Demeter-Anbau). Mit regelmäßigem Arbeitskalender, Aussaat-/Pflanzzeiten, Neuigkeiten ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

ea evangelische aspekte

ea evangelische aspekte

evangelische Beiträge zum Leben in Kirche und Gesellschaft Die Evangelische Akademikerschaft in Deutschland ist Herausgeberin der Zeitschrift evangelische aspekte Sie erscheint viermal im Jahr. In ...