Übung - Matlab Einführung, Skripte von Numerik (Numerische Mathematik)

Was ist Matlab? Elementares Rechnen in Matlab, Rechnen mit Matrizen und Vektoren, Polynome, Funktionen, Funktions-Workspace

Art: Skripte

2019/2020

Hochgeladen am 09.04.2020

Dimi94_midi
Dimi94_midi 🇩🇪

4.7

(21)

1 / 57

Toggle sidebar

Diese Seite wird in der Vorschau nicht angezeigt

Lass dir nichts Wichtiges entgehen!

bg1
Numerik I
1. ¨
Ubung - Matlab Einf¨
uhrung
Prof. Dr. Karsten Urban,
Dipl. Math. Katharina Becker-Steinberger,
Dipl. Math. oec. Sebastian Kest-
ler
Institut f¨
ur Numerische Mathematik
Wintersemester 2012, 17. 10. 2012
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39

Unvollständige Textvorschau

Nur auf Docsity: Lade Übung - Matlab Einführung und mehr Skripte als PDF für Numerik (Numerische Mathematik) herunter!

Numerik I

1. ¨Ubung - Matlab Einf¨uhrung

Prof. Dr. Karsten Urban,

Dipl. Math. Katharina Becker-Steinberger,

Dipl. Math. oec. Sebastian Kest-

ler

Institut f¨ur Numerische Mathematik

Wintersemester 2012, 17. 10. 2012

Page 2 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einf¨uhrung

Einf¨uhrung

Einfaches Rechnen in Matlab

Rechnen mit Vektoren und Matrizen

Polynome, Zeichenketten etc.

Programmieren

Funktionen

Debuggen

Page 4 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einf¨uhrung

Wo finde ich Matlab?

I (^) Pools und Server des kiz ([andromeda, pegasus, perseus, cassiopeia].rz.uni-ulm.de)

pegasus$ module avail math / matlab

                    • - - - - - - - - - - - / soft / common / modulefiles / SunOS - sun4u - - - - - - - - - - - - - - - - math / matlab / R2008b math / matlab / R2009b pegasus$ module load math / matlab / R2009b pegasus$ matlab

oder

pegasus$ cat. profile | grep matlab module load math / matlab / R2009b ; pegasus$ matlab

I (^) Nutzung auf dem eigenen Rechner I (^) im Netz der Uni Ulm I (^) mit einer Studentenlizenz (siehe www.uni-ulm.de → Hochschulportal→Software f¨ur Studierende) (http://portal.uni-ulm.de/PortalNG/content.title.software.html, erh¨altlich am Schalter des kiz f¨ur 20 Euro)

Page 5 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einf¨uhrung

Matlab starten

Matlab wird gestarten

I (^) ¨uber das Symbol auf dem Desktop oder in der Men¨uleiste oder I (^) durch Eingabe von matlab im Terminal/in der Shell.

Dadurch wird ein Matlab Fenster ge¨offnet.

Matlab kann auch durch matlab -nodesktop ohne graphische Oberfl¨ache gestartet werden:

pegasus$ matlab - nodesktop

< M A T L A B ( R ) > Copyright 1984 -2009 The MathWorks , Inc. Version 7.9.0.529 ( R2009b ) 64 - bit ( sol64 ) August 12 , 2009

To get started , type one of these : helpwin , helpdesk , or demo. For product information , visit www. mathworks. com.

Page 7 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab

Einf¨uhrung

Einfaches Rechnen in Matlab

Rechnen mit Vektoren und Matrizen

Polynome, Zeichenketten etc.

Programmieren

Funktionen

Debuggen

Page 8 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab

Elementares Rechnen in Matlab: erstes Beispiel

Beispiel 2: Berechne zu einem Kreisradius r die Fl¨ache und den Umfang des Kreises und den Umfang eines fl¨achengleichen Quadrates

r = 3 r = 3 A_Kreis = r ^2* pi A_Kreis =

U_Kreis = 2* r * pi U_Kreis =

U_Quadrat = 4* sqrt ( A_Kreis ) U_Quadrat =

I (^) Variablen werden durch Zuweisungen eines Wertes mit ”

=” definiert. I (^) Namen m¨ussen mit einem Buchstaben anfangen und d¨urfen Buchstaben, Zahlen und den Unterstrich enthalten. WICHTIG: Dabei wird Groß- und Kleinschreibung ber¨ucksichtigt. I (^) Die Grundrechenarten sind durch die Zeichen +,−, ∗, /,ˆ(potenzieren) definiert.

I (^) Bei den Operatoren gilt die ¨ubliche Auswertungsreihenfolge: Potenzieren vor Punktrechnung vor Strichrechnung. Auswertungsreihenfolgen k¨onnen durch Klammerung ge¨andert werden.

Page 10 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab

Konstanten in Matlab

In Matlab sind einige spezielle Zahlen definiert:

realmin, realmax kleinste bzw. gr¨oßte darstellbare Gleitpunktzahl eps relative Genauigkeit von Gleitpunktzahlen inf, -inf ±∞ NaN Not a number, nicht definierter Ausdruck, z.B. 0/ pi Kreiszahl π i, j imagin¨are Einheit

pi * sqrt ( -1) ans = 0 + 3.1416 i 0/ ans = NaN 1/ ans = Inf realmax ans = 1.7977 e + realmin ans = 2.2251 e - 1+ eps ans =

Page 11 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab

Variablen

I (^) In Matlab werden Variablen durch Zuweisungen ohne vorherige Deklaration angelegt. I (^) Variablennamen k¨onnen aus Buchstaben, Ziffern und dem Zeichen bestehen, das erste muss ein Buchstabe sein. I (^) Matlab unterscheidet zwischen Groß- und Kleinschreibung bei Variablennamen (case-sensitive). I (^) In einem Workspace definierte Variablen k¨onnen mit den Funktionen who und whos angezeigt werden. I (^) Durch Variablendefinition k¨onnen vorhandene Matlab Funktionen und Variablen ¨uberschrieben werden. I (^) Mit clear bzw. clear kann eine Variable bzw. alle Variablen im Workspace gel¨oscht werden. I (^) WICHTIG: Vorsicht mit den Variablen i und j:

i = i = 2 pi * i ans =

clear i pi * i ans = 0 + 3.1416 i

Page 13 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab

Einfache Skripte

I (^) Matlab Befehle k¨onnen in Textdateien mit Endung .m gespeichert und im Workspace durch Eingabe des Dateinamens (ohne Endung) ausgef¨uhrt werden. Dazu kann der Matlab Editor edit oder jeder andere Texteditor benutzt werden.

Kegel.m % Berec h n u n g des Volumens % eines Kegels r = h = V =1/3* r ^2* h

Kegel r = 1+ eps ans = 1. Page 11 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab ## Variablen I (^) In Matlab werden Variablen durch Zuweisungen ohne vorherige Deklaration angelegt. I (^) Variablennamen k¨onnen aus Buchstaben, Ziffern und dem Zeichen bestehen, das erste muss ein Buchstabe sein. I (^) Matlab unterscheidet zwischen Groß- und Kleinschreibung bei Variablennamen (case-sensitive). I (^) In einem Workspace definierte Variablen k¨onnen mit den Funktionen who und whos angezeigt werden. I (^) Durch Variablendefinition k¨onnen vorhandene Matlab Funktionen und Variablen ¨uberschrieben werden. I (^) Mit clear bzw. clear kann eine Variable bzw. alle Variablen im Workspace gel¨oscht werden. I (^) WICHTIG: Vorsicht mit den Variablen i und j: >> i = i = 2 >> pi * i ans = 6. >> clear i >> pi * i ans = 0 + 3.1416 i Page 13 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab ## Einfache Skripte I (^) Matlab Befehle k¨onnen in Textdateien mit Endung .m gespeichert und im Workspace durch Eingabe des Dateinamens (ohne Endung) ausgef¨uhrt werden. Dazu kann der Matlab Editor edit oder jeder andere Texteditor benutzt werden. Kegel.m % Berec h n u n g des Volumens % eines Kegels r = h = V =1/3* r ^2* h >> Kegel r = 3 h = 5 V = 15

I (^) Beispiel 4: Kegel.m I (^) Zeilen, die mit einem % beginnen, werden als Kommentarzeilen behandelt. I (^) Lange Eingaben k¨onnen durch ... auf mehrere Zeilen verteilt werden. I (^) Beim Aufruf im Workspace werden alle Skripte im aktuellen Verzeichnis und im Suchpfad ber¨ucksichtigt. I (^) Mit den Befehlen pwd, cd, mkdir k¨onnen das aktuelle Arbeitsverzeichnis angezeigt, ge¨andert bzw. neue Verzeichnisse angelegt werden. I (^) Mit edit wird der Matlab-Texteditor aufgerufen, type zeigt den Inhalt eines m-Files an. I (^) Die Funktion what listet alle m-Files im aktuellen Verzeichnis auf.

Page 14 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Einfaches Rechnen in Matlab

Matlab Hilfe im Command Window

In Matlab gibt es ein umfassendes Hilfe-System, um Informationen zu allen Funktionen zu bekommen. Es gibt verschiedene M¨oglichkeiten die Hilfe in Matlab zu nutzen:

I (^) help oder help

Zeigt eine ¨Ubersicht ¨uber Hilfethemen oder ¨uber ein Thema bzw. einer Funktion im Command Window an; I (^) lookfor

Sucht in den Kurzbeschreibungen der Funktionen nach ;

help sin SIN Sine of argument in radians. SIN ( X ) is the sine of the elements of X.

See also asin , sind.

Reference page in Help browser doc sin

lookfor lookfor

LOOKFOR Search all M - files for keyword.

Page 16 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Rechnen mit Vektoren und Matrizen

Einf¨uhrung

Einfaches Rechnen in Matlab

Rechnen mit Vektoren und Matrizen

Polynome, Zeichenketten etc.

Programmieren

Funktionen

Debuggen

Page 17 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Rechnen mit Vektoren und Matrizen

Rechnen mit Matrizen und Vektoren - Beispiel

L¨osen des Gleichungssystems Ax = b (Beispiel 5: LoeseLGS.m)

alpha = pi /4; A = [ cos ( alpha ) , - sin ( alpha ); sin ( alpha ) , cos ( alpha )] A = 0.7071 -0. 0.7071 0. b = 1/ sqrt (2)*[1; 1] b =

x = A \ b x =

I (^) Matrizen und Vektoren k¨onnen in Matlab duch Angabe der Elemente in eckigen Klammern definiert werden. I (^) Dabei werden die Werte zeilenweise angegeben, Elemente einer Zeile werden durch Kommata oder Leerzeichen voneinander getrennt, verschiedene Zeilen werden durch Semikolon oder Zeilenumbruch getrennt. I (^) Vektoren werden als Matrizen definiert, wobei die Zeilen- oder Spaltendimension 1 ist.

I (^) In Matlab sind Operatoren zum Rechnen mit Matrizen, Vektoren und Skalaren definiert.

Page 19 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Rechnen mit Vektoren und Matrizen

Operatoren f¨ur Matrizen und Skalare

I (^) Operationen zwischen Matrizen/Vektoren und Skalar: skalare Multiplikation mit den Operatoren * und /:

3*[1 1; 0 1] ans = 3 3 0 3 [1 1; 0 1]/ ans = 0.3333 0. 0 0.

I (^) Potenzieren mit ^:

[1 1; 0 1]^ ans = 1 2 0 1

I (^) Addition und Subtraktion mit + und - :

[1 1; 0 1]+ ans = 4 4 3 4

Page 20 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Rechnen mit Vektoren und Matrizen

Komponentenweise Operationen f¨ur Matrizen/Vektoren

I (^) Komponentenweise Multiplikation und Division: skalare Multiplikation mit den Operatoren .* und ./:

A =[2 4; 6 9]; B =[2 2; 3 6]; A .* B I (^) Matrizen und Vektoren k¨onnen in Matlab duch Angabe der Elemente in eckigen Klammern definiert werden. I (^) Dabei werden die Werte zeilenweise angegeben, Elemente einer Zeile werden durch Kommata oder Leerzeichen voneinander getrennt, verschiedene Zeilen werden durch Semikolon oder Zeilenumbruch getrennt. I (^) Vektoren werden als Matrizen definiert, wobei die Zeilen- oder Spaltendimension 1 ist. I (^) In Matlab sind Operatoren zum Rechnen mit Matrizen, Vektoren und Skalaren definiert. Page 19 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Rechnen mit Vektoren und Matrizen ## Operatoren f¨ur Matrizen und Skalare I (^) Operationen zwischen Matrizen/Vektoren und Skalar: skalare Multiplikation mit den Operatoren * und /: >> 3[1 1; 0 1] ans = 3 3 0 3 >> [1 1; 0 1]/ ans = 0.3333 0. 0 0. I (^) Potenzieren mit ^: >> [1 1; 0 1]^ ans = 1 2 0 1 I (^) Addition und Subtraktion mit + und - : >> [1 1; 0 1]+ ans = 4 4 3 4 Page 20 1. ¨Ubung - Matlab Einf¨uhrung | Wintersemester 2012, 17. 10. 2012 Rechnen mit Vektoren und Matrizen ## Komponentenweise Operationen f¨ur Matrizen/Vektoren I (^) Komponentenweise Multiplikation und Division: skalare Multiplikation mit den Operatoren . und ./: >> A =[2 4; 6 9]; >> B =[2 2; 3 6]; >> A .* B ans = 4 8 18 54 A ./ B ans = 1.0000 2. 2.0000 1.

I (^) Komponentenweises Potenzieren mit .^

A .^ B ans = 4 16 216 531441