Die Programmieraufgaben

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

6. Polynom-Interpolation

Übungen zur Ingenieur-Mathematik II SS 2017 Blatt Aufgabe 13: Betrachten Sie die Funktion. f(x) =

H.J. Oberle Analysis II SoSe Interpolation

Analysis II für Studierende der Ingenieurwissenschaften

19. Januar Universität Erlangen-Nürnberg Department Mathematik PD Dr. Markus Bause. . Danach liefert die Gauss-Elinination. .

5 Interpolation und Approximation

(x x j ) R m [x] (3) x x j x k x j. R m [x]. (4)

Numerisches Programmieren, Übungen

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

Übungsblatt 3 Musterlösung

Musterlösung zum Übungsblatt Interpolation nach Newton, Nevill, Lagrange.

Interpolation, numerische Integration

Übungsblatt 4 Musterlösung

Inhalt Kapitel IV: Interpolation

Übungsblatt 2 Musterlösung

Matlab: eine kurze Einführung

Beispiel für eine periodische Spline-Interpolationsfunktion: Wir betrachten f(x) = sin(πx) und geben die folgenden Stützstellen und Stützwerte vor:

Prüfung zur Vorlesung Mathematik I/II

8 Interpolation. 8.1 Problemstellung. Gegeben: Diskrete Werte einer Funktion f : R R an n + 1 Stützstellen. x 0 < x 1 <... < x n.

Matlab: eine kleine Einführung 2

Die Interpolationsformel von Lagrange

Interpolation, numerische Integration, Eigenwerte

c) Realisierung des Gauß Algorithmus in Gleitpunktarithmetik: Fehlerschranke hängt linear ab von max i,k l ik. 8n 3 max i,j,k a (k) ij ε.

Numerische Methoden 7. Übungsblatt

Matlab: eine kurze Einführung

1/26. Integration. Numerische Mathematik 1 WS 2011/12

5 Interpolation und numerische Approximation

MATLAB: Kapitel 3 Programmieren

Klausur Numerische Mathematik (für Elektrotechniker), 24. Februar 2016

12.2 Gauß-Quadratur. Erinnerung: Mit der Newton-Cotes Quadratur. I n [f] = g i f(x i ) I[f] = f(x) dx

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

Prüfung zur Vorlesung Mathematik I/II

Nachklausur am Donnerstag, den 7. August 2008

VF-2: 2. Es seien x = 1 3 und y = π Bei der Berechnung von sin(x) sin(y) in M(10, 12, 99, 99) tritt. Auslöschung auf.

Einführung in die numerische Mathematik

Übungsblatt 1 Musterlösung

Klassische Polynom Interpolation.

Programmieraufgaben zur Vorlesung Numerik (Lehramt) Sommersemester

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

Kapitel 4: Interpolation Sei U eine Klasse von einfach strukturierten Funktionen, z.b.

6 Polynominterpolation

1 2 x x x x x x2 + 83

T n (1) = 1 T n (cos π n )= 1. deg T n q n 1.

Klausur zur Vordiplom-Prüfung

Tutorium Mathematik II, M Lösungen

Lösungen zu Mathematik I/II

Numerische Verfahren

Lösungen zu Blatt 13 der Übungen zur Vorlesung Numerik, LMU München, Wintersemester 2016/2017

Lösungsvorschlag zur Modulprüfung Numerische Methoden - Wintersemester 2016/17

Mathematik 3 für Informatik

Regression, Interpolation, numerische. Integration

NUMERISCHE MATHEMATIK I

Lösungen zu Mathematik I/II

Numerik gewöhnlicher Differentialgleichungen (MA2304) Modulprüfung F. Bornemann, C. Ludwig 14. August 2017

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

Finite Elemente. Dr. S.-J. Kimmerle Institut für Mathematik und Rechneranwendung Fakultät für Luft- und Raumfahrttechnik Wintertrimester 2015

KAPITEL 8. Interpolation

NUMERISCHE MATHEMATIK II 1. (Studiengang Mathematik) Prof. Dr. Hans Babovsky. Institut für Mathematik. Technische Universität Ilmenau WS 2001/2002

Interpolation und Approximation von Funktionen

2.2. Übung. Einführung in die Programmierung (MA 8003)

Kapitel 4. Interpolation. 4.1 Allgemeines Normen von Funktionen

Polynominterpolation

Numerische Verfahren Übungen und Lösungen, Blatt 1

7. Übungs-/Wiederholungsblatt zu Einführung in die Numerik (SS 2012)

Approximation. E(N) N. Beachte: Der Wert für N = 32 ist vernachlässigt, da er in der Grössenordnung der Rechengenauigkeit liegt.

