MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1...

32
Begleitendes Skript zum Lernpaket: Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs

Transcript of MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1...

Page 1: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

Begleitendes Skript zum Lernpaket: Numerik 1 - Hamburg 2016

André Naß

MATLAB – Skript 1

Grundlagenkurs

Page 2: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

MATLAB Modul A

Dieses Lernpaket befasst sich mit der Computersoftware MATLAB. In diesem Grundlagenkurs vermittle ich Dir den grundlegenden Umgang mit MAT-LAB, gängige Rechenoperationen, Vektor- und Matrixrechnungen und einige ver-schiedene Tipps für den Umgang mit dieser Software. Begleitend zu diesem Skript gibt es auch eine Videoreihe, in welcher ich den Inhalt dieses Skriptes visuell aufbereitet habe.

Der Name SCIENZLESS deutet darauf, dass meine Lernunterlagen sich deutlich

von der herkömmlichen trockenen Lektüre im Ingenieurstudium differenzieren. Da-her nimm es mir bitte nicht krumm, wenn ich an der ein oder anderen Stelle auf Umgangssprache zurückgreife und die „mathematical correctness“ zugunsten der Anschaulichkeit hintenangestellt wird. Für jedes Feedback zu diesem Lernpaket bin ich sehr dankbar. Ich bin stets be-müht die Lernunterlagen so anschaulich wie möglich zu gestalten. Daher freue ich mich über jede Rückmeldung, Meinung sowie Anregung und selbstverständlich auch inhaltliche Fragen zu diesem Lernpaket. Alle weiteren Informationen erhältst du unter den unten angegebenen Adressen, Viel Spaß mit diesem Lernpaket!

André Naß

Page 3: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

1

Inhaltsverzeichnis

Inhaltsverzeichnis ................................................................................................ 1

1 Häufig ist MATLAB… .................................................................................... 2

2 Wie gehen wir vor? ....................................................................................... 3

2.1 Aufbau des Anwendungsfensters ........................................................................................... 3

3 MATLAB als einfacher Taschenrechner ...................................................... 5

4 Don’t call it Schn!tzel .................................................................................... 7

4.1 Variablen definieren ....................................................................................................................... 7

4.2 Variablen speichern ....................................................................................................................... 9

4.3 Variablen löschen und laden ..................................................................................................... 9

5 Eingebaute Funktionen ............................................................................... 11

6 Darstellung von numerischen Ergebnissen ............................................. 13

7 Komplexe Zahlen ........................................................................................ 14

8 Vektoren ....................................................................................................... 16

8.1 Vektoren definieren ..................................................................................................................... 16

8.2 Vektoren addieren und subtrahieren .................................................................................. 18

8.3 Elementweise Operationen ..................................................................................................... 19

8.4 Vektoren Multiplizieren .............................................................................................................. 20

9 Matrizen ........................................................................................................ 23

9.1 Matrizen definieren ...................................................................................................................... 23

9.2 Auf Matrixelemente zugreifen ................................................................................................ 24

9.3 Matrizen addieren und subtrahieren ................................................................................... 24

9.4 Elementweise Operationen ..................................................................................................... 25

9.5 Matrizen transponieren, invertieren & Eigenwerte ....................................................... 26

9.6 Matrizen multiplizieren ............................................................................................................... 28

Anhang – Vektor- und Matrixrechnung ............................................................ 30

Page 4: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

2

1 Häufig ist MATLAB…

nicht gerade der beliebteste Begleiter im Ingenieurstudium. Meine Erfahrung hat gezeigt,

dass für die meisten Studenten das Arbeiten mit MATLAB oft nur ein notwendiges Übel

darstellt. Und da nehme ich mich selbst gar nicht aus. Dies liegt natürlich auch immer daran,

wie man an die Arbeit mit diesem Programm herangeführt wird. Nicht selten heißt es: „Ab

nächster Woche arbeiten wir mit MATLAB, also eignen sie sich vorab die grundlegenden

Fertigkeiten an“. Eine Möglichkeit, Dich schnell und effizient im Umgang mit MATLAB zu

schulen, findest Du mit diesem Skript.

In diesem Modul geht es in erster Linie darum, die grundlegenden Rechenoperationen aus-

führen zu können. Nach diesem Lernpaket bist Du dazu in der Lage

sowohl die grundlegenden Rechenoperationen als auch alle eingebauten Funktio-

nen von MATLAB zu nutzen

Variablen zu erstellen, zu speichern, zu löschen und zu laden

mit komplexen Zahlen in MATLAB zu arbeiten

vollumfänglich mit Vektoren und Matrizen zu arbeiten

mit Deinem fundierten Basiswissen alle weiterführenden Informationen durch

Selbststudium anzueignen

Wenn Du also aktuell an dem Punkt bist - „ich habe keinen wirklichen Plan von MATLAB,

möchte aber jetzt ein fundiertes Grundlagenwissen aufbauen“ – ist dieses Skript genau

richtig. Als Motivation habe ich den gesamten Inhalt auf weniger als 30 Seiten zusammen-

gefasst und versucht, diese auch möglichst anschaulich und interessant zu gestalten. Ich

schätze da kommt uns der anwendungsfreundliche Charakter dieses Skriptes zugute.

Also starten wir direkt mit Wissenswertem. Was ist denn MATLAB genau?

MATLAB ist eine Software zur numerischen Berechnung von Problemen und zur grafischen

Darstellung der Ergebnisse. Der Name MATrix LABoratory verdeutlicht, wo die Stärke die-

ses Programmes liegt - und zwar in der numerischen Berechnung mittels Matrizen. Damit

findet MATLAB in vielen technisch wissenschaftlichen Bereichen Anwendung und ist auch

ein essentieller Bestandteil vieler (Grundlagen-) Vorlesungen im Ingenieurstudium. MAT-

LAB ist nicht primär darauf ausgelegt Gleichungen mit Unbekannten zu bestimmen oder

