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

Kombination aus Produkt und Dienstleistung

E-Book Kombination aus Produkt und Dienstleistung
Potentiale für Unternehmen aus der Unterhaltungselektronikbranche Format: PDF

Inhaltsangabe:Einleitung: Für Unternehmen des produzierenden Gewerbes wird es immer schwieriger nachhaltige Wettbewerbsvorteile allein über Produkte zu erzielen. Wettbewerbsvorteile ergeben sich aus…

Prozessübergreifendes Projektmanagement

E-Book Prozessübergreifendes Projektmanagement
Grundlagen erfolgreicher Projekte Format: PDF

Projektmanagement ist in Zeiten von enger werdenden Projektbudgets und Projektzeitplänen eine zunehmende Herausforderung geworden. Die Autoren geben wertvolle Hilfestellungen in Krisensituationen und…

Management von IT-Projekten

E-Book Management von IT-Projekten
Von der Planung zur Realisierung Format: PDF

Projektmanagement (PM) wird immer noch zu selten und zu inkonsequent eingesetzt. Viele problematische Projekte sprechen eine eindeutige Sprache. Kenntnisse des PM und seine Anwendungsmöglichkeiten…

Prozessübergreifendes Projektmanagement

E-Book Prozessübergreifendes Projektmanagement
Grundlagen erfolgreicher Projekte Format: PDF

Projektmanagement ist in Zeiten von enger werdenden Projektbudgets und Projektzeitplänen eine zunehmende Herausforderung geworden. Die Autoren geben wertvolle Hilfestellungen in Krisensituationen und…

Management von IT-Projekten

E-Book Management von IT-Projekten
Von der Planung zur Realisierung Format: PDF

Projektmanagement (PM) wird immer noch zu selten und zu inkonsequent eingesetzt. Viele problematische Projekte sprechen eine eindeutige Sprache. Kenntnisse des PM und seine Anwendungsmöglichkeiten…

Wege aus der Softwarekrise

E-Book Wege aus der Softwarekrise
Verbesserungen bei der Softwareentwicklung Format: PDF

Seit Jahrzehnten steckt die Softwareentwicklung in der Krise. Laut aktuellen Statistiken gehen immer noch mehr als die Hälfte aller in der IT-Produktion eingesetzten Mittel verloren. Angekündigte…

Recht ex machina

E-Book Recht ex machina
Formalisierung des Rechts im Internet der Dienste Format: PDF

Im Internet werden Informationen immer häufiger so ausgezeichnet, dass sie für Computer interpretierbar sind (Semantic Web). Solche maschinenlesbaren Informationen sorgen dafür, dass Dienste im…

Weitere Zeitschriften

MENSCHEN. das magazin

MENSCHEN. das magazin

MENSCHEN. das magazin informiert über Themen, die das Zusammenleben von Menschen in der Gesellschaft bestimmen -und dies konsequent aus Perspektive der Betroffenen. Die Menschen, um die es geht, ...

BMW Magazin

BMW Magazin

Unter dem Motto „DRIVEN" steht das BMW Magazin für Antrieb, Leidenschaft und Energie − und die Haltung, im Leben niemals stehen zu bleiben.Das Kundenmagazin der BMW AG inszeniert die neuesten ...

Deutsche Hockey Zeitung

Deutsche Hockey Zeitung

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

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...

Euphorion

Euphorion

EUPHORION wurde 1894 gegründet und widmet sich als „Zeitschrift für Literaturgeschichte“ dem gesamten Fachgebiet der deutschen Philologie. Mindestens ein Heft pro Jahrgang ist für die ...