Numerische Integration und Differentiation

Lösungen zu Mathematik I/II

Extremwertrechnung in mehreren Veränderlichen

Einführung in Matlab, 2. Teil

Approximation, Interpolation, numerische Integration

8 Polynominterpolation

Institut für Geometrie und Praktische Mathematik

Woche 08/12 15/12 4. Gershgorin-Kreise, Stabilität und Kondition 1 / 8

Approximation durch Polynome

Numerische Mathematik für das Lehramt - Formelsammlung

ÜBUNGSAUFGABEN ZUR NUMERIK 1

Interpolation. Kapitel 3

, r [0, 2], ϕ [0,π/2], ϑ [0,π/6]. x 3. x 2 2 x 2 1. F(x) = x 2 3

MATLAB-Toolskurs HS17

Übungen zu Splines Lösungen zu Übung 20

Tschebyscheff-Polynome

Klausurlösung Einführung in Numerische Methoden und FEM Universität Siegen, Department Maschinenbau,

a) Die Householder-Transformation, welche den ersten Spaltenvektor a 1 = der Matrix A auf , a 1 αe A = QR, A k =: Q k R k, A k+1 := R k Q k.

Transkript:

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS 2006 Die Programmieraufgaben Jan Mayer 18. Mai 2006

Lösung zur ersten Aufgabe Tschebyscheff Stuetzstellen.m function xs = Tschebyscheff Stuetzstellen(n); % berechnet die Nullstellen des n-ten Tschebyscheff-Polynoms. xs = cos( (2*((1:n) )-1)*pi/(2*n) ); Runge.m function y = Runge(x) % Berechnet 1 / (1+ 25x^2) y = 1./ (1+25*x.^2); Matlab: eine kleine Einführung 2

NewtonInterpolation.m function s = NewtonInterpolation(xs,f) % Eingabe: Stützstellen xs. % Stützwerte y. % Ausgabe: Steigungen s. n = length(xs); F = zeros(n,n); F(:,1) = f; for m = 2:n for k = m:n F(k,m) = (F(k-1,m-1)-... F(k,m-1))/(xs(k-m+1)-xs(k)); s=diag(f); Matlab: eine kleine Einführung 3

Lösung zur ersten Aufgabe eval NewtonPolynom.m function y = eval NewtonPolynom(xs,s,x) % Wertet das Newtonpolynom mit Horner-Schema aus. % Eingabe: Stützstellen xs. % Steigungen s. % Stelle x. % Ausgabe: Funktionswerte y. n = length(s); y = s(n)*ones(size(x)); for k = n-1:-1:1 y = y.*(x-xs(k)) + s(k); Matlab: eine kleine Einführung 4

Lösung zur ersten Aufgabe visualisierung aequidistant.m function visualisierung aequidistant(ssz) xplot = (-1:0.01:1) ; Y = []; for k = SSZ xs = (-1:(2/(k-1)):1) ; s = NewtonInterpolation(xs,Runge(xs)); yplot = eval NewtonPolynom(xs,s,xplot); Y = [Y,yplot]; Y = [Runge(xplot),Y]; plot(xplot,y); Matlab: eine kleine Einführung 5

Lösung zur ersten Aufgabe visualisierung aequidistant.m function visualisierung aequidistant(ssz) xplot = (-1:0.01:1) ; Y = []; for k = SSZ xs = (-1:(2/(k-1)):1) ; s = NewtonInterpolation(xs,Runge(xs)); yplot = eval NewtonPolynom(xs,s,xplot); Y = [Y,yplot]; Y = [Runge(xplot),Y]; plot(xplot,y); Matlab: eine kleine Einführung 6

Lösung zur ersten Aufgabe visualisierung Tschebyscheff.m function visualisierung Tschebyscheff(SSZ) xplot = (-1:0.01:1) ; Y = []; for k = SSZ xs = Tschebyscheff Stuetzstellen(k); s = NewtonInterpolation(xs,Runge(xs)); yplot = eval NewtonPolynom(xs,s,xplot); Y = [Y,yplot]; Y = [Runge(xplot),Y]; plot(xplot,y); Matlab: eine kleine Einführung 7

Die 2. Aufgabe: Kubische Spline-Interpolation der Lemniscate Die Lemniscate ist gegeben in Parameterform durch: cos t x 1 + sin 2 t = Φ(t) = y sin t cos t, t R 1 + sin 2 t 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 Matlab: eine kleine Einführung 8