Integrale zu berechnen. Dafür gibt es „mittlerweile“ auch einige Ergänzungspakete (soge-

nannte Toolboxes), welche wir aber in diesem Grundlagenkurs nicht betrachten.

Page 5: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

3

2 Wie gehen wir vor?

Als erstes werfen wir einen kurzen Blick auf die Oberfläche von MATLAB und starten da-

nach auch direkt mit den Beispielen.

Zuvor möchte ich Dir jedoch zeigen, welche verschiedenen Einträge ich in dieses Skript

eingebaut habe:

- Beispielcodes

Einige Beispiele für MATLAB- Codes habe ich direkt in das Skript integriert. Diese

erkennst Du daran, dass sie mit einem schwarz gepunkteten Rahmen gekennzeich-

net sind. Die Beispielcodes sind fortlaufen nummeriert.

- >> Eingaben

Die Eingaben in den Beispielcodes sind orange hervorgehoben. Es bietet sich an

diese Eingabe parallel am eigenen Rechner einzutippen, da das Skript „interaktiv“

aufgebaut ist und häufig auf die Eingaben eingegangen wird.

- Kommentare

Kommentare, welche sich in der Eingabe befinden, sind grün gekennzeichnet.

- Fehlermeldungen

Die Fehlermeldungen, welche MATLAB ab und an mal ausgibt, erkennst Du an der

roten Schrift.

- Befehle & Variablen

An dieser Schriftart erkennst du MATLAB- Befehle und definierte Variablen.

- Hinweise

Ich habe an verschiedenen Stellen kurze Hinweise eingefügt, welche Dir bei dem

Umgang mit MATLAB behilflich sein könnten.

- Gleichungen

Da MATLAB nicht über die schönste Darstellung von Gleichungen, Vektoren und

Matrizen verfügt, habe ich an manchen Stellen kurze Gleichungen zur Anschauung

eingefügt. Die Gleichungen sind mit Buchstaben kenntlich gemacht.

Dieses Skript ist interaktiv aufgebaut: Das bedeutet, dass Du den größten Lernerfolg hast,

wenn du die angegebenen Beispielcodes parallel eintippst und ausführst. Am effektivsten

lernt man den Umgang mit der Software natürlich, wenn man einfach verschiedene Dinge

ausprobiert. Also halte Dich nicht nur an die Beispielaufgaben aus diesem Skript, sondern

experimentiere von Anfang an frei drauf los.

2.1 Aufbau des Anwendungsfensters

Nun betrachten wir den Aufbau des Anwendungsfensters, um zu wissen, wo wir uns die

nächste Zeit aufhalten werden.

Page 6: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

4

Nachdem wir MATLAB geöffnet haben, erscheint das in Abbildung 1 dargestellte Anwen-

dungsfenster. Je nachdem, welche MATLAB- Version Du nutzt, kann dieses etwas anders

aussehen, was uns aber keine Probleme bereiten dürfte, da dieses Skript für alle gängigen

Versionen ausgelegt ist. Also überprüfe kurz, ob Du die beiden in Abbildung 1 gekenn-

zeichneten Bereiche bei Deiner Version wiedererkennst und dann kann es auch schon los-

gehen.

Abbildung 1: Das Anwendungsfenster

Für diese Einführung benötigen wir nur diese beiden Bereiche. Diese beinhalten:

Das Command Window: Hier geben wir unsere Befehle ein.

Der Workspace: hier haben wir eine Übersicht über unsere bisher verwendeten Va-

riablen.

Hinweis: Wie Abbildung 2 zeigt, kann man über den Reiter Layout zwischen verschiede-

nen vorgespeicherten Aufteilungen der Benutzeroberfläche auswählen. Suche Dir dort ein-

fach eine beliebige Einstellung aus.

(Je nach MATLAB- Version unterscheiden sich die Layout- Vorschläge.)

Abbildung 2: Ein voreingestelltes Layout auswählen

Page 7: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

5

3 MATLAB als einfacher Taschenrechner

Nach diesem Kapitel bist du dazu in der Lage, mit MATLAB alle Rechenoperationen aus-

zuführen, welche auch mit dem in Abbildung 3 dargestellten Taschenrechner möglich sind.

Klingt erstmal nicht sonderlich spektakulär, aber wir wollen den Spannungsbogen dieses

Skriptes ja langsam aufbauen. Also kannst Du Dich drauf einstellen, dass wir nicht auf dem

Stand eines 2€- Wegwerf- Taschenrechners bleiben.

Abbildung 3: Taschenrechner mit grundlegenden Rechenoperationen

Zunächst interessieren uns also nur die grundlegenden Rechenoperationen. Dazu zählen

in erster Linie die Addition, Subtraktion, Multiplikation, Division und Potenzrechnung. Die

Eingabe dieser Rechenoperationen erfolgt in MATLAB mit Hilfe der in Abbildung 3 hervor-

gehobenen Symbole.

Unser erstes Zahlenbeispiel ist in Gleichung A aufgeführt.

183 5

6 (A)

Die Eingabe dieser Gleichung in MATLAB sieht dann wie folgt aus:

>> 18/6+3*5

ans =

18

(1)

Wir stellen zunächst drei Dinge fest:

Die Oberfläche von MATLAB ist nicht sonderlich hübsch. Schöne Darstellungen von

Brüchen und Matrizen sind also schon mal nicht die Kernkompetenz von MATLAB.

Wir stellen des Weiteren fest, dass das Ergebnis in MATLAB mit „ans = “ bezeichnet

und kenntlich gemacht wird.

Und wir erkennen auch, dass MATLAB die Regel „Punkt vor Strich Rechnung“ ver-

innerlicht hat.

Page 8: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

6

Wollen wir lieber erst die Addition und dann die Multiplikation durchführen, können wir dies

unter Zuhilfenahme von Klammern realisieren.

>> (18/6+3)*5

ans =

