Einführung in MATLAB: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(30 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:MATLAB]]
[[Kategorie:MATLAB]]
'''Autor:'''  [[Benutzer:Ulrich_Schneider|Prof. Ulrich Schneider]]
[[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 =


Für den Einstieg in MATLAB bieten sich die nachfolgenden Möglichkeiten an.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
| <strong>Fragestellungen, Begriffe und Voraussetzungen &thinsp;</strong>
== MATLAB-Syntax in a nutshell ==
|-
Hier finden Sie eine Übersicht der wichtigsten [[MATLAB-Befehle|MATLAB-Befehle]].
|
 
 
== 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]
 
 
=== Fragestellungen, Begriffe und Voraussetzungen ===
'''Fragestellungen'''<br>
'''Fragestellungen'''<br>
MATLAB von der Firma Mathworks ist ein sehr mächtiges Simulationstool. Die Fragestellung dieser Lektion ist wie man mit MATLAB umgeht.
MATLAB<sup>®</sup> von der Firma [https://www.mathworks.com/ MathWorks<sup>®</sup>] ist ein multifunktionelles wissenschaftliches Simulationswerkzeug, mit denen z.&thinsp;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'''
'''Eingeführte Begriffe und Konzepte'''
*Der Selfpace-eLearning-Kurs MATLAB Onramp stellt mit zahlreichen Beispielen in 135 Minuten die Grundfunktionen von MATLAB vor, begonnen mit dem Command Window, dem Desktop und dem Editor. MATLAB wurde entwickelt, um mit Vektoren und Matrizen zu arbeiten. Der Zugriff auf Matrizenzellen und Matrizenrechnung wird erläutert.
* 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.
*Komplexe Programme können in Funktionen modularisiert werden. Die MATLAB Hilfe gibt wichtige Hinweise zum Aufruf von Funktionen.
*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.
*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>
'''Vorausgesetzte Kenntnisse aus vorangegangenen Kapiteln'''<br>
Grundlagen der Vektoralgebra
Grundlagen der Vektoralgebra
|}


=== Lernziele ===
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
Nach Durchführung dieser Lektion
| <strong>Lernziele &thinsp;</strong>
|-
|
Nach Durchführung dieses Selbstlernkurses
*können Sie mit der MATLAB-Oberfläche umgehen.
*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 Programme schreiben und speichern.
*können Sie mit Matrizen rechnen und auf deren Inhalt gezielt zugreifen.
*können Sie mit Matrizen rechnen und auf deren Inhalt gezielt zugreifen.
*können Sie Daten laden, speichern und anzeigen.
*können Sie Daten laden, speichern und anzeigen.
*kennen Sie die Programmiergrundelemente: Verzeigung und Schleifen und können diese in MATLAB anwenden.
*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 komplexe Programmteile in einer Funktion auslagern.
*können Sie mit der MATLAB Hilfe umgehen.
*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 de.linkedin.com ==
== 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.
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]
*[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 ==
= Einsteig über ein Fachbuch =
Erarbeiten Sie sich anhand des Buches
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
  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.
die Informatikgrundlagen zu Programmstrukturen in Kapitel 2.


=== Fragestellungen, Begriffe und Voraussetzungen===
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
'''Fragestellungen'''
| <strong>Lernzielkontrolle&thinsp;</strong>
MATLAB ist ein multifunktionelles wissenschaftliches Werkzeug, 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.
|-
 
|
'''Eingeführte Begriffe und Konzepte'''
Üben Sie Ihre Kenntnisse praktisch mit den nachfolgenden Aufgaben.  
*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.
*Verzweigungen und Schleifen sind grundlegenden Programmstrukturen der Informatik.
* MATLAB kann hervorragend mit Feldern (Vektoren/Matrizen) arbeiten. Sie Zugriffe auf die Feldeinträge sind äußerst simpel. Dies gilt auch für die Matrizenrechnung.
* 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.
 
'''Vorausgesetzte Kenntnisse aus vorangegangenen Kapiteln'''
Grundkenntnisse aus MATLAB Onramp Training: Kommandos, MATLAB Desktop, Editor, Mektoren und Matrizen, Daten importieren und darstellen
 
=== Lernziele===
Nach Durchführung dieser Lektion
* haben Sie Ihre MATLAB Kenntnisse vertieft.
* können Sie abgeschloßene Programmteile in Funktionen kapseln.
* können Sie Informationen im Command Window ausgeben.
* können Sie Verzweigungen und Schleifen programmieren.
* können Sie Matrizen erzeugen und auf deren Felder zugreifen.
* können Sie Daten in Grafiken visualisieren.
* können Sie Strukturen anlegen und auf deren Inhalte zugreifen.
* können Sie Daten aus Text-Dateien lesen und darin schreiben.
* können Sie mit Character-Arrays umgehen.
 
=== Lernzielkontrolle ===
Üben Sie Ihre Kenntnisse praktisch mit den nachfolgenden Aufgaben. Die Tutoren Unterstützen Sie gern bei Fragen.
 
# [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_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_2.pdf Ein- und Ausgaben]
Zeile 85: Zeile 150:
# [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_9.pdf Dateien]
# [http://www.stein-ulrich.de/MATLAB/Aufgaben/K2/Aufgaben_Kapitel_02_10.pdf Strings]
# [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&thinsp;</strong>
|-
|
Die Lösungen finden Sie [http://www.stein-ulrich.de/Matlab/Aufgaben/Kapitel_02Frame.php hier].
Die Lösungen finden Sie [http://www.stein-ulrich.de/Matlab/Aufgaben/Kapitel_02Frame.php hier].
|}


== Weiterführende Links ==
= 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 98: Zeile 168:
*[[Medium:Programmierrichtlinien_für_Matlab.pdf|Programmierrichtlinien für Matlab]]
*[[Medium:Programmierrichtlinien_für_Matlab.pdf|Programmierrichtlinien für Matlab]]


== Literatur ==
= 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. ISBN 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. ISBN 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]
Zeile 105: Zeile 175:
*[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]
*[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://193.175.248.56/wiki/index.php/BSD-Lizenzbedingung BSD-Lizenz] ==
== [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, 16:33 Uhr

Abb. 1: MATrix LABoratory (MATLAB®)
Autor: Prof. Dr.-Ing. Schneider

Einleitung

Für den Einstieg in MATLAB® bieten sich die folgenden Möglichkeiten an:

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
  • Oberfläche
  • Vektoren und Matrizen
  • Skript erstellen
  • Initialisierung
Einführung
2 Graphische Darstellung
  • 2D-Grafik
  • Grafik-Handles
  • Laden und Speichern von Variablen
  • 3D-Grafik
Graphische Darstellung
3 Programmstrukturen
  • Verzweigungen
  • Schleifen
  • Funktionen
  • Debugging
  • Ein- und Ausgaben
  • varargs-Mechanismus
4 Nachhaltige Programmierung
  • Kommentare
  • Programmierrichtlinien
  • MATLAB®-Hilfe
5 Daten & Dateizugriff
  • Textdateien einlesen
  • Textdateien schreiben
  • .mat-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 (.mlx)
  • App-Designer
10 Einführung in Simulink
11 Symbolische Mathematik
  • Plotten von symbolischen Funktionen
Symbolische Mathematik
12 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.

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.

Weiterführende Links

Literatur

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