Upload
dodat
View
222
Download
0
Embed Size (px)
Citation preview
Matlab-Seminar: Grundlagen
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah M.Sc., Davina Hartmann M.Sc.
WiSe 2018/19
Universität Duisburg-Essen Mercator School of Management
Lehrstuhl für Betriebswirtschaftslehre, insb. Service Operations
www.msm.uni-due.de/so
2
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Agenda
1. Organisatorisches
2. Einführung in MATLAB
3. Syntax
4. Skripte
5. Vektoren und Matrizen
6. Verwendung der Hilfe
7. Erstellen von Reports mit Hilfe der Publishing-Funktion
3
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Was ist MATLAB?
Softwareumgebung zur Lösung mathematischer Probleme
Modellierung & Optimierung
Visualisierung der Ergebnisse
Primär für numerische Berechnungen mit Vektoren und Matrizen
Vorteil von MATLAB
Durch die interaktive Natur von MATLAB und die Einfachheit in der Handhabung können auch komplexere Probleme oft mit einem relativ geringen Zeitaufwand analysiert und gelöst werden
1. Organisatorisches
Matlab-Seminar: Grundlagen 1 Organisatorisches
4
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Warum ein MATLAB-Seminar?
Matlab in der Praxis:
Standard für Datenanalyse („Big Data“), Design, Optimierung in Branchen wie Automotive, Finance, Energy, …
Großer Bedarf an Fachkräften mit vertieften IT-Kenntnissen
Matlab in Forschung & Lehre:
Standard in der Forschung zur Lösung nichtlinearer & stochastischer Modelle, z.B. in Logistik, Pricing, Revenue Management, aber auch VWL
Ideal in der Lehre zur Umsetzung quantitativer Modelle in Master- und Seminararbeiten…
zeigt Verständnis der Theorie
ermöglicht teils erst sinnvolle Bearbeitung, gerade auch bei Praxisarbeiten
Lernziele
Grundlagen der Programmierung (am Beispiel MATLAB)
Eigenständige Erschließung von Spezialwissen (z.B. durch Onlinehilfe, Suchmaschinen, …)
Strukturierung von umfangreicheren Implementierungen
Optimale Vorbereitung auf Arbeiten mit Implementierungsteil
Matlab-Seminar: Grundlagen 1 Organisatorisches
5
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Teil 1 (1. Semesterhälfte): Präsenztermine
Präsenztermine mit Stoffvermittlung, Präsenzübungen & Betreuung
Mittwochs, 14:00–18:00 Uhr im Raum LC 134
Bearbeitung von Aufgabenblättern im 2er-Team, Kurzpräsentation am folgenden Termin
Teil 2 (2. Semesterhälfte): Anwendung auf umfassendes Projekt
Eigenständige Implementierung (2er-Team) quantitativer Modelle und Methoden aus den Bereichen Dynamic Pricing, Revenue Management, u.Ä.
Abschließender Präsenztermin zur Präsentation von Vorgehen & Ergebnis
Termin wird noch bekannt gegeben
Matlab-Seminar: Grundlagen 1 Organisatorisches
17.10.2018 21.11.2018 14.11.2018 31.10.2018 24.10.2018
Aufgabenblatt 1 Aufgabenblatt 2 Aufgabenblatt 3 Aufgabenblatt 4
6
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Vorkenntnisse
Gute Kenntnisse in Mathematik & Optimierung
Keine Vorkenntnisse in MATLAB o. Ä. nötig
Ansprechpartner
Benedikt Finnah ([email protected])
Fragen
Bitte nur in der Veranstaltung oder in Moodle (https://moodle.uni-due.de/course/view.php?id=14113)
Einschreibeschlüssel wird in der ersten Veranstaltung bekannt gegeben
Schnelle Antwort in Moodle, manchmal innerhalb von Minuten durch Kommilitonen
Verfügbarkeit von Frage & Antwort für alle
Prüfungsleistungen
33% Bearbeitung und Präsentation von Aufgabenblättern, Implementierungen, Diskussionsbeteiligung
67% Abschlussprojekt inkl. Präsentation, Diskussionsbeteiligung
Daher Anwesenheit an allen Präsenzterminen erforderlich
Die Abgabe des ersten Aufgabenblattes gilt als Anmeldung zur Prüfung
Matlab-Seminar: Grundlagen 1 Organisatorisches
7
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Ablauf eines Präsenztermins
Präsentation der Lösung des vorherigen Aufgabenblatts durch Studierende
Präsentation neuer Inhalte durch Dozenten
Bearbeitungszeit für das neue Aufgabenblatt
Abgabe der Aufgabenblattlösungen
Bis spätestens Mittwochs um 08:00 Uhr an [email protected]
Gezippter Ordner mit Namen: G#-AB* (# = Gruppennummer, *=AB-Nummer)
der Ordner enthält:
Einen Report zu jeder Aufgabe des Aufgabenblattes
Zugehörige .m-Dateien (MATLAB-Skripte und –funktionen)
Es gibt nur eine Version, d.h. es wird die erste Abgabe gewertet
MATLAB außerhalb des Seminars
Eine kostenlose Studentenversion wird von ZIM bereit gestellt
https://www.uni-due.de/zim/services/software/matlab_stud.shtml
Öffentliche PC-Pools mit MATLAB sind in Räumen LC 036, MA 425 und BA 028 zu finden
Matlab-Seminar: Grundlagen 1 Organisatorisches
8
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Was darf man?
Sich beraten, wie eine Aufgabe zu verstehen ist
Idealerweise in Moodle
Falls Sie das Seminar wiederholen, dürfen Sie natürlich Ihre (!) alten Lösungen verwenden.
Was darf man nicht?
Code teilen, zeigen, vorführen
Abgaben vorheriger Semester kopieren
Code von Anderen schreiben lassen
Mögliche Konsequenzen
Abschreiben und abschreiben lassen gilt gleichermaßen als Täuschungsversuch
Konsequenzen: Prüfungsordnung, z.B. PO 2016: §22 (4)-(7)
Übungsaufgaben sind Prüfungsleistungen
Matlab-Seminar: Grundlagen 1 Organisatorisches
9
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Agenda
1. Organisatorisches
2. Einführung in MATLAB
3. Syntax
4. Skripte
5. Vektoren und Matrizen
6. Verwendung der Hilfe
7. Erstellen von Reports mit Hilfe der Publishing-Funktion
10
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Einführung in MATLAB
Der Name MATLAB leitet sich von MATrix LABoratory ab
Besondere Stärke von MATLAB ist der Umgang mit Vektoren und Matrizen
Weite Verbreitung an Hochschulen und in der Industrie
Kostenlose Alternativen
Octave (http://www.gnu.org/software/octave/)
SciLab (http://www.scilab.org/)
Typische Anwendungen von MATLAB
Numerische Berechnungen aller Art
Modellierung, Simulation und Entwicklung von Prototypen technischer und wirtschaftlicher Probleme
Analyse, Auswertung und grafische Darstellung von Daten
Applikationsentwicklung mit Aufbau einer grafischen Benutzerschnittstelle
2 Einführung in MATLAB
Matlab-Seminar: Grundlagen 2 Einführung in MATLAB
11
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Matlab-Seminar: Grundlagen 2 Einführung in MATLAB
12
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Agenda
1. Organisatorisches
2. Einführung in MATLAB
3. Syntax
4. Skripte
5. Vektoren und Matrizen
6. Verwendung der Hilfe
7. Erstellen von Reports mit Hilfe der Publishing-Funktion
13
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Variablen
Variablen speichern Werte, welche ihnen zugewiesen werden
Die speicherbaren Werte werden durch den Datentyp der Variablen festgelegt
Variablen haben standardmäßig den Datentyp double, falls ihnen eine Zahl zugewiesen wird
Vorerst beschränken wir uns auf diesen Datentyp
Eine ausführliche Dokumentation über die Datentypen von MATLAB finden Sie hier: http://de.mathworks.com/help/matlab/data-types_data-types.html
3 Syntax
Matlab-Seminar: Grundlagen 3 Syntax
>> x = 5
x =
5
>> y = 7.1
y =
7.1000
>> z = x+y
z =
12.1000
14
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Matlab-Seminar: Grundlagen 3 Syntax
Variablennamen müssen mit einem Buchstaben beginnen und dürfen aus maximal 63 Buchstaben, Zahlen und Unterstrichen bestehen (keine Umlaute)
Daher muss auf Groß- und Kleinschreibung geachtet werden
Wird das Ergebnis einer Rechenoperation keiner Variablen zugewiesen, so speichert MATLAB das Ergebnis in der Variablen ans
Konvention: Nur Matrizen werden mit groß geschriebenen Variablennamen bezeichnet
>> x = 5
x =
5
>> X = 7
X =
7
>> x+X
ans =
12
15
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
ans(Resultat), NaN bzw. nan (Not-a-Number), pi (Kreiszahl ≈ 3.14) und Inf bzw. inf (Infinity) sowie i bzw. j (imaginäre Einheit) sind besondere Variablen
Diese sollten nicht überschrieben werden
Siehe auch http://www.mathworks.com/help/matlab/constants-and-test-matrices.html
Besondere Variablen bzw. Konstanten
Matlab-Seminar: Grundlagen 3 Syntax
>> x = pi*i + i*j
ans =
-1.0000 + 3.1416i
>> x = 1/0
x =
Inf
>> x = 1/Inf
x =
0
>> x = 0/0
x =
NaN
16
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Rechenoperationen
Grundlegende Rechenoperationen sind die Addition (+), die Subtraktion (−), die Multiplikation (∗), die Division (/) und das Potenzieren (^)
Mathematische Funktionen
Einige der vielen Funktionen sind…
die trigonometrischen Funktionen ( sin, cos, usw. )
die Wurzelfunktion ( sqrt )
der natürliche Logarithmus und die Exponentialfunktion ( log, exp )
Siehe auch http://de.mathworks.com/help/matlab/elementary-math.html
Funktionen können ineinander verschachtelt werden (Bitte übertreiben Sie nicht)
Rechnen
Matlab-Seminar: Grundlagen 3 Syntax
>> sin(2)
ans =
0.9093
>> log( exp(1) )
ans =
1
17
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Agenda
1. Organisatorisches
2. Einführung in MATLAB
3. Syntax
4. Skripte
5. Vektoren und Matrizen
6. Verwendung der Hilfe
7. Erstellen von Reports mit Hilfe der Publishing-Funktion
18
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Ein Skript beinhaltet eine Sammlung von Befehlen, die nacheinander ausgeführt werden
Erstellung eines Skripts über den Button „New Script“ im Tab „HOME“ ( Shortcut (Strg)+(N) )
Bearbeitung des Skripts im Editor, welcher sich automatisch öffnet
Ausführung des kompletten Skripts mit (F5) oder der momentan markierten Befehle mit (F9)
Skripte müssen vor dem ausführen in einer .m-Datei gespeichert werden
Tipp: Ein Semikolon (;) am Ende einer Zeile unterdrückt die Ausgabe
4 Skripte
Matlab-Seminar: Grundlagen 4 Skripte
19
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Kommentare machen den Code deutlich leichter lesbar und nachvollziehbarer
Einfache Kommentare
Blockkommentare
Von nun an werden alle Skripte kommentiert. Dies gilt insbesondere für abzugebende Übungsaufgaben
Kommentare
Matlab-Seminar: Grundlagen 4 Skripte
% Dies ist ein Test für einen einfachen Kommentar.
% Dies auch.
sin(x)
%{
Dies ist ein Test für einen Blockkommentar.
Ein Blockkommentar kann über mehrere Zeilen gehen.
%}
sin(x)
20
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Matlab-Seminar: Grundlagen 4 Skripte
Beispiel für ein Skript:
Ausgabe:
Beiden Variablen im Skript sind vom Typ String, welche Text speichern können
Zur Unterscheidung von Variablen mit unterschiedlichem Datentyp, sollte man bezeichnende Variablennamen wählen (Hier str_ ... )
str_HalloWelt = 'Hallo Welt';
str_meinSkript = 'Dies ist mein erstes Skript';
disp(str_HalloWelt); %disp gibt den Wert einer Variablen im Command Window aus
disp(str_meinSkript);
>> Mein_Skript
Hallo Welt
Dies ist mein erstes Skript
21
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Agenda
1. Organisatorisches
2. Einführung in MATLAB
3. Syntax
4. Skripte
5. Vektoren und Matrizen
6. Verwendung der Hilfe
7. Erstellen von Reports mit Hilfe der Publishing-Funktion
22
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
5 Vektoren und Matrizen
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
% Definition eines Zeilenvektors
>> z = [1 2 3] % oder z=[1,2,3]
z =
1 2 3
% Definition eines Spaltenvektors
>> s = [1;2;3]
s =
1
2
3
% Definition einer Matrix
A = [1 2;3 4]
A =
1 2
3 4
% Transponieren
>> A' % oder transpose(A)
ans =
1 3
2 4
23
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Addition (+), Subtraktion (−) und Multiplikation (∗) funktionieren für Vektoren und Matrizen wie gewohnt, falls die Dimensionen übereinstimmen
Die Division (/) für Matrizen ist als das Lösen von Gleichungssystemen definiert
Zusätzlich ist für Matrizen der \–Operator definiert, falls die Dimensionen übereinstimmen
Die Lösung der Gleichungssysteme ist mit / und \ schneller als über die Inverse A^(-1). Zudem sind diese Operatoren auch für nicht invertierbare und nicht quadratische Matrizen definiert
Vorsicht: MATLAB gibt auch bei nicht lösbaren Gleichungssystemen eine Lösung zurück
Rechenoperationen für Matrizen
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
% Definition der Koeffizientenmatrix
A = [1 2;3 4];
% Definition der rechten Seite
b = [5;10];
% Lösung des Gleichungssystems xA=b
x = A/b;
% Alternativ würde hier auch x=b*A^(-1) gehen
% Definition der Koeffizientenmatrix
A = [1 2;3 4];
% Definition der rechten Seite
b = [5;10];
% Lösung des Gleichungssystems Ax=b
x = A\b;
% Alternativ würde hier auch x=A^(-1)*b gehen
Least Square
24
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Die meisten mathematischen Funktionen sind auch für Vektoren und Matrizen definiert. Diese werden auf jedes Element angewandt
Die Multiplikation (∗), die Division (/) und das Potenzieren (^) können ebenfalls elementweise auf Vektoren und Matrizen angewandt werden, falls deren Dimensionen übereinstimmen. Dazu wird der Punktoperator (.) verwendet
Elementweise Operationen und Funktionen
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
>> A = [1 2;3 4];
>> sin(A) % Der Sinus wird auf jedes Element von A angewandt
ans =
0.8415 0.9093
0.1411 -0.7568
>> A = [1 2;3 4];
>> B = [5 6;7 8];
>> A.*B % A und B werden elementweise multipliziert.
ans =
5 12
21 32
25
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
Mit der Addition (+), der Subtraktion (−), der Multiplikation (∗) und der Division (/) können auch Skalare mit Matrizen bzw. Vektoren verknüpft werden. Die Rechenoperation wird dann mit jedem Element der Matrix bzw. des Vektors und dem Skalar ausgeführt
Vorsicht: Skalar hoch Matrix potenziert nicht elementweise. Dafür muss (.^) verwendet werden
>> A = [1 2;3 4];
>> A+5 % Addition von Matrix und Skalar
ans =
6 7
8 9
>> A/0.5 % Alternativ 0.5\A, 0.5/A funktioniert NICHT
ans =
2 4
6 8
26
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Spezielle Vektoren und Matrizen
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
>> x = 1:8 % Erzeuge Zeilenvektor mit Elementen zwischen 1 und 8
x =
1 2 3 4 5 6 7 8
>> x = 1:2:8 % Erzeuge Zeilenvektor mit Elementen zwischen 1 und 8 und
Schrittweite 2
x =
1 3 5 7
>> A = eye(2) % Erzeuge Einheitsmatrix
A =
1 0
0 1
>> B = zeros(2,3) % Erzeuge eine Nullmatrix
B =
0 0 0
0 0 0
% Analog erzeugt B=ones(2,3) eine 2x3-Matrix deren Elemente alle den Wert 1
% besitzen
27
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Indizierung
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
>> A = [1 2 3 4;5 6 7 8];
>> A(2,3) % Indizierung über Subskripte, d. h. Zeilen und Spalten
ans =
7
>> A(1,:) % : bedeutet alle Indizes
ans =
1 2 3 4
>> A(3) % Linearer Index
ans =
2
>> A(2,2:end)
ans =
6 7 8
𝐴 =1 2 3 45 6 7 8
28
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
Dies sollte möglichst vermieden werden. Solche Zuweisungen verringern die Rechengeschwindigkeit und sind fehleranfällig
>> A = [1 2 3 4;5 6 7 8];
>> A(1,5) = 5 % Greift auf ein (noch) nicht vorhandenes Element zu
A =
1 2 3 4 5
5 6 7 8 0
𝐴 =
1 2 3 45 6 7 8
29
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Über „open Variable“ im Home Menü kann man eine Variable im Variables Editor öffnen
Alternativ: Doppelklick auf die Variable im „Workspace“
Der Variables Editor ermöglicht eine komfortable Anzeige und Bearbeitung von Variablen
Dies bietet sich vor allem bei Matrizen und Vektoren an
Variables Editor
Matlab-Seminar: Grundlagen 5 Vektoren und Matrizen
30
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Agenda
1. Organisatorisches
2. Einführung in MATLAB
3. Syntax
4. Skripte
5. Vektoren und Matrizen
6. Verwendung der Hilfe
7. Erstellen von Reports mit Hilfe der Publishing-Funktion
31
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
MATLAB verfügt über eine umfangreiche Hilfe, die im Help Browser angezeigt wird (Aufruf mit F1)
Tipp: Steht der Cursor innerhalb eines Wortes, wird dieses beim Drücken von F1 direkt nachgeschlagen
Mathworks Documentation Center http://www.mathworks.com/help/matlab/
Lehrbücher
Grupp, F. und F. Grupp (2010): MATLAB 7 für Ingenieure. 5. Aufl., Oldenbourg, München.
Schweizer, W. (2013): MATLAB kompakt. 5. Aufl., Oldenbourg, München.
Skripte
Eine Einführung in MATLAB (Günter Gramlich) https://www.hs-ulm.de/users/gramlich/EinfMATLAB.pdf
Matlab Primer (MathWorks) www.mathworks.com/help/pdf_doc/matlab/getstart.pdf
Weitere Quellen sind über Suchmaschinen zu finden
6 Verwendung der Hilfe
Matlab-Seminar: Grundlagen 6 Verwendung der Hilfe
32
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Beispiel aus der MATLAB-Hilfe
Matlab-Seminar: Grundlagen 6 Verwendung der Hilfe
>> x=[1 5 -1 2 3];
>> M = max(x)
M =
5
>> [M,I] = max(x)
M =
5
I =
2
>> [~,I] = max(x)
I =
2
33
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Agenda
1. Organisatorisches
2. Einführung in MATLAB
3. Syntax
4. Skripte
5. Vektoren und Matrizen
6. Verwendung der Hilfe
7. Erstellen von Reports mit Hilfe der Publishing-Funktion
34
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Reports
Veröffentlichen von Code inklusive Kommentaren und Output
„Lesbare“ externe Dokumentation
Teilen von Code zu Unterrichts- oder Demonstrationszwecken
Anleitung: https://de.mathworks.com/help/matlab/matlab_prog/publishing-matlab-code.html Vorgehen:
Erstellen Sie ein Skript
Unterteilen Sie (bei Bedarf) den Code in Abschnitte
Dokumentieren Sie den Code zu Beginn des Files und zu Beginn jedes Abschnitts
Formatierungsmöglichkeiten:
%% Titel
_Text_ kursiver Text
etc.
Veröffentlichung: Publish Tab
Standardformat: HTML
Für das Seminar ab jetzt: Abgabeformat HTML
7 Erstellen eines Reports
Matlab-Seminar: Grundlagen 7 Erstellen von Reports mit Hilfe der Publishing-Funktion
35
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Matlab-Seminar: Grundlagen 7 Erstellen von Reports mit Hilfe der Publishing-Funktion
http://www.mathworks.com/help/matlab/matlab_prog/marking-up-matlab-comments-for-publishing.html
36
Univ.-Prof. Dr. Jochen Gönsch, Benedikt Finnah, Davina Hartmann Lehrstuhl für BWL, insb. Service Operations
Matlab-Seminar WiSe 2018/19
Erzeugen Sie nun eine Test-Abgabe einer Aufgabe zu einem Aufgabenblatt
Der Titel lautet „Aufgabenblatt 0, Gruppe <Gruppennummer>, Aufgabe 1“
Gegeben sind die folgenden Lösungen:
Aufgabe 1.a): Die Lösung besteht nur aus dem Text „MATLAB-Skripte können mithilfe der Publish-Funktion in einer ansprechenden Form veröffentlicht werden.“
Aufgabe 1.b): Die Lösung ist der Befehl x=rand(1,5). Die Ausgabe des Vektors 𝑥 soll im Report sichtbar sein und unter der Ausgabe noch der folgende Text erscheinen „rand erzeugt [0,1] gleichverteilte Zufallszahlen.“
Aufgabe 1.c): Die Lösung ist der Befehl y=sort(x). Die Ausgabe der Vektors 𝑥 soll im Report sichtbar sein und unter der Ausgabe noch der folgende Text erscheinen „sort sortiert die Elemente von 𝑥 in aufsteigender Reihenfolge.“
Test-Aufgabenblatt
Matlab-Seminar: Grundlagen 7 Erstellen von Reports mit Hilfe der Publishing-Funktion