Einführung in MATLAB: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(91 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Lektion 1 =
[[Kategorie:MATLAB]]
== Bild mit interaktivem Dialog laden ==
[[Datei:MATLAB-Symbol-700x394.jpg|thumb|rigth|450px|Abb. 1: MATrix LABoratory (MATLAB<sup>®</sup>)]]
* Laden Sie ein Bild indem Sie den Nutzer die Datei mit einem GUI auswählen lassen.
{| class="wikitable"
* Von der Bilddatei sill anschließend Pfad und Dateiname verfügbar sein.
|-
| '''Autor:'''  || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]
|}


=== Musterlösung ===
= Einleitung =


<source line lang="matlab" style="font-size:medium">  
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
% Schalter um das Lade-GUI zu umgehen
| <strong>Fragestellungen, Begriffe und Voraussetzungen &thinsp;</strong>
bShortCut=false;
|-
|
'''Fragestellungen'''<br>
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.


if (bShortCut==true)
'''Eingeführte Begriffe und Konzepte'''
    % vorgegebene Bilddatei laden
* 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.
    filename = 'P3_image_error.png';
*Verzweigungen und Schleifen sind grundlegenden Programmstrukturen der Informatik.
    pathname = [cd,'\'];
*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.
    disp(['Alternatives Bild laden: ', fullfile(pathname, filename)])
* 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.
else
*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.
    % Interaktiven Dialog starten
*Komplexe Programme können in Funktionen modularisiert werden. Die MATLAB<sup>®</sup>-Hilfe gibt wichtige Hinweise zum Aufruf von Funktionen.
    [filename, pathname] = ...
*Daten können importiert und in Diagrammen visualisiert werden. Die Grundlagen der Programmierung mit Verweigungen und Schleifen wird vertieft.
        uigetfile({'*.png';'*.*'},'File Selector');
    if isequal(filename,0)
        disp('User selected Cancel') 
    else
        disp(['User selected', fullfile(pathname, filename)])
    end
end
% Bild laden
Originalbild = imread([pathname, filename]);


<\source>
'''Vorausgesetzte Kenntnisse aus vorangegangenen Kapiteln'''<br>
Grundlagen der Vektoralgebra
|}


{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Lernziele &thinsp;</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.
|}


== [http://193.175.248.56/wiki/index.php/BSD-Lizenzbedingung BSD-Lizenz] ==
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&thinsp;</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&thinsp;</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]
*[http://www.matlab-cookbook.com/ Matlab Cookbook]
*[https://www.mathworks.com/training-schedule/?s_v1=1367&elq_cid=2990116 Matlab Training Services]
*[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]
*[[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. 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]
*[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]
*[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://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

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