Die 2. Aufgabe visualisierung natuerlicher spline.m function visualisierung natuerlicher spline(ssz) % t-werte für Plot: t = (0 : 2*pi/200 : 2*pi) ; % exakte Werte für Lemniscate abspeichern: [X,Y] = lemniscate(t); Matlab: eine kleine Einführung 9

Die 2. Aufgabe visualisierung natuerlicher spline.m for k = SSZ % äquidistante Stützstellen bestimmen: ts = (0:2*pi/(k-1):2*pi) ; % Werte für Stützstellen berechnen: [fx,fy] = lemniscate(ts); % sigmas für x bzw. y Werte berechnen: sigmax = sigma natuerlicher spline(ts,fx); sigmay = sigma natuerlicher spline(ts,fy); % Splines for x bzw. y Werte erzeugen: Sx = spline erzeugen(ts,fx,sigmax); Sy = spline erzeugen(ts,fy,sigmay); Matlab: eine kleine Einführung 10

Die 2. Aufgabe visualisierung natuerlicher spline.m % Splines auswerten: x = spline auswerten(sx,t); y = spline auswerten(sy,t); % Matrix zum plotten aufbauen: X = [X,x]; Y = [Y,y]; plot(x,y); Matlab: eine kleine Einführung 11

Die 2. Aufgabe visualisierung periodischer spline.m: verwe: sigma periodischer spline statt sigma natuerlicher spline Matlab: eine kleine Einführung 12

Weitere Hinweise zur 2. Aufgabe Ein kubischer Spline kann dargestellt werden in der Form: s(x) = γ j (x x j 1 ) 3 + δ j (x j x) 3 + α j (x x j 1 ) + β j (x j x) für x [x j 1,x j ], j = 2,...,n und mit γ j = σ j 6h j 1 δ j = σ j 1 6h j 1 α j = f j 1 6 h2 j 1 σ j h j 1 β j = f j 1 1 6 h2 j 1 σ j 1 h j 1. Beachte: diese Formeln unterscheiden sich von denen aus der Vorlesung, da die Indizierung bei 1 statt 0 beginnt! Matlab: eine kleine Einführung 13

Weitere Hinweise zur 2. Aufgabe Speicher deswegen ab in einer (n 5)-Matrix S spaltenweise: S(1:n,1) = xs S(2:n,2) = γ S(2:n,3) = δ S(2:n,4) = α S(2:n,5) = β. Beachte: Die Elemente S(1, 2: 5) sind bedeutungslos. Matlab: eine kleine Einführung 14

Weitere Hinweise zu MATLAB Vektorisierung for-schleifen werden normalerweise verwet um: eine Rekursion durchzuführen. Die berechneten Werte hängen von einander ab, z.b. x n+1 = f(x n ), n = 1,...,N. Hier muss eine for-schleife verwet werden! Matlab: eine kleine Einführung 15

Weitere Hinweise zu MATLAB Vektorisierung for-schleifen werden normalerweise verwet um: diesselbe Rechnung für alle Einträge in einem Vektor bzw. Matrix durchzuführen. In diesem Fall hängt keiner der berechneten Werte von anderen ab, z.b. x n = 4 x n oder x n = n x n, n = 1,...,N. Hier sollte durch Vektorisierung die for-schleife vermieden werden! x = 4*x bzw. x = (1:length(x)).*x Matlab: eine kleine Einführung 16

Nach dem 1. Schritt: Vektorisierung Gauß sche Elimination 0 0 0 0 0 keinen Zugriff : nur gelesen, unverändert verändert Matlab: eine kleine Einführung 17

Vektorisierung for i = k+1:n for j = k+1:n A(i,j) = A(i,j) - A(i,k)*A(k,j)/A(k,k); i = k+1:n j = k+1:n A(i,j) = A(i,j) - A(i,k)*A(k,j)/A(k,k); Rechenzeit 1 für n=300 und k=1: mit for-scheifen: 3.46 sec. mit Vektorisierung: 0.11 sec. 1 Higham, D.; Higham N.: Matlab Guide. SIAM 2000. Matlab: eine kleine Einführung 18

Weitere Hinweise zu MATLAB Speicherplatzreservierung x(1:2)=1; for i = 3:n x(i) = 0.25*x(i-1)^2 - x(i-2); x = ones(n,1); for i = 3:n x(i) = 0.25*x(i-1)^2 - x(i-2); Rechenzeit 2 für n=10000: ohne Speicherplatzzuweisung im Voraus: 5.88 sec. mit Speicherplatzzuweisung im Voraus: 0.38 sec. 2 Higham, D.; Higham N.: Matlab Guide. SIAM 2000. Matlab: eine kleine Einführung 19