30

(2)

Um Potenzrechnungen durchzuführen, nutzen wir das Caret- Symbol. Dabei berücksichti-

gen wir, dass Potenzberechnungen vor Punktrechnungen ausgeführt werden.

>> 5*2^3

ans =

40

(3)

Vielleicht hast Du Dich bereits einmal beim Eintippen der Beispielcodes verschrieben. Falls

ja, hast du vermutlich festgestellt, dass die Eingaben, welche wir mit Enter bestätigt haben,

nicht mehr korrigieren können. Eine wirkliche Korrektur der Anzeige im Command Window

kann man also nicht durchführen, sondern man gibt den korrigierten Befehl erneut ein und

drückt Enter.

Hinweis: Befindest du Dich in der Eingabezeile des Command Windows, kannst Du Deine

letzten Eingaben aufrufen, indem Du die Pfeiltaste ↑ drückst. Hier kannst Du dann auch

noch Änderungen der Eingabe vornehmen (bspw. Tippfehler korrigieren).

Wenn wir eine fehlerhafte Eingabe tätigen, lässt uns MATLAB das direkt durch eine Feh-

lermeldung spüren. Dies ist für uns von Vorteil, da wir so darauf schließen können, was wir

falsch gemacht haben. Dazu betrachten wir das Beispiel 4.

Häufig lässt man beim Rechnen von Hand das Malzeichen weg. Dies ist in MATLAB nicht

möglich, da sonst eine Fehlermeldung ausgegeben wird.

>> 5(18/3+2)

5(18/3+2)

|

Error: Unbalanced or unexpected

parenthesis or bracket.

(4)

Hinweis: Wenn Du auf einen coolen Abgang stehst, kannst Du mit dem Befehl quit MAT-

LAB schließen. Du solltest jedoch darauf achten, gegebenenfalls zuvor zu speichern.

Page 9: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

7

4 Don’t call it Schn!tzel

In diesem Kapitel betrachten wir alles was Du grundlegend über Variablen wissen musst.

Für Zahlenwerte, Vektoren oder Matrizen, welche Du häufiger benötigst, bietet es sich an,

diesen Größen einen Variablennamen zuzuweisen. Somit ersparen wir uns einiges an Zeit,

da wir beispielsweise die gleiche Matrix nicht jedes Mal wieder komplett eintippen müssen.

4.1 Variablen definieren

Eine Variable definieren wir einfach, indem wir einer Zahl oder einem Term einen Namen

zuordnen. Dies können beispielsweise die Variablennamen var1 und var2 sein, wie Bei-

spielcode 5 zeigt.

>> var1=22, var2=4^3

var1 =

22

var2 =

64

(5)

Hinweis: Du hast die Möglichkeit auch mehrere Eingaben in eine Zeile zu schreiben. Dabei

verwendet man ein Komma zum Trennen der Eingaben. Verwendet man anstelle des Kom-

mas einen Strichpunkt, so werden die Ergebnisse zwar berechnet, jedoch nicht im Com-

mand Window angezeigt.

>> a=22; b=4^3;

Nun können wir einfach mit dem Variablennamen anstelle des Zahlenwertes oder des

Terms rechnen.

>> var3=var1-2*var2

ans =

-106

(6)

Für die Wahl des Variablennamens gelten folgende Regeln:

Der Name setzt sich immer aus Buchstaben und Zahlen zusammen, wobei das

erste Zeichen ein Buchstabe sein muss.

Der Variablenname darf keine Sonderzeichen außer dem Unterstrich enthalten.

Variablennamen besitzen maximal 19 Zeichen (Dieser Wert kann von Version zu

Version unterschiedlich sein). Geben wir einen längeren Namen ein, wird dieser

nach dem 19 Zeichen abgeschnitten.

MATLAB unterscheidet zwischen Groß- und Kleinschreibung.

o Du kannst also den Variablen A und a unterschiedliche Werte zuweisen.

Verwendet man den gleichen Variablennamen erneut, wird der alte Wert der Vari-

ablen durch den neuen Wert überschreiben. Die letzte Wertzuweisung gilt.

Page 10: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

8

MATLAB besitzt von Haus aus vordefinierte Variablennamen (Tabelle 1), welche wir

nicht für unsere eigenen Variablen verwenden.

Bereits vergebene Variablen Bedeutung

ans

computer

eps

i

Inf

j

NaN

pi

Bezeichnet das Ergebnis unserer Berech-

nung

Identifiziert

Maschinengenauigkeit

Imaginäre Einheit

Unendlich

Imaginäre Einheit

Not-a-Number

Kreiszahl

Tabelle 1: Bereits vergebene Variablen

Mit dem MATLAB- Befehl who kannst Du Dir, die von Dir zugewiesenen Variablen im Com-

mand Window anzeigen lassen.

>> who

Your variables are:

var1 var2 var3

(7)

Ansonsten sind diese auch jeder Zeit im Workspace einzusehen (vgl. Abbildung 4).

Abbildung 4: Eigene Variablen im Workspace

Hinweis: Solltest Du zu irgendeinem MATLAB- Befehl mehr Informationen benötigen,

kannst Du diesen Befehl in der Eingabezeile eingeben und help davor schreiben. Für un-

seren who- Befehl gibt MATLAB uns dann die folgenden Informationen:

>> help who

who List current variables.

who lists the variables in the current workspace.

In a nested function, […]

Page 11: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

9

4.2 Variablen speichern

Um Deine Variablen zu speichern, kannst Du zum einen in der Menüleiste unter Variable

(bei manchen Versionen auch unter File) → Save Workspace das Dokument unter einem

beliebigen Namen und Pfad speichern. Eine schnellere Methode bietet der Befehl save,

welcher das Worksheet automatisch speichert und den Pfad dazu angibt. Wer seinen Spei-

cherort selbst bestimmen will, kann diesen auch zusätzlich hinter save angeben. MATLAB

