Matlab: eine kurze Einführung

Ähnliche Dokumente
Kurze Einführung in Octave

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Einführung in MATLAB

MATLAB Einführung. Numerische Methoden für ITET und MATL Dr. S. May, D. Devaud. ETH Zürich, Seminar for Applied Mathematics

Einführung in MATLAB zur Veranstaltung Einführung in die Numerik

Octave/Matlab-Übungen

Einführung in MATLAB Blockkurs DLR:

Einführung in MATLAB / GNU Octave

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Einführung in. Pierre Bayerl

Einführung in Matlab, 2. Teil

10:Exkurs MATLAB / Octave

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006

2 Matrizen und Vektoren

MATLAB: Kapitel 2 Grafiken

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

2. Einführung in das Ingenieurtool MATLAB

Dr. Michael Lehn WS 2013/2014 Iris Häcker Klaus Stolle Institut für Numerische Mathematik Universität Ulm

Eine Einführung zum numerischen Programmieren mit Matlab

MATLAB-Toolskurs HS17

Einführung in die Programmierung (MA8003)

3 Kurzeinführung in Matlab

Mathematik für Wirtschaftswissenschaftler im WS 12/13 Lösungen zu den Übungsaufgaben Blatt 12

WiMa-Praktikum 1. Woche 8

Übung 4: Einführung in die Programmierung mit MATLAB

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

Lösungen zu Mathematik I/II

Numerische Lineare Algebra - Matlab-Blatt 1

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen

Basiswissen Matrizen

3 Matrizenrechnung. 3. November

Lösungsskizzen zur Nachklausur

PPS "Bits on Air" 1. Teil, Matlab-Tutorial Vorbereitungsaufgaben (Lösungsvorschläge)

Octave/Matlab-Übungen

Lineare Gleichungssysteme und Matrizen

4) Lösen linearer Gleichungssysteme mit zwei oder drei Unbekannten

2. Anfangswertprobleme 2. Ordnung

LABORÜBUNG MATLAB/OCTAVE

Matrizen. Jörn Loviscach. Versionsstand: 12. April 2010, 19:00 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung.

Matrizen. Jörn Loviscach

Vektoren. 2.1 Darstellung. Kapitel Subtraktion und Addition

Mathematik am Computer 7. Vorlesung: Matlab, Teil II

Mathematik 3 für Informatik

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Matlab - eine kurze Einführung

Mathematik. für das Ingenieurstudium. 10 Funktionen mit mehreren Variablen. Jürgen Koch Martin Stämpfle.

Repetitorium A: Matrizen, Reihenentwicklungen

Praktikum Beobachtungsnetze. Matlab in Versuch Hydrologie Hilfestellungen

Analytische Geometrie

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Matrizen, Gaußscher Algorithmus 1 Bestimmung der inversen Matrix

Definition, Rechenoperationen, Lineares Gleichungssystem

D-MAVT NUMERISCHE MATHEMATIK FS 14 K. Nipp, A. Hiltebrand Lösung vom Test 1

Jens Kappei. Vorlesung Numerische Basisverfahren 21./

6. Vorlesung. Rechnen mit Matrizen.

Matrizen. Spezialfälle. Eine m nmatrix ist ein rechteckiges Zahlenschema mit. m Zeilen und n Spalten der Form. A = (a ij ) =

MATLAB Onlinevorlesung. Dipl.-Inf. (FH) Patrick Rogge Seite 1

9.2 Invertierbare Matrizen

Aufgabenstellung: Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung Gesucht ist eine Funktion y = y(x).

Definition, Rechenoperationen, Lineares Gleichungssystem

MLAN1 1 MATRIZEN 1 0 = A T =

KLAUSUR zur Numerik I mit Lösungen. Aufgabe 1: (10 Punkte) [ wahr falsch ] 1. Die maximale Ordnung einer s-stufigen Quadraturformel ist s 2.

m-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.

Klausurenkurs zum Staatsexamen (WS 2016/17): Differential und Integralrechnung 8

Lineare Algebra mit dem Statistikprogramm R

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Softwarepraktikum. zu Elemente der Mathematik. Carsten Rezny Institut für angewandte Mathematik Universität Bonn

1 Konsole öffnen. 2 matlab & und return eingeben. 3 Konsole dauerhaft geöffnet lassen. 1 Menüpunkt File - Exit MATLAB oder. 2 quit (und return) oder

ANHANG A. Matrizen. 1. Die Definition von Matrizen

Matlab Übersicht. Matlab steht für MATrix LABoratory, die Fa. The Mathworks wurde 1984 gegründet

Ingenieurinformatik II Numerik für Ingenieure Teil 2

Vektoren und Matrizen

3 Schnellkurs in MATLAB

1 Definition. 2 Besondere Typen. 2.1 Vektoren und transponieren A = 2.2 Quadratische Matrix. 2.3 Diagonalmatrix. 2.

( ) Dann gilt f(x) g(x) in der Nähe von x 0, das heisst. Für den Fehler r(h) dieser Näherung erhält man unter Verwendung von ( )

Explizite gewöhnliche Differentialgleichung 1. Ordnung mit Anfangsbedingung

Funktionen in Matlab. Lehrstuhl für Angewandte Mathematik Sommersemester und 29. Mai 2008

Grundsätzliches Rechnen mit Matrizen Anwendungen. Matrizenrechnung. Fakultät Grundlagen. Juli 2015

In den USA verwendet man statt dessen eckige Klammern, was sich in der Software niederschlägt (mit Ausnahmen wie Wolfram Alpha):

Einführung in MATLAB Februar 2005

Eine Kurzanleitung zu Maple. Symbolische, numerische und grafische Funktionalitäten:

8.2 Invertierbare Matrizen

Daniel S. Steingrube Institut für Quantenoptik Leibniz Universität Hannover.

Matrizen. a12 a1. a11. a1n a 21. a 2 j. a 22. a 2n. A = (a i j ) (m, n) = i te Zeile. a i 1. a i 2. a i n. a i j. a m1 a m 2 a m j a m n] j te Spalte

Numerische Lineare Algebra - Matlab-Blatt 2

In den USA verwendet man statt dessen eckige Klammern, was sich in der Software niederschlägt (mit Ausnahmen wie Wolfram Alpha):

Nur Matrizen gleicher Dimension können addiert oder subtrahiert werden. Zur Berechnung werden zwei Matrizen A und B in den Matrix-Editor eingegeben.

Mathematische Methoden in der Systembiologie Universität Heidelberg, Sommer 2017

Aufgaben für die 14. Übung zur Vorlesung Mathematik 2 für Informatiker: Analysis Sommersemester 2010

MATLAB 5 für Ingenieure

Analysis II für Studierende der Ingenieurwissenschaften

9.1 Eine Gleichung mit einer Unbekannten exakt lösen x Beispiel 1: Die Gleichung x 2 = 4 lösen. solve( x / (x 2) = 4, x ); 8 3

Transkript:

Matlab: eine kurze Einführung Marcus J. Grote Christoph Kirsch Mathematisches Institut Universität Basel 4. April 2 In dieser Einführung zu Matlab sind die im Praktikum I erworbenen Kenntnisse zusammengefasst. Einen Matlab-Primer findest du im Internet, z. B. unter http://ise.stanford.edu/matlab/matlab-primer.pdf Erste Schritte in Matlab. Wie fange ich an? Starte Matlab mit dem Befehl matlab. Mit help Befehl kannst du Informationen zu jedem Matlab-Befehl erhalten. Erläuterungen zu den Matlab-Befehlen findest du auch in der Menüleiste unter?. Der Befehl clear all löscht die gespeicherten Variablen..2 Rechnen mit Zahlen >+2 >a=+2; % weist der Variablen a das Ergebnis der Rechnung +2 zu >a % der Wert von a wird ausgegeben a = >2*7+^4 95

>k=cos(*pi/25) % weist der Variablen k den Wert von cos(*pi/25) zu k =.9298 >format long >k % Anzeige von 5 Stellen k =.92977648588825 >format short % Anzeige von 5 Stellen >k^-*k^2+sqrt(5).4464 >sqrt(-) % imaginaere Einheit +.i >a=+4i; >real(a) % komplexe Zahl % Realteil >imag(a) % Imaginaerteil 4 >abs(a) % Absolutbetrag 5 >round(5.4) % runden 5 2

. Vektoren >x=[ 2 ] % Zeilenvektor x = >x(2) 2 2 % 2. Eintrag von x >y=[4;5;6] % Spaltenvektor y = 4 5 6 >y(:2) % Eintraege und 2 von y 4 5 >y([ ]) % Eintraege und von y 4 6 >length(x) % Anzahl Eintraege in x >length(y) >z=*x % weist dem Vektor z das Ergebnis von *x zu z = 6 9

>w=y+ % zu jedem Eintrag von y wird addiert w = 5 6 7 >x % transponieren: Zeilenvektor <-> Spaltenvektor 2 >x*y % Skalarprodukt 2 >y*x >x.*x 4 8 2 5 5 6 2 8 4 9 % Produkt einer x-matrix und einer x-matrix % komponentenweise Multiplikation >cos(x) % cos wird auf jeden Eintrag von x angewendet.54 -.46 -.99 >z=:5 % Zahlen von bis 5 mit Schrittweite z = 2 4 5 >z2=:.25: % Zahlen von bis mit Schrittweite.25 z2 =.25.5.75. 4

.4 Matrizen und lineare Gleichungssysteme >A=[ 2 ;4 5 6;7 8 9] A = 2 4 5 6 7 8 9 >det(a) % Determinante >size(a,) % Anzahl Zeilen der Matrix A >size(a,2) % Anzahl Spalten der Matrix A >B=[ ; ; ] B = >A+B >A*B 5 5 6 7 8 2 5 4 6 8 7 9 % Addition von Matrizen % Matrixmultiplikation 5

>A.*B >A^ >A 2 4 9 % komponentenweise Multiplikation % A*A*A 468 576 684 62 5 548 656 24 242 4 7 2 5 8 6 9 % Transponierte >A(,2) % Eintrag von A an der Stelle (,2) 2 >A(2,:) % 2. Zeile von A 4 5 6 >A(:,) %. Spalte von A 6 9 >A(:2,2:) % Teilmatrix aus Zeilen und 2, Spalten 2 und 2 5 6 6

>C=A([ ],[ ]) % Teilmatrix aus Zeilen und, Spalten und C = 7 9 >A*C % Produkt einer x-matrix mit einer 2x2-Matrix??? Error using ==> * Inner matrix dimensions must agree. >b=rand(,) % Zufallsvektor der Laenge b =.95.2.668 >x=b\b % loest das lineare Gleichungssystem Bx=b x =.2.95.668 >D=zeros(2,) % 2x-Nullmatrix D = >E=ones(,2) % x2-einsmatrix E = >F=eye() % x-identitaetsmatrix A = 7

>G=[C D;E F] % Matrix zusammengesetzt aus Matrizen G = 7 9.5 Grafische Darstellungen 2-D >x=:.:2*pi; % Zahlen von bis 2*pi, Schrittweite. >plot(x,cos(x)) % zeichnet cos(x) gegen x >plot(x,cos(x), -,x,sin(x), -. ) % zeichnet cos(x) und sin(x) gegen x >axis([-. 2*pi+. -..]) % legt den zu zeichnenden Bereich fest >legend( Cosinus, Sinus ) % Legende >xlabel( x ) % x-achsen-beschriftung >ylabel( f(x) ) % y-achsen-beschriftung >x=[ 2 4]; >y=[ 2.5 -.5]; >plot(x,y, o ) % zeichnet die Punkte (x,y) >axis([ 5-2 ]) plot(x,cos(x)) plot(x,cos(x), -,x,sin(x), -. ).8.8 Cosinus Sinus.6.6.4.4.2.2 f(x) -.2 -.4 -.6 -.8 -.2 -.4 -.6 -.8 - - 2 4 5 6 7 plot(x,y, o ) 2 4 5 6 x 2.5 2.5.5 -.5 - -.5-2.5.5 2 2.5.5 4 4.5 5 8

.6 Grafische Darstellungen -D >x=-2:.:2; >y=-:.:; >[X,Y]=meshgrid(x,y); >Z=sin(X.*X+Y.*Y); >mesh(x,y,z) >xlabel( x ) >ylabel( y ) >zlabel( z ) % Gitter mit den Punkten (x,y) % Werte von sin(x^2+y^2) auf dem Gitter % zeichnet die Punkte (x,y,z) und verbindet sie.5 z.5.5 2 y.5 2 x.7 Nullstellen eines Polynoms Bestimmung der Nullstellen des Polynoms p(x) = x 4 2x 2 x 2. >roots([ -2 - -2]) % nimmt den Koeffizientenvektor von p als Eingabe 2. -. -.5 +.866i -.5 -.866i 9

2 Programmieren in Matlab 2. M-Files Ein M-File ist eine Textdatei dateiname.m, die mehrere Zeilen mit Matlab-Befehlen enthält. Diese Befehle kann man in Matlab am Stück ausführen mit >dateiname In M-Files kann man auch Kommentare zu gewissen Zeilen schreiben. Ein Kommentar beginnt mit % und endet mit dem Zeilenende. 2.2 for-schleifen Mit dem Matlab-Befehl for realisiert man eine for-schleife. Als Beispiel soll hier die Fixpunktiteration x = x k+ = ln(2 x 2 k), k betrachtet werden. In ein M-File Fix.m schreiben wir n=5; x()=; for k=:n x(k+) = log(2-x(k)^2); end und starten die Fixpunktiteration mit dem Befehl Fix. Wir zeichnen die Werte x k :.7.6.5.4..2. 2 4 5 6 Der Fixpunkt liegt etwa bei.57. Er ist eine Näherungslösung der Gleichung x 2 +e x = 2.

2. if-bedingungen Mit dem Matlab-Befehl if kann man eine if-bedingung stellen. Als Beispiel soll hier die Simulation von Münzwürfen betrachtet werden. Ein Münzwurf entspricht hier einer Zufallszahl in [, ]. Ist die Zahl grösser als /2, zählt der Wurf als Kopf, sonst als Zahl. Das folgende M-File Muenzwurf.m berechnet nach jedem Münzwurf den laufenden Mittelwert Anzahl Kopf Anzahl Würfe. n=; % Anzahl Muenzwuerfe x=rand(n,); % n Zufallszahlen in [,] ("faire" Muenze) AnzahlKopf=; % Zaehler fuer Anzahl Kopf for k=:n if x(k)>.5 % Wurf zaehlt als Kopf, wenn die Zufallszahl >.5 ist AnzahlKopf=AnzahlKopf + ; end Mittel(k)=AnzahlKopf/k; end Wir zeichnen eine Realisierung der Folge Mittel(k):.7.6.5.4..2. 2 4 5 6 7 8 9 Der Wert nach Münzwürfen liegt hier bei.492. Für echte Zufallszahlen ist der Erwartungswert.5.

Funktionen in Matlab. Eigene Funktionen definieren Mit dem Befehl function kann man in Matlab eigene Funktionen definieren. Als Beispiel betrachten wir die Funktion f(t, y) = t + e y. Schreibe die folgenden Zeilen in ein M-File: function z = f(t,y) z = t + exp(y); Speichere die Datei unter dem Namen f.m. Es ist wichtig, dass die Datei denselben Namen hat wie die Funktion! Jetzt kannst du den Funktionswert von f an einer beliebigen Stelle (t, y) berechnen mit dem Befehl f(t,y). Die Funktion f kann jetzt also wie jede andere Matlab-Funktion (z. B. sin) benutzt werden: >f(,2.5) % Wert von f an der Stelle (,2.5).825 >t=; >s=2.5; >f(t,s) % Wert von f an der Stelle (t,s).825 >f(s,t) % Wert von f an der Stelle (s,t) 5.28 Die Reihenfolge der Eingabeargumente ist wesentlich! Variablen innerhalb der Funktionsdefinition sind nur lokal sichtbar. Die Namen der Variablen in der Funktionsdefinition und beim Aufruf müssen nicht übereinstimmen..2 Vordefinierte Matlab-Funktionen benutzen In Matlab gibt es viele vordefinierte Funktionen für die verschiedensten Aufgaben. Als Beispiel betrachten wir hier die Funktion ode45: Wir betrachten eine Anfangswertaufgabe der Form y = f(t, y), < t T () y() = y. (2) 2

Die Gleichung () ist eine gewöhnliche Differenzialgleichung für die Funktion y(t) und (2) ist die Anfangsbedingung bei t =. Um eine solche Anfangswertaufgabe mit Matlab numerisch zu lösen, benutzen wir den Befehl ode45. Dieser Befehl verwendet ein so genanntes Runge-Kutta-Verfahren mit automatischer Schrittweitensteuerung der Ordnung 4(5). Die Syntax ist [t,y] = ode45( f,[ T],y) Dabei muss f eine Matlab-Funktion sein, T ist der Zeitpunkt, bis zu dem man die Lösung berechnen will, und y ist der Startwert. ode45 gibt t und y zurück. Dabei ist t der Vektor der Zeitpunkte t i, = t < t 2 < < t N < t N = T, und y ist der Vektor mit den Werten der numerischen Lösung y mit y i y(t i ). Die numerische Lösung kann man dann mit plot(t,y) zeichnen. Problem Löse die Anfangswertaufgabe y = e y sin(t), < t y() = ln() numerisch mit ode45. Zeichne die numerische Lösung y und die exakte Lösung y(t) = ln(cos(t) + 2) in dieselbe Grafik. Zeichne auch den Fehler y y. Lösung Zunächst definieren wir die Funktion f in einem M-File f.m: function z = f(t,y) z=exp(y)*sin(t); Das M-File Loesung.m löst die Anfangswertaufgabe und zeichnet die Lösungen sowie den Fehler gegenüber der exakten Lösung: [t,y]=ode45( f,[ ],-log()); tex=:.:; % Zeitpunkte fuer die exakte Loesung yex=-log(cos(tex)+2); % Werte der exakten Loesung plot(tex,yex, -,t,y, o ) axis([- -.2.]) xlabel( t ) ylabel( y(t) ) legend( exakte Loesung, numerische Loesung ) figure % oeffnet ein neues Grafikfenster plot(t,-log(cos(t)+2)-y, o- ) axis([- -e- e-]) xlabel( t ) ylabel( Fehler )

Die Lösungen y und y exakte Lösung numerische Lösung -.2 -.4 y(t) -.6 -.8-2 4 6 8 t Der Fehler y y x Fehler 2 4 6 8 t 4