Einführung in MATLAB: Unterschied zwischen den Versionen
(49 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Autor:''' [[Benutzer:Ulrich_Schneider|Prof. | [[Kategorie:MATLAB]] | ||
[[Datei:MATLAB-Symbol-700x394.jpg|thumb|rigth|450px|Abb. 1: MATrix LABoratory (MATLAB<sup>®</sup>)]] | |||
{| class="wikitable" | |||
|- | |||
| '''Autor:''' || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]] | |||
|} | |||
= Einleitung = | |||
= | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>Fragestellungen, Begriffe und Voraussetzungen  </strong> | |||
|- | |||
| | |||
'''Fragestellungen'''<br> | |||
MATLAB<sup>®</sup> von der Firma [https://www.mathworks.com/ MathWorks<sup>®</sup>] ist ein multifunktionelles wissenschaftliches Simulationswerkzeug, mit denen z. B. Messdaten gelesen, analysiert, verarbeitet und visualisiert werden können. Mechatroniker*innen werden mit MATLAB simulieren, Daten auswerten und sogar in Echtzeit mechatronische Systeme regeln. Fragestellung dieser Lektion sind die Programmstrukturen von MATLAB<sup>®</sup>. Die Fragestellung dieses Selbstlernkurses ist wie man mit MATLAB<sup>®</sup> umgeht. | |||
* | |||
'''Eingeführte Begriffe und Konzepte''' | |||
< | * MATLAB<sup>®</sup> kann hervorragend mit Feldern (Vektoren/Matrizen) arbeiten. Sie Zugriffe auf die Feldeinträge sind äußerst simpel. Dies gilt auch für die Matrizenrechnung. | ||
< | *Verzweigungen und Schleifen sind grundlegenden Programmstrukturen der Informatik. | ||
*Funtionen bieten die Möglichkeit Programmteile, die häufiger ausgeführt werden zu kapseln. Es Möglichkeit zum Debuggen lassen sich über das Command Window ein und Ausgaben machen. | |||
* Daten können leicht in individuellen Grafiken angezeigt werden. Diese können umfassend beschriftet werden. Der Datentyp struct und Klassen ermöglichen die Erzeugung komplexere Daten- und Funktionsstrukturen. | |||
*Dateien können ebenfalls als Ein- und Ausgabe dienen. Gezeigt wird der Umgang mit ASCII und Binördateien. Die Erzeugung von Strings ist ein wesentlicher Bestandteil. | |||
*Komplexe Programme können in Funktionen modularisiert werden. Die MATLAB<sup>®</sup>-Hilfe gibt wichtige Hinweise zum Aufruf von Funktionen. | |||
*Daten können importiert und in Diagrammen visualisiert werden. Die Grundlagen der Programmierung mit Verweigungen und Schleifen wird vertieft. | |||
< | |||
</ | |||
'''Vorausgesetzte Kenntnisse aus vorangegangenen Kapiteln'''<br> | |||
Grundlagen der Vektoralgebra | |||
|} | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Lernziele  </strong> | |||
|- | |||
| | |||
Nach Durchführung dieses Selbstlernkurses | |||
*können Sie mit der MATLAB-Oberfläche umgehen. | |||
* können Sie Informationen im Command Window ausgeben. | |||
*können Sie Programme schreiben und speichern. | |||
*können Sie mit Matrizen rechnen und auf deren Inhalt gezielt zugreifen. | |||
*können Sie Daten laden, speichern und anzeigen. | |||
*kennen Sie die Programmiergrundelemente: Verzeigung und Schleifen und können diese in MATLAB<sup>®</sup> anwenden. | |||
*können Sie komplexe Programmteile in einer Funktion auslagern. | |||
*können Sie mit der MATLAB<sup>®</sup>-Hilfe umgehen. | |||
* können Sie Strukturen anlegen und auf deren Inhalte zugreifen. | |||
* können Sie mit Character-Arrays umgehen. | |||
|} | |||
Für den Einstieg in MATLAB<sup>®</sup> bieten sich die folgenden Möglichkeiten an: | |||
* [[Einführung_in_MATLAB#Einstieg über das HSHL-Wiki|Einstieg über das HSHL-Wiki]] | |||
* [[Einführung_in_MATLAB#Einstieg_über_MathWorks_Kurse|Einstieg über MathWorks Kurse]] | |||
* [[Einführung_in_MATLAB#Einstieg über de.linkedin.com|Einstieg über de.linkedin.com]] | |||
* [[Einführung_in_MATLAB#Einsteig über ein Fachbuch|Einsteig über ein Fachbuch]] | |||
= | = MATLAB-Syntax in a nutshell = | ||
Hier finden Sie eine Übersicht der wichtigsten [[MATLAB-Befehle|MATLAB-Befehle]]. | |||
= Einstieg über das HSHL-Wiki = | |||
Diese Einstiegsmöglichkeit entsteht derzeit. Anregungen, Fragen und Feedback ist erwünscht. | |||
{| class="wikitable" | |||
|- | |||
! # !! Thema !! Inhalte !! Lernzielkontrolle | |||
|- | |||
| 1 || [[MATLAB Repetitorium - Einführung|Einführung]] || | |||
* Oberfläche | |||
* Vektoren und Matrizen | |||
* Skript erstellen | |||
* Initialisierung | |||
|| [[MATLAB Lernzielkontrolle: Einführung|Einführung]] | |||
|- | |||
| 2 || [[MATLAB Repetitorium - Graphische Darstellung|Graphische Darstellung]]|| | |||
* 2D-Grafik | |||
* Grafik-Handles | |||
* Laden und Speichern von Variablen | |||
* 3D-Grafik | |||
|| [[MATLAB Lernzielkontrolle: Graphische Darstellung|Graphische Darstellung]] | |||
|- | |||
| 3 || [[MATLAB Repetitorium - Programmstrukturen|Programmstrukturen]] || | |||
* Verzweigungen | |||
* Schleifen | |||
* Funktionen | |||
* Debugging | |||
* Ein- und Ausgaben | |||
* <code>varargs</code>-Mechanismus | |||
|- | |||
| 4 || [[MATLAB Repetitorium - Nachhaltige Programmierung|Nachhaltige Programmierung]] || | |||
* Kommentare | |||
* Programmierrichtlinien | |||
* MATLAB<sup>®</sup>-Hilfe | |||
|- | |||
| 5 || [[MATLAB Repetitorium - Daten und Dateizugriff|Daten & Dateizugriff]] || | |||
* Textdateien einlesen | |||
* Textdateien schreiben | |||
* <code>.mat</code>-Datei speichern & laden | |||
* Cell-Array | |||
|- | |||
| 6 || Datenstrukturen || | |||
* Datentypen | |||
* Matrizen | |||
* Matrix-Operatoren | |||
* Cell-Array | |||
|- | |||
| 8 || Strukturen und Klassen || | |||
* struct | |||
* Objektorientierte Programmierung (OOP) | |||
|- | |||
| 9 || Grafische Benutzeroberfläche (GUI)|| | |||
* Live-Skript (<code>.mlx</code>) | |||
*App-Designer | |||
|- | |||
| 10 || Einführung in Simulink || | |||
|- | |||
| 11 || [[MATLAB Repetitorium - Symbolische Mathematik|Symbolische Mathematik]] || | |||
* Plotten von symbolischen Funktionen | |||
|| [[MATLAB Lernzielkontrolle: Symbolische Mathematik|Symbolische Mathematik]] | |||
|- | |||
| 12 || [[MATLAB Repetitorium - Bildverarbeitung|Einführung in die Bildverarbeitung]] || | |||
* Bilder einlesen und anzeigen | |||
* Videoverarbeitung | |||
* Bildverbesserung durch Filter | |||
* Segmentierung | |||
* Morphologische Operationen | |||
|} | |||
== | == Einstieg über MathWorks Kurse == | ||
Ein einfachen Weg für den Einstieg in die MATLAB-Toolwelt bieten die kostenlosen Self-Pace Kurse. | |||
* [https://www.mathworks.com/learn/tutorials/matlab-onramp.html MATLAB Onramp] | |||
* | * [https://www.mathworks.com/training-schedule/matlab-fundamentals MATLAB Fundamentals] | ||
* [https://matlabacademy.mathworks.com/ Kursübersicht MATLAB and Simulink Training] | |||
== | = Einstieg über de.linkedin.com = | ||
Kostenlos sind für HSHL Studierende ebenfalls die E-Learning Kurse bei Linked:in. | |||
*[https://de.linkedin.com/learning/matlab-grundkurs?trk=learning-topics_trending-courses_related-content-card&upsellOrderOrigin=default_guest_learning MATLAB Grundkurs] | |||
== | = Einsteig über ein Fachbuch = | ||
Erarbeiten Sie sich anhand des Buches | |||
Stein, U.: Programmieren mit MATLAB : Programmiersprache, grafische Benutzeroberflächen, Anwendungen. München : Fachbuchverlag Leipzig im Carl Hanser Verlag, 6. Auflage 2017. HSHL-eBook | |||
die Informatikgrundlagen zu Programmstrukturen in Kapitel 2. | |||
== | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>Lernzielkontrolle </strong> | |||
|- | |||
| | |||
Üben Sie Ihre Kenntnisse praktisch mit den nachfolgenden Aufgaben. | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_1.pdf Funktionen] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_2.pdf Ein- und Ausgaben] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_4.pdf Verzweigungen] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_5.pdf Schleifen] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_6.pdf Felder] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_7.pdf Grafik] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_8.pdf Strukturen] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_9.pdf Dateien] | |||
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_10.pdf Strings] | |||
|} | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösungen </strong> | |||
|- | |||
| | |||
Die Lösungen finden Sie [http://www.stein-ulrich.de/Matlab/Aufgaben/Kapitel_02Frame.php hier]. | |||
|} | |||
= Weiterführende Links = | |||
*[https://matlabacademy.mathworks.com/ MATLAB Academy - kostenlose Video-Tutorials] | *[https://matlabacademy.mathworks.com/ MATLAB Academy - kostenlose Video-Tutorials] | ||
*[http://www.matlab-cookbook.com/ Matlab Cookbook] | *[http://www.matlab-cookbook.com/ Matlab Cookbook] | ||
Zeile 106: | Zeile 165: | ||
*[http://makerzone.mathworks.com/?s_v1=1367&elq_cid=2990116&elq=8cd5d85fe28a492bb326b34f88a1aacf&elqCampaignId=348 Matlab Maker Zone] | *[http://makerzone.mathworks.com/?s_v1=1367&elq_cid=2990116&elq=8cd5d85fe28a492bb326b34f88a1aacf&elqCampaignId=348 Matlab Maker Zone] | ||
*[https://www.mathworks.de/academia/courseware/applied-autonomous-robots-1/index.html?s_v1=1367&elq_cid=2990116&elq=8cd5d85fe28a492bb326b34f88a1aacf&elqCampaignId=348 "Applied Autonomous Robots I" Courseware] | *[https://www.mathworks.de/academia/courseware/applied-autonomous-robots-1/index.html?s_v1=1367&elq_cid=2990116&elq=8cd5d85fe28a492bb326b34f88a1aacf&elqCampaignId=348 "Applied Autonomous Robots I" Courseware] | ||
*[[MATLAB Grader]] | |||
*[[Medium:Programmierrichtlinien_für_Matlab.pdf|Programmierrichtlinien für Matlab]] | |||
= Literatur = | |||
*[https://link.springer.com/book/10.1007/978-3-642-05453-2 '''Benker, H.''': ''Ingenieurmathematik kompakt – Problemlösungen mit MATLAB''. Heidelberg: Springer eBook 2010. 978-3-642-05453-2] | *[https://link.springer.com/book/10.1007/978-3-642-05453-2 '''Benker, H.''': ''Ingenieurmathematik kompakt – Problemlösungen mit MATLAB''. Heidelberg: Springer eBook 2010. ISBN 978-3-642-05453-2] | ||
*[https://www.hanser-fachbuch.de/buch/Programmieren+mit+MATLAB/9783446448643 '''Stein, U''': ''Programmieren mit MATLAB''. Leipzig, Hanser Verlag 2017. 978-3-446-45583-2] | *[https://www.hanser-fachbuch.de/buch/Programmieren+mit+MATLAB/9783446448643 '''Stein, U''': ''Programmieren mit MATLAB''. Leipzig, Hanser Verlag 2017. ISBN 978-3-446-45583-2] | ||
*[http://www.math.toronto.edu/mpugh/primer.pdf '''Sigmon, K'''; u.A.: ''MATLAB Primer''. PDF] | *[http://www.math.toronto.edu/mpugh/primer.pdf '''Sigmon, K'''; u.A.: ''MATLAB Primer''. PDF] | ||
*[http://staff.technikum-wien.at/~teschl/MatlabSkriptum.pdf '''Teschl. S.''': ''MATLAB - Eine Einführung''. DOC] | *[http://staff.technikum-wien.at/~teschl/MatlabSkriptum.pdf '''Teschl. S.''': ''MATLAB - Eine Einführung''. DOC] | ||
*[https://hshl.bsz-bw.de/cgi-bin/koha/opac-detail.pl?biblionumber=238571&query_desc=kw%2Cwrdl%3A%20MATLAB%C2%AE%20und%20Simulink%C2%AE%20in%20der%20Ingenieurpraxis '''Pietruszka, W. D.; Glöckner, M.''': ''MATLAB® und Simulink® in der Ingenieurpraxis''. Wiesbaden: Springer Verlag, 5. Auflage 2021. ISBN 978-3-658-29740-4] | |||
== [http:// | == [http://wiki.hshl.de/wiki/index.php/BSD-Lizenzbedingung BSD-Lizenz] == | ||
Copyright (c) 2014, Hochschule Hamm-Lippstadt, Dep. Lip. 1, [[Benutzer:Ulrich_Schneider|Prof. Ulrich Schneider]]<br/> | Copyright (c) 2014, Hochschule Hamm-Lippstadt, Dep. Lip. 1, [[Benutzer:Ulrich_Schneider|Prof. Ulrich Schneider]]<br/> | ||
Hochschule Hamm-Lippstadt. Alle Rechte vorbehalten. | Hochschule Hamm-Lippstadt. Alle Rechte vorbehalten. |
Aktuelle Version vom 16. September 2024, 15:33 Uhr
Autor: | Prof. Dr.-Ing. Schneider |
Einleitung
Fragestellungen, Begriffe und Voraussetzungen |
Fragestellungen Eingeführte Begriffe und Konzepte
Vorausgesetzte Kenntnisse aus vorangegangenen Kapiteln |
Lernziele |
Nach Durchführung dieses Selbstlernkurses
|
Für den Einstieg in MATLAB® bieten sich die folgenden Möglichkeiten an:
- Einstieg über das HSHL-Wiki
- Einstieg über MathWorks Kurse
- Einstieg über de.linkedin.com
- Einsteig über ein Fachbuch
MATLAB-Syntax in a nutshell
Hier finden Sie eine Übersicht der wichtigsten MATLAB-Befehle.
Einstieg über das HSHL-Wiki
Diese Einstiegsmöglichkeit entsteht derzeit. Anregungen, Fragen und Feedback ist erwünscht.
# | Thema | Inhalte | Lernzielkontrolle |
---|---|---|---|
1 | Einführung |
|
Einführung |
2 | Graphische Darstellung |
|
Graphische Darstellung |
3 | Programmstrukturen |
| |
4 | Nachhaltige Programmierung |
| |
5 | Daten & Dateizugriff |
| |
6 | Datenstrukturen |
| |
8 | Strukturen und Klassen |
| |
9 | Grafische Benutzeroberfläche (GUI) |
| |
10 | Einführung in Simulink | ||
11 | Symbolische Mathematik |
|
Symbolische Mathematik |
12 | Einführung in die Bildverarbeitung |
|
Einstieg über MathWorks Kurse
Ein einfachen Weg für den Einstieg in die MATLAB-Toolwelt bieten die kostenlosen Self-Pace Kurse.
Einstieg über de.linkedin.com
Kostenlos sind für HSHL Studierende ebenfalls die E-Learning Kurse bei Linked:in.
Einsteig über ein Fachbuch
Erarbeiten Sie sich anhand des Buches
Stein, U.: Programmieren mit MATLAB : Programmiersprache, grafische Benutzeroberflächen, Anwendungen. München : Fachbuchverlag Leipzig im Carl Hanser Verlag, 6. Auflage 2017. HSHL-eBook
die Informatikgrundlagen zu Programmstrukturen in Kapitel 2.
Lernzielkontrolle |
Üben Sie Ihre Kenntnisse praktisch mit den nachfolgenden Aufgaben. |
Musterlösungen |
Die Lösungen finden Sie hier. |
Weiterführende Links
- MATLAB Academy - kostenlose Video-Tutorials
- Matlab Cookbook
- Matlab Training Services
- Matlab Maker Zone
- "Applied Autonomous Robots I" Courseware
- MATLAB Grader
- Programmierrichtlinien für Matlab
Literatur
- Benker, H.: Ingenieurmathematik kompakt – Problemlösungen mit MATLAB. Heidelberg: Springer eBook 2010. ISBN 978-3-642-05453-2
- Stein, U: Programmieren mit MATLAB. Leipzig, Hanser Verlag 2017. ISBN 978-3-446-45583-2
- Sigmon, K; u.A.: MATLAB Primer. PDF
- Teschl. S.: MATLAB - Eine Einführung. DOC
- Pietruszka, W. D.; Glöckner, M.: MATLAB® und Simulink® in der Ingenieurpraxis. Wiesbaden: Springer Verlag, 5. Auflage 2021. ISBN 978-3-658-29740-4
BSD-Lizenz
Copyright (c) 2014, Hochschule Hamm-Lippstadt, Dep. Lip. 1, Prof. Ulrich Schneider
Hochschule Hamm-Lippstadt. Alle Rechte vorbehalten.
→ zurück zum Hauptartikel: Virtuelle Lehrveranstaltungen