ergänzt dann automatisch die Endung .mat an den Dateinamen.

>> save

Saving to: C:\Users\Andre\Documents\MAT-

LAB\matlab.mat

>> save c:\scienzless\matlab\einführungskurs

(8)

Den Ordner, indem das aktuell geöffneten Worksheet hinterlegt ist, kannst Du mit dem Be-

fehl pwd abrufen:

>> pwd

ans =

C:\Users\Andre\Documents\MATLAB

(9)

4.3 Variablen löschen und laden

Es besteht die Möglichkeit gezielt einzelne Variablen zu löschen, indem Du den Befehl

clear unter Angabe der zu entfernenden Variable angibst. So können wir beispielsweise

var3 aus dem Workspace entfernen.

>> clear var3 (10)

Möchtest Du einer Variable einen neuen Wert zuweisen, musst Du diese nicht zuvor lö-

schen, sondern kannst sie einfach überschreiben. Wie Beispielcode 11 zeigt, verwendet

MATLAB immer die letzte Zuweisung. Die Variable var2 wird so von 64 auf 33 gesetzt.

>> var2

var2 =

64

>> var2=33

var2 =

33

(11)

Du kannst auch alle Variablen gleichzeitig aus dem Workspace löschen indem Du clear

ohne Angabe eines Variablennamens verwendest.

Page 12: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

10

>> clear (12)

Nachdem wir den gesamten Workspace gelöscht haben, definieren wir wieder zwei Variab-

len. Zum einen die Variable var3, welche diesmal den Wert 10 erhält. Und die Variable

var4 mit dem Wert -3.

>> var3=10

>> var4=-3

(13)

Mit dem Befehl load werden alle Variablen, die in dem Worksheet zuvor gespeichert wur-

den, wieder in den Workspace aufgenommen. Diesen Befehl führen wir einmal aus.

>> load (14)

Wir beobachten, dass alle Variablen, welche wir bis zu dem Zeitpunkt des Speicherns (Bei-

spielcode 8) definiert haben, wieder im Workspace aufgelistet sind. Ferner beobachten wir

auch, dass

die Variable var2 wieder den Wert 64, besitzt, da dies die letzte Zuweisung vor

dem Speichern war.

die Variable var3 (, welche wir in Beispielcode 13 erneut definiert haben,) durch

den load- Befehl wieder überschrieben wurde und den Wert -106 besitzt.

die Variable var4 unverändert im Workspace vorhanden ist.

Generell kann man festhalten: Die letzte Zuweisung des Variablenwertes zählt!

Um mit einer Variablen rechnen zu können, muss der Variable zuvor ein Wert zugewiesen

werden. Rechnen wir beispielsweise mit der Variablen a, welche wir nicht zuvor definiert

haben, folgt eine Fehlermeldung.

>> a+3

Undefined function or variable

'a'.

(15)

Hinweis: Du hast auch die Möglichkeiten, Kommentare im Command Window einzugeben,

welche nicht für die Berechnung berücksichtig werden. Dies wird häufig genutzt, um Pro-

grammcodes in MATLAB zu kommentieren. An dieser Stelle auch der folgende Praxistipp:

Falls Du in einer Klausur mit MATLAB arbeitest, kannst Du mit Kommentaren kurze Erklä-

rungen zu Deinen Gedankengängen einfügen. Somit kannst Du dann auch Punkte für Dein

Vorgehen rechtfertigen – ansonsten hat der Korrekteur nur Deine (ggf. falschen) Rechen-

ergebnisse als Bewertungsgrundlage. Die Kommentare werden durch ein Prozentzeichen

eingeleitet

>> 18/6+3*5; %Memo an mich: morgen den Müll rausbringen

Page 13: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

11

5 Eingebaute Funktionen

Wie versprochen geben wir uns nicht mit dem Taschenrechner aus Abbildung 3 zufrieden.

Nach diesem Kapitel bist Du dazu in der Lage, die in MATLAB eingebauten Funktionen zu

nutzen. Darunter zählen unter anderem die Trigonometrischen Funktionen Sinus, Cosinus

sowie Logarithmus-, Wurzelfunktionen und viele mehr. Dies entspricht dann auch dem un-

gefähren Stand von Taschenrechnern, die noch in Klausuren zugelassen sind (vgl. Abbil-

dung 5)

Abbildung 5: Taschenrechner mit eingebauten Funktionen

In diesem Kapitel gehen wir die wichtigsten eingebauten Funktionen einfach nach und nach

durch. So einfach wie die Nutzung dieser Funktionen am Taschenrechner, ist auch die Um-

setzung dieser in MATLAB. Daher benötigen wir in diesem Kapitel auch keine großen De-

finitionen und Erklärungen.

sin( )x bestimmen → sin( )

>> sin(180)

ans =

-0.8012

(16)

cos( )x bestimmen → cos( )

>> cos(pi)

ans =

-1

(17)

Page 14: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

12

Hinweis: Das Argument in den Klammern des Sinus und Cosinus muss im Bogenmaß an-

gegeben werden.

x bestimmen → sqrt( )

>> sqrt(2)

ans =

1.4142

(18)

xe bestimmen → exp( )

>> exp(2)

ans =

7.3891

(19)

log( )x bestimmen → log( )

>> log(exp(22)) %natürlicher Log

ans =

22

(20)

10log ( )x bestimmen → log10( )

>> log10(exp(22)) %10er Log

ans =

9.5545

(21)

Bemerkung: Alle eingebauten Funktionen in diesem Skript aufzulisten würde natürlich den

Rahmen sprengen. Aber an dieser Stelle hat MATLAB einen genialen Befehl für uns: Durch

Eingabe von >> help elfun in das Command Window werden Dir alle eingebauten

Funktionen mit einer kurzen Erklärung angezeigt.

Page 15: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

13

6 Darstellung von numerischen Ergebnissen

In diesem Kapitel gehen wir kurz auf die unterschiedlichen Darstellungen der numerischen

Ergebnisse ein. Ganzzahlige Werte werden standardmäßig als Zahl ohne Nachkommastel-

len angezeigt.

>> 12/4

ans=

3

(22)

Dezimalzahlen hingegen werden mit vier Nachkommastellen dargestellt.

>> 12/7

ans=

1.7143

(23)

Möchtest Du mehr Nachkommastellen angezeigt bekommen, ist dies über den Befehl for-

mat long möglich. Hierbei ist es wichtig zu bemerken, dass sich lediglich die Anzeige im

Command Window ändert, die interne Darstellung des Wertes bleibt unverändert.

>> format long

>> 12/7

ans =

1.714285714285714

(24)

Um wieder auf die Darstellung mit 4 Nachkommastellen zu wechseln, dient der Befehl for-

mat short.

Hinweis: Die Eingabe von Kommazahlen erfolgt (wie im englischen üblich) durch einen

Punkt.

>> 1/2

ans =

0.5000

Page 16: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

14

7 Komplexe Zahlen

Auch den unbeliebten Komplexen Zahlen widmen wir ein kurzes Kapitel. Wir erinnern uns,

dass eine Komplexe Zahl aus einem Real- und einem Imaginäranteil besteht. Für die Ein-

gabe in MATLAB müssen wir lediglich den imaginären Anteil der komplexen Zahl durch die

Multiplikation mit i oder j definieren.

>> komplex_1=5+3*j

komplex_1 =

5.0000 + 3.0000i

>> komplex_2=2-5*j

komplex_1 =

2.0000 - 5.0000i

(25)

Alle zuvor vorgestellten Rechenoperationen können wir auch mit unseren komplexen Zah-

len durchführen (vgl. Beispielcode 26 und 27).

Addition zweier komplexen Zahlen

>> x=komplex_1+komplex_2

x =

7.0000 - 2.0000i

(26)

Wurzel einer komplexen Zahl bestimmen

>> sqrt(komplex_1)

ans =

2.3271 + 0.6446i

(27)

Zudem stelle ich Dir noch drei weitere Befehle vor, welche für den Umgang mit komplexen

Zahlen häufig benötigt werden.

Eine konjugiert komplexe Zahl bilden → conj( )

>> conj(komplex_2)

ans =

2.0000 + 5.0000i

(28)

Page 17: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

15

Absolutbetrag einer komplexen Zahl bestimmen → abs( )

>> abs(komplex_1)

ans =

5.3852

(29)

Phasenwinkel bestimmen → angle( )

>> angle(komplex_2)

ans =

-1.1903

(30)

Bei der Nutzung dieses Befehls müssen wir wieder beachten, dass der Winkel im Bogen-

maß angegeben wird.

Und das soll es auch gewesen sein mit den grundlegenden Informationen über komplexe

Zahlen.

Page 18: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

16

8 Vektoren

Langsam kommen wir an einen Punkt, an dem die handelsüblichen Taschenrechner an ihre

Grenzen stoßen. In diesem Kapitel schauen wir uns Vektoren an. Und genau hier liegt die

Stärke von MATLAB, wie der Name MATrix LABoratorium vermuten lässt. Vektoren kön-

nen auch als Matrizen aufgefasst werden. Ich habe mich dennoch entschlossen, zunächst

nur Vektoren zu betrachten, da wir auf die diese Weise viele vektortypische Rechnungen

genau durchgehen können und im folgenden Kapitel die Gemeinsamkeiten zu den Matrizen

sehr gut zu Geltung kommen.

Hinweis: Im Anhang dieses Skriptes habe ich eine Übersicht hinzugefügt, welche nochmals

genau darauf eingeht, welche Vektoren (und Matrizen) miteinander addiert, subtrahiert und

multipliziert werden dürfen.

8.1 Vektoren definieren

Als erstes definieren wir den Zeilenvektor 1x aus Gleichung B in MATLAB, indem wir die

Komponenten des Vektors in eckige Klammern schreiben. Die einzelnen Komponenten

werden durch ein Leerzeichen getrennt.

1 2 3 9 4x , 2

2

3

9

4

x

(B)

>> x1=[2 -3 9 4]

x =

2 -3 9 4

(31)

Den Spaltenvektor 2x definieren wir, indem wir hinter die eckige Klammer ein Hoch-

komma anfügen, sodass der Zeilenvektor transponiert wird.

>> x2=[2 -3 9 4]' %Zeilenvektor transponieren

x2 =

2

-3

9

4

(32)

Page 19: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

17

Hinweis: Es ist auch möglich den Spaltenvektor direkt einzugeben, wie der folgende Bei-

spielcode zeigt

>> x2=[2; -3; 9; 4]

x2 =

2

-3

9

4

Auch, wenn MATLAB keine schöne Darstellung der Vektoren liefert, erfreuen wir uns zu-

mindest an der optischen Unterscheidung zwischen Zeilen- und Spaltenvektoren.

Häufig weisen die Einträge von Vektoren eine gewisse Regelmäßigkeit auf. Das nutzen wir

natürlich aus, um uns das Leben leichter zu machen. Und zwar, wenn die Einträge des

Vektors einen regelmäßigen Abstand besitzen, ist es nicht notwendig jeden Wert einzeln

anzugeben. Wie das Ganze aussehen kann, zeigt uns der Vektor u.

4 6 8 10 12u (C)

Um den Vektor u zu definieren benötigen wir nur den Startwert 4, die Schrittweite 2 (da das

nächste Vektorelement stets um 2 erhöht wird) und den Endwert 12. Mit der in Beispielcode

30 dargestellten Schreibweise definieren wir: Starte mit dem Wert 4 und gehe in 2er Schrit-

ten bis zu dem Wert 12.

>> u=[4:2:12]

u =

4 6 8 10 12

(33)

Beispielcode 31 zeigt uns einen weiteren Fall, indem die Schrittfolge nicht exakt aufgeht.

Der Vektor u beginnt mit dem Startwert 4 und geht in 2er Schritten bis 11.

>> v=[4:2:11]

v =

4 6 8 10

(34)

Wir erkennen, dass die letzte Komponente des u- Vektors die 10 ist. Das liegt daran, dass

nach 10 der Wert 12 kommen würde (da die Schrittweite 2 ist), welcher aber bereits nicht

mehr in den eckigen Klammern definiert ist.

Wie Beispielcode 32 zeigt, ist es auch möglich negative Schrittweiten zu definieren.

>> z=[15:-3:3]

z =

15 12 9 6 3

(35)

Page 20: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

18

Hinweis: Beträgt die Schrittweite 1, muss diese nicht angegeben werden, wie der folgende

Beispielcode zeigt.

>> x3=[2:5]

x3 =

2 3 4 5

Jetzt betrachten wir, wie man auf einzelne Werte eines Vektors zugreifen kann. Und zwar

auf das dritte Element von u.

>> u(3)

ans =

8

(36)

8.2 Vektoren addieren und subtrahieren

Wir starten ganz simpel, indem wir die beiden Vektoren 1v und 2v aus Gleichung 4 addie-

ren.

1 2

2 4 2 4 6

3 6 3 6 3

1 2 1 2 3

v v

(D)

In MATLAB addieren wir die beiden Vektoren genauso wie zwei Zahlen. Recht unspekta-

kulär.

>> v1=[2; -3; 1]; v2=[4; 6; 2];

>> v1+v2

ans =

6

3

3

(37)

Hinweis: Hierbei ist darauf zu achten, dass nur Vektoren mit gleicher Dimension (bzw.

Länge) addiert und subtrahiert werden dürfen.

Versuchen wir zwei Vektoren mit unterschiedlichen Dimensionen miteinander zu addieren,

folgt die im Beispielcode 38 gezeigte Fehlermeldung.

>> v1+x2

Error using +

Matrix dimensions must agree.

(38)

Page 21: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

19

Ein nützlicher Befehl in diesem Zusammenhang ist length( ). Bei unseren bisherigen

Beispielen sind die Einträge der Vektoren ja noch ganz gut überschaubar, aber, wenn wir

mit Vektoren arbeiten, welche eine Länge von weit über hundert haben, wird das mit der

Übersicht schon schwieriger. Daher können wir uns die Anzahl der Elemente eines Vektors

einfach anzeigen lassen.

>> length(v1)

ans =

3

(39)

Um einen weiteren Vektor mit 1v zu addieren, muss dieser also ebenfalls eine length( )

von 4 besitzen.

8.3 Elementweise Operationen

Elementweise Multiplikation

Wie Gleichung E zeigt, können wir Vektoren auch mit Skalaren multiplizieren. Dazu multi-

plizieren wir einfach alle Elemente des Vektors mit dem Skalar (und nennen das ganze

Elementweise Multiplikation). Das kennen wir noch aus dem Matheunterricht und stellt

keine große Herausforderung dar.

1

2 4 2 8

4 4 3 4 ( 3) 12

1 4 1 4

v

(E)

Genauso simpel ist auch die Umsetzung in MATLAB. Das Schöne bei der skalaren Multi-

plikation ist, dass man nicht schauen muss, ob irgendwelche Matrixdimensionen überein-

stimmen.

>> 4*v1

ans =

8

-12

4

(40)

Elementweise Addition

Eine elementweise Addition ist ebenfalls in MATLAB möglich. Hier entfernen wir uns ein

Stückweit von dem, was wir in der Schule und im Studium gelernt haben. Während die

elementweise Multiplikation (Gleichung E) noch erlaubt war, ist es nach unserem bisherigen

Kenntnisstand nicht möglich die in Gleichung F dargestellte Rechnung auszuführen.

Page 22: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

20

1

2 4 2 6

4 4 3 4 3 1

1 4 1 5

v

(F)

MATLAB stört sich daran überhaupt nicht und lässt diese Rechenoperation bewusst zu.

Diese mathematisch unkorrekten Berechnungen, welche MATLAB ermöglicht bezeichnen

wir in diesem Skript als MATLAB- eigene Rechenvorschrift. Und das hat auch einen guten

Grund. Da in MATLAB oft große Datenmengen (bspw. Messwerte) verarbeitet werden, wel-

che als Vektor oder Matrix gespeichert werden, ist es vorteilhaft, möglichst viele Rechen-

operationen mit diesen Daten durchführen zu können. Somit können wir auch die element-

weise Addition aus Gleichung 6 in MATLAB ausführen.

>> 4+v1

ans =

6

1

5

(41)

Elementweise Potenzieren In Gleichung G ist die Potenzierung aller Vektorelemente gezeigt. Hierbei handelt es sich wieder um eine MATLAB- eigene Rechenvorschrift:

2 2

2 2

1

2

2 2 4

3 ( 3) 9

1 1 1

v

(G)

Die Darstellung in MATLAB sieht wie folgt aus:

>> v1.^2

ans =

4

9

1

(42)

8.4 Vektoren Multiplizieren

Es gibt drei mögliche Fälle, wie Vektoren in MATLAB multipliziert werden können:

Vektor Vektor Skalar

Vektor Vektor Matrix

Vektor Vektor Vektor

Page 23: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

21

Vektor Vektor = Skalar (Das Skalarprodukt)

Nun betrachten wir ein Beispiel für das Skalarprodukt zweier Vektoren.

1 2

1 2 1 2

2 4

, 3 6 2 4 ( 3) 6 1 2 8

1 2

4

, 2 3 1 6 8

2

T

v v

v v v v

(H)

Die Berechnung aus Gleichung H zeigt, dass das Skalarprodukt auch durch eine Vektor-

multiplikation von Zeilen- und Spaltenvektor ausgeführt werden kann. Diese Herangehens-

weise führen wir in MATLAB wie folgt aus.

>> v1'*v2

ans =

-8

(43)

Vektor Vektor = Matrix

Ändern wir Gleichung H so ab, dass wir bei Multiplikation der beiden Vektoren jetzt 2v an-

stelle von 1v transponieren, so erhalten wir als Ergebnis für die Berechnung eine Matrix.

1 2

2 8 12 4

3 4 6 2 12 18 6

1 4 6 2

Tv v

(I)

>> v1*v2'

ans =

8 12 4

-12 -18 -6

4 6 2

(44)

Vektor Vektor = Vektor

Diese Rechenoperation ist wieder eine MATLAB- eigene Rechenvorschrift, welche unse-

rem Mathematikwissen widerspricht, wie Gleichung J zeigt.

Page 24: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

22

1 2

2 4 2 4 8

3 6 ( 3) 6 18

1 2 1 2 2

v v

(J)

Für diese besondere elementweise Art der Vektormultiplikation nutzen wir das folgende

Vorgehen:

>> v1.*v2

ans =

8

-18

2

(45)

Anstelle der Multiplikation kann man auch eine elementweise Division ausführen:

1 2

2 4 2 / 4 0,5

/ 3 / 6 ( 3) / 6 0,5

1 2 1/ 2 0,5

v v

(K)

>> v1./v2

ans =

0.5000

-0.5000

0.5000

(46)

Page 25: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

23

9 Matrizen

Jetzt legen wir noch einen drauf und kommen zu den Matrizen.

9.1 Matrizen definieren

Starten wir direkt mit der in Gleichung L dargestellten Matrix

1

1 2 4 1

6 2 9 0

0 3 3 1

A

, 3,4A (L)

In MATLAB geben wir Matrizen immer Zeilenweise ein. Die einzelnen Elemente der Zeile

werden, wie bei den Vektoren, durch ein Leerzeichen getrennt. Das Ende einer jeden Zeile

wird durch ein Semikolon kenntlich gemacht, wodurch die nächste Zeile eingeleitet wird.

Für unsere Matrix 1A folgt also:

>> A1=[1 -2 4 1; 6 2 9 0; 0 -3 3 1]

A1 =

1 -2 4 1

6 2 9 0

0 -3 3 1

(47)

Mit dem Befehl size( ) können wir die Dimension unserer Matrix anzeigen lassen.

>> size(A1)

ans =

3 4

(48)

Da das Eingeben der Matrizen recht aufwendig ist, gibt es zumindest für die Nullmatrix und

die Einheitsmatrix extra Befehle, um diese mit wenigen Buchstaben und Zahlen zu erstel-

len. Dafür muss man lediglich die gewünschte Dimension der Matrix in die Klammern ein-

tragen.

Für die Nullmatrix nutzen wir den Befehl zeros( ).

>> zeros(2,3)

ans =

0 0 0

0 0 0

(49)

Und für die Einheitsmatrix den Befehl eyes( ). Ist die Matrix quadratisch kannst Du an-

stelle von (3,3) auch nur (3) schreiben.

Page 26: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

24

>> eye(3)

ans =

1 0 0

0 1 0

0 0 1

(50)

9.2 Auf Matrixelemente zugreifen

Jetzt betrachten wir noch, wie wir auf einzelne Elemente aus der Matrix zugreifen. So er-

halten wir beispielsweise das Element aus der dritten Zeile und der zweiten Spalte.

>> A1(3,2)

ans =

-3

(51)

Des Weiteren können wir einzelne Spalten- und Zeilenvektoren aus unserer Matrix „her-

ausziehen“.

Zweite Zeile der Matrix 1A .

>> A1(2,:)

ans =

6 2 9 0

(52)

Dritte Spalte der Matrix 1A .

>> A1(:,3)

ans =

4

9

3

(53)

9.3 Matrizen addieren und subtrahieren

Zunächst wollen wir die beiden Matrizen 1A und 2A aus Gleichung M addieren.

Matrizen addieren

1 2

1 2 4 1 1 0 1 0

6 2 9 0 2 1 2 1

0 3 3 1 4 3 4 3

A A

, 3,4

1 2,A A (M)

Page 27: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

25

Die Addition erfolgt analog zu dem Beispielcode 34 für die Vektoren. Die Matrix 1A haben

wir ja bereits definiert.

>> A2=[1 0 1 0; 2 1 2 1; 4 3 4 3];

>> A1+A2

ans =

2 -2 5 1

8 3 11 1

4 0 7 4

(54)

Hinweis: Hierbei ist darauf zu achten, dass nur Matrizen mit gleicher Dimension addiert und

subtrahiert werden dürfen. Hier gilt: 3,4

1 2,A A

9.4 Elementweise Operationen

Elementweise Multiplikation

In Gleichung N ist ein Beispiel für die elementweise Multiplikation einer skalaren Größe und

der Matrix 2A gezeigt.

2

1 0 1 0 ( 3) 1 ( 3) 0 ( 3) 1 ( 3) 0

( 3) 2 2 1 2 1 ( 3) 2 ( 3) 1 ( 3) 2 ( 3) 1

4 3 4 3 ( 3) 4 ( 3) 3 ( 3) 4 ( 3) 3

A

,

3,4

2A

(N)

Die Berechnung in MATLAB lautet.

>> (-3)*A2

ans =

-3 0 -3 0

-6 -3 -6 -3

-12 -9 -12 -9

(55)

Elementweise Addition

Die Elementweise Addition (sowie Subtraktion) als MATLAB- eigene Verfahrensvorschrift

lässt sich ebenso auf Matrizen, wie auch auf Vektoren anwenden. Ein Beispiel für eine

solche Berechnung ist in Gleichung O aufgeführt.

Page 28: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

26

2

1 4 0 4 1 4 0 4

4 2 4 1 4 2 4 1 4

4 4 3 4 4 4 3 4

A

(O)

>> A2-4

ans =

-3 -4 -3 -4

-2 -3 -2 -3

0 -1 0 -1

(56)

Elementweise Potenzieren

Für das elementweise Potenzieren gilt das Vorgehen in Beispielcode 57.

>> A2.^2

ans =

1 0 1 0

4 1 4 1

16 9 16 9

(57)

Den Sinus- Operator auf mehrere Elemente gleichzeitig anwenden

Alle eingebauten Funktionen, welche in wir Kapitel 5 kennengelernt haben, können wir auch

auf Matrizen und Vektoren anwenden. Dabei wird dann der jeweilige Operator (beispiels-

weise der Sinus) auf jedes einzelne Element des Vektors oder der Matrix angewendet.

>> vektor=[0 1 2 3];

>> sin(vektor)

ans =

0 0.8415 0.9093 0.1411

(58)

9.5 Matrizen transponieren, invertieren & Eigenwerte

Hier noch ein paar gängige Befehle für den Umgang mit Matrizen. Als Beispielmatrix dienen

uns die 3 4x Matrix 1M und die quadratische 3 3x Matrix

2M .

1

1 2 5 3

1 4 16 1

4 0 9 6

M

, 2

1 0 4

2 4 3

0 5 9

M

, 3,3

1M (P)

Page 29: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

27

Eine Matrix transponieren → ( )‘

1

1 1 4

2 4 0

5 16 9

3 1 6

TM

, 4,3A (Q)

>> M1=[1 2 5 -3;-1 4 16 -1;4 0 9 6];

>> M1'

ans =

1 -1 4

2 4 0

5 16 9

-3 -1 6

(59)

Eine Matrix invertieren → inv( )

Um eine Matrix invertieren zu können, muss diese quadratisch sein. Es muss also gelten ,n nA . Daher betrachten wir Matrix

2M (aus Gleichung P) für den Beispielcode.

2

1 0 4

2 4 3

0 5 9

M

, 3,3A (R)

Die Inverse bestimmen wir nun mit dem Befehl inv( ).

>> M2=[1 0 4; -2 4 3; 0 5 9];

>> inv(A3)

ans =

-1.1053 -1.0526 0.8421

-0.9474 -0.4737 0.5789

0.5263 0.2632 -0.2105

(60)

Die Determinante einer Matrix bestimmen → det( )

Für quadratische Matrizen können wir auch die Determinante sehr einfach bestimmen,

wie Beispielcode 61 zeigt.

Page 30: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

28

>> det(M2)

ans =

-19

(61)

Die Eigenwerte einer Matrix bestimmen → eig( )

Auch zum Bestimmen der Eigenwerte ist die Voraussetzung, dass die Matrix quadratisch

ist. Für unsere Matrix 2M ergeben sich die Eigenwerte wie folgt.

>> eig(M2)

ans =

-0.4663

3.8313

10.6350

(62)

9.6 Matrizen multiplizieren

Standard Multiplikation

Wir betrachten die zuvor definierte Matrix 2M und den Vektor

1v .

2 1

1 0 4 2 6

2 4 3 3 13

0 5 9 1 6

M v

(R)

Die Multiplikation sieht wie folgt aus:

>> M2*v1

ans =

6

-13

-6

(63)

Matrix elementweise Multiplizieren

2 1

1 0 4 1 2 5 3 17 2 41 21

2 4 3 1 4 16 1 6 12 81 20

0 5 9 4 0 9 6 31 20 161 49

M M

(S)

Page 31: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

29

Das Beispiel der elementweisen Multiplikation ist in Beispielcode 64 gezeigt:

>> M2*M1

ans =

17 2 41 21

6 12 81 20

31 20 161 49

(64)

Und an dieser Stelle sind wir, pünktlich vor Seite 30, bereits am „versprochenen“ Ende

dieses Einführungskurses.

Page 32: MATLAB Skript 1 Grundlagenkurs · Numerik 1 - Hamburg 2016 André Naß MATLAB – Skript 1 Grundlagenkurs . MATLAB Modul A Dieses Lernpaket befasst sich mit der Computersoftware MATLAB.

30

Anhang – Vektor- und Matrixrechnung

Welche Dimension besitzt mein Vektor / meine Matrix? Zunächst müssen wir feststellen wie viele Zeilen und Spalten unsere Matrix besitzt. Für die

Dimension gilt allgemein: Zeilex Spalte

1

5

3

1

v

, 1

2 4

7 1

3 1

A

Der Vektor 1v besitzt 3 Zeilen und 1 Spalte. Daher ist seine Dimension: 3 x1

Die Matrix 1A besitzt 4 Zeilen und 2 Spalten. Daher ist ihre Dimension: 4 x 2

Welche Vektoren/Matrizen dürfen addiert/subtrahiert werden? Um zwei Vektoren (bzw. Matrizen) zu addieren/subtrahieren müssen beide Dimensionen identisch sein

5 1

3 9

1 12

15

33

61

1

3x1 + 3x1 = 3x1 ✔ 3x1 + 4x1 = x

2 4 4 3

7 1 7 21

3 1 1 5

2 4 1 2 5

7 1 1 4 3

3 1 8 11 1

4x2 + 4x2 = 4x2 ✔ 4x2 + 4x3 = x

Welche Vektoren/Matrizen dürfen multipliziert werden? Um Vektoren und Matrizen zu multiplizieren muss die Anzahl der Spalten der ersten Mat-rix gleich der Anzahl der Zeilen der zweiten Matrix sein. Die Resultierende Matrix hat die Dimension:

(Anzahl der Zeilen der ersten Matrix) x (Anzahl der Spalten der Zweiten

Matrix)

2 4 1 2 5

7 1 1 4 3

3 1 8 11 1

2 4 18 8 181 2 3

7 1 11 15 244 1 3

3 1 7 7 12

4x2 + 4x3 = x 3x2 + 2x3 = 3x3 ✔