Numerische Analysis - Matlab-Blatt 5

Ähnliche Dokumente
Numerische Analysis - Matlab-Blatt 1

Numerische Lineare Algebra - Matlab-Blatt 2

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

Übungsblatt 4 Musterlösung

NUMERISCHE MATHEMATIK I

Numerische Lineare Algebra - Matlab-Blatt 5

Numerische Verfahren und Grundlagen der Analysis

Numerische Lineare Algebra - Matlab-Blatt 1

5. Numerische Differentiation. und Integration

Numerische Verfahren

LABORÜBUNG MATLAB/OCTAVE

Übungsblatt 3 Musterlösung

Numerische Methoden 7. Übungsblatt

Tutorial: Numerisch Differenzieren

Einführung in die numerische Mathematik

Kapitel 4. Numerische Differentiation und Integration

Modulprüfung Numerische Mathematik 1

5. Numerische Differentiation. und Integration

KAPITEL 10. Numerische Integration

VF-3: Gegeben seien die Daten f(x 0 ), f(x 1 ),..., f(x n ) mit x 0,..., x n paarweise verschiedenen und

Tutorial: Numerisch Differenzieren

Numerische Integration

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

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.

Übungsblatt 2 Musterlösung

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

Lösungsvorschlag zur Modulprüfung Numerische Methoden Sommersemester 2016

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.

Numerisches Programmieren, Übungen

D-ITET, D-MATL Numerische Methoden FS 2018 Dr. R. Käppeli P. Bansal. Lösung 3. j j + 1 P j 1(x), j 1. 2(1 x 2 k ) 2. ((j + 1)P j (x k ))

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

Institut für Geometrie und Praktische Mathematik

Nachklausur am Donnerstag, den 7. August 2008

ETHZ, D-MATH. Numerische Methoden D-PHYS, WS 2015/16 Dr. V. Gradinaru

Institut für Geometrie und Praktische Mathematik

Musterlösungen zur Leistungsnachweisklausur vom Studiengang Informatik, Ingenieurinformatik, Lehramt

Numerik SS Übungsblatt 3

5 Numerische Mathematik

Numerische Lineare Algebra - Theorie-Blatt 1

Übungsblatt Matlab-Zentralübung Musterlösung

(x x j ) x [a,b] n! j=0

Numerische Integration

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

VF-3: Es seien A R n n beliebig aber regulär, b R n und gesucht sei die Lösung x R n von A x = b.

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

GMA. Grundlagen Mathematik und Analysis. Nullstellen und Fixpunkte Reelle Funktionen 3. Christian Cenker Gabriele Uchida

Technische Numerik Numerische Integration

Wima 1 - Praktikum (Woche 6)

Interpolation und Integration mit Polynomen

7 Numerische Integration

Interpolation, numerische Integration

Kurztest zur Numerik I WiR AG, Dep. Mathematik, NT-Fakultät, Universität Siegen

7 Numerische Integration

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

Numerik gewöhnlicher Differentialgleichungen. Übung 8 - Lösungsvorschlag

Eine kurze Einführung in GNU Octave (Teil 2)

Klausur,,Algorithmische Mathematik II

Numerisches Programmieren, Übungen

Übungen zu Splines Lösungen zu Übung 20

Name Vorname Fachrichtg. Matrikelnr. Punkte Klausur Aufgabe max. Punkte Punkte. Bitte beachten!

D-MATH Numerische Methoden FS 2018 Dr. Vasile Gradinaru Kjetil Olsen Lye. Serie 2. 1 f i (x)dx

Numerische Methoden 6. Übungsblatt

Klassische Polynom Interpolation.

Numerische Mathematik

6. Polynom-Interpolation

2. Gauß-Integration. Prof. Dr. Wandinger 4. Scheibenelemente FEM 4.2-1

Numerische Integration

Numerische Ableitung

Analysis II für Studierende der Ingenieurwissenschaften

Einführung in die numerische Mathematik

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

1. Anfangswertprobleme 1. Ordnung

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

Mathematische Modellierung am Rechner I. Frank Fischer Institut für Informatik Sommersemester 2018

1. Anfangswertprobleme 1. Ordnung

Transkript:

Prof. Dr. Stefan Funken Universität Ulm M.Sc. Andreas Bantle Institut für Numerische Mathematik Dipl.-Math. oec. Klaus Stolle Sommersemester 05 Numerische Analysis - Matlab-Blatt 5 Lösung (Besprechung in den Matlab-Tutorien in KW 5/6) Hinweise: Siehe Matlab-Blatt /. Aufgabe 8 (Newton-Cotes Formeln) (7+5 Punkte) Die klassische Newton-Cotes-Formel bei einer äquidistanten Knotenwahl a = x 0 x x... x n = b lautet ( n ) b Î n (f) = (b a) ω k f(x k ) f(x)dx. k= (i) Schreiben Sie eine Funktion I = newtoncotes(f,a,b,n,method) a die das Integral b f(x)dx mit Hilfe der summierten Mittelpunktsregel a b n xk n ( ) xk +x k f(x)dx = f(x)dx h k f (h k := x k x k ) x k a k= bzw. der summierten Trapezregel b a f(x)dx = n k= xk x k f(x)dx k= n k= h k f(x k )+f(x k ) numerisch berechnet. Als Eingabeparameter erhält die Funktion das function handle f die Intervallgrenzen a,b die Anzahl der Teilintervalle n (h k := x k x k ) einen String method, der angibt ob die summierte Mittelpunktsregel ( Mittelpunkt ) oder die summierte Trapezregel ( Trapez ) verwendet werden soll. Verwenden Sie zur Berechnung äquidistante Teilintervalle der Schrittweite h = (b a)/n. function I = newtoncotes(f,a,b,m,method) 3 %*** Schrittweite und Stuetzstellen berechnen 4 h = (b-a)/m; 5 t = linspace(a,b,m+); 6 7 if strcmp(method, Mittelpunkt ) 8 %*** Mittelpunkte berechnen 9 x = (t(:end-)+t(:end))/; 0 I = h*sum(f(x)); elseif strcmp(method, Trapez ) %*** Gewichtsfunktion definieren

3 w = ones(,m+); w() = 0.5; w(m+) = 0.5; 4 I = h*sum(w.*f(t)); 5 else 6 error( Methode zur Berechnung des Integrals wird nicht unterstuetzt. ) 7 end (ii) Schreiben Sie ein Testskript testnewtoncotes.m, welches die Integrale e x +x 3 + dx und +x4 0 0 +x dx numerisch berechnet. Plotten Sie jeweils den Fehler für n =,,..., 4 Teilintervalle zur exakten Lösung, welche Sie mit der Matlab-Funktion integral berechnen können. clear all; close all; clc; 3 %*** definiere ANzahl der Intervalle 4 m =.^(:4); 5 6 %*** Beispiel 7 f = @(x) exp(x) + x.^3+./(x.^4+); 8 a = -; b = ; 9 I_exact = integral(f,a,b); 0 %*** Beispiel 3 % f = @(x)./(+x.^); 4 % a = -0; b = 0; 5 % I_exact = integral(f,a,b); 6 7 %*** Initialisiere Variablen 8 errm = zeros(length(m),); 9 errt = zeros(length(m),); 0 for k=:length(m) 3 %*** Mittelpunktsformel 4 I_M = newtoncotes(f,a,b,m(k), Mittelpunkt ); 5 errm(k) = abs(i_m-i_exact); 6 7 %*** Trapezsummenformel 8 I_T = newtoncotes(f,a,b,m(k), Trapez ); 9 errt(k) = abs(i_t-i_exact); 30 end 3 3 %*** Fehler darstellen 33 figure 34 loglog(m,errm, *-,m,errt, r*- ) 35 legend( Mittelpunkt, Trapez ) 36 loglogtriangle(e,e4,e-,, l ) Aufgabe 9 (Adaptive Quadratur) In dieser Aufgabe betrachten wir Integrale der Form 0 x α dx, α (0,). (3+5+5+5 Punkte) Da der Integrand stetig, aber nicht stetig differenzierbar auf [0, ] ist, erhalten wir mit der summierten Mittelpunktsregel bzgl. äquidistanten Teilintervalle der Länge h nicht mehr die optimale Konvergenz O(h ). (i) Bestimmen Sie numerisch die Konvergenzrate des Fehlers für die summierte Mittelpunktsformel zu äquidistanten Intervallen für verschiedene Werte von α (0, ). Welche Vermutung für die Konvergenzrate können Sie daraus für allgemeines α (0,) ableiten? Konvergenzrate: O ( h +α)

0 Mittelpunkt Trapez 0 0 0 0 4 0 6 0 8 0 0 0 0 0 3 0 4 0 5 clc, clear all,close all 3 %*** definiere Intervallgrenzen 4 a = 0; b = ; 5 %*** definiere alpha 6 alpha = 0.5; 7 %*** definieren integrand und berechne exaktes Integral 8 f = @(x) x.^alpha; 9 Iex = /(alpha+)*(b^(alpha+)-a^(alpha+)); 0 n =.^(:3); 3 for k=:length(n) 4 5 t = linspace(a,b,n(k)+); 6 x = (t(:end-)+t(:end))/; 7 h = (b-a)/n(k); 8 IM(k) = h*sum(f(x)); 9 err(k) = abs(iex-im(k)); 0 end loglog(n,err, -r*,n,e-*n.^(-alpha-), -k ) Um die optimale Konvergenz des Fehlers O(h ) auch für Integranden zu erreichen, die keine C -Regularität besitzen, führen wir ein graduiertes Gitter für die Teilintervalle ein: x i = ( ) β i, i = 0,...,n, β > 0. n Bzgl. dieser graduierten Knoten x i approximieren wir das Integral dann durch eine modifizierteßummierte Mittelpunktsformel. (ii) Zunächst Untersuchen wir die Abhängigkeit des Quadraturfehlers von β. Schreiben Sie dazu eine Skript adapquad.m, welches zu α {/3, /, 7/8} und n = 04 den Quadraturfehler der summierten Mittelpunktsformel bzgl. der graduierten Knoten in Abhängigkeit von β [, 5] plottet. Zeichnen Sie dabei außerdem auch

0 0 0 3 0 4 0 5 0 6 0 7 0 8 0 0 0 0 0 3 0 4 das diskrete Minimum der Funktion ein. close all; clear all; clc; 3 %*** definiere alpha 4 alpha = [/3 / 7/8]; 5 6 %*** definiere Intervallgrenzen 7 a = 0; b = ; 8 n = 04; 9 0 for k=:length(alpha) %*** definieren integrand und berechne exaktes Integral f = @(x) x.^alpha(k); 3 Iex = /(alpha(k)+)*(b^(alpha(k)+)-a^(alpha(k)+)); 4 5 %*** berechne Integral fuer graduiertes Gitter 6 % setze beta 7 beta = linspace(,5,500); 8 9 for j = :length(beta) 0 % berechne St tzstellen t = linspace(a,b,n+).^beta(j); x = (t(:end-)+t(:end))/; 3 h = t(:end)-t(:end-); 4 IGrad = (b-a)*sum(h.*f(x)); 5 errgrad(j) = abs(igrad-iex); 6 7 end 8 9 %*** bestimme optimales beta 30 [errgradopt(k),ind] = min(abs(errgrad)); 3 3 %*** Plotte Ergebnisse 33 figure( k)

34 set(gca, FontSize,) 35 plot(beta,errgrad) 36 hold on; 37 plot(beta(ind),errgradopt(k), r* ); 38 xlabel( beta ) 39 ylabel( Error ) 40 title( { [ alpha =,numstr(alpha(k)),, n =,numstr(n), with betamin =, numstr(beta(ind))] } ) 4 4 end 6 x alpha = 0.33333, n = 04 with betamin =.45 0 6 5 4 Error 3 0.5.5 3 3.5 4 4.5 5 beta x 0 6 alpha = 0.5, n = 04 with betamin =.994.8.6.4. Error 0.8 0.6 0.4 0. 0.5.5 3 3.5 4 4.5 5 beta (iii) Um für jedes α ein optimales β zu finden, soll nun die Abhängigkeit β(α) bestimmt werden. Dabei wählt man folgenden Ansatz β opt (α) = 3 (+α) k mit k N.

8 x 0 8 alpha = 0.875, n = 04 with betamin =.60 7 6 Error 5 4 3.5.5 3 3.5 4 4.5 5 beta Schreiben Sie ein Skript getoptbeta.m,welchesfür n = 04und α [0.,0.99]jeweils das optimale β min (α) > 0 numerisch ermittelt. Plotten Sie β min (α) über + α in einer doppelt logarithmischer Skala. Bestimmen Sie außerdem den Wert von k N, für den die Schranke β opt (α) eine gute Näherung an β min (α) liefert. (x-achse: +α, y-achse: β min bzw. β opt ). close all; clear all; clc; 3 %*** definiere alpha 4 alpha = linspace(0.,0.99,5); 5 a = 0; b = ; 6 n = 04; 7 8 for k = :length(alpha) 9 %*** definiere Integrand 0 f = @(x) x.^alpha(k); beta = linspace(,5,00); 3 for j= :length(beta) 4 %*** werte Mittelpunktsformel aus 5 Iex = /(alpha(k)+)*(b^(alpha(k)+)-a^(alpha(k)+)); 6 t = linspace(a,b,n+).^beta(j); 7 x = (t(:end-)+t(:end))/; 8 h = t(:end)-t(:end-); 9 IGrad = (b-a)*sum(h.*f(x)); 0 %*** berechne Fehler errbeta(j) = abs(iex-igrad); end 3 [~,ind] = min(abs(errbeta)); 4 betamin(k) = beta(ind); 5 6 end 7 8 %% plot result 9 set(gca, FontSize,) 30 loglog(+alpha,betamin, *-,+alpha,3*(+alpha).^(-), *-,+alpha,3*(+alpha).^(-), *-,+alpha,3*(+alpha).^(-3), *- ) 3 xlabel( +\alpha ) 3 ylabel( \beta ) 33 legend( Numerisch, k = -, k = -, k = -3 )

Numerisch k = k = k = 3 β 0 0 0 0. 0 0. +α Für k= ergibt sich eine gute Näherung. (iv) Schreiben Sie ein Skript getconvrate.m, welches zu α = / den Quadraturfehler für die äquidistanten Teilintervalle und die graduierten Teilintervalle mit dem in (iii) gewonnenen Wert für β opt über n =,,..., 3 plottet. Verwenden Sie eine doppelt logarithmische Skala. Welche Konvergenzraten ergeben sich? clear all; close all; 3 4 a = 0; b = ; 5 alpha = /; 6 f = @(x) x.^alpha; 7 beta = 3/(+alpha); 8 9 %*** berechne exaktes Integral 0 Iex = /(alpha+)*(b^(alpha+)-a^(alpha+)); n =.^(:3); 3 4 for k=:length(n) 5 %**** summierte MPR 6 t = linspace(a,b,n(k)+); 7 x = (t(:end-)+t(:end))/; 8 h = (b-a)/n(k); 9 IM(k) = h*sum(f(x)); 0 %*** graduiertes Gitter t = t.^beta; 3 x = (t(:end-)+t(:end))/; 4 h = t(:end)-t(:end-); 5 IGrad(k) = (b-a)*sum(h.*f(x)); 6 7 %*** Fehler berechnen 8 errm(k) = abs(iex-im(k)); 9 errgrad(k) = abs(iex-igrad(k)); 30 end 3 3 figure 33 set(gca, FontSize,) 34 loglog(n,errm, *-,n,errgrad, +-,n,e-*n.^(--alpha), -k,n,e-*n.^(-), -k ) 35 ylabel( Quadraturfehler )

36 xlabel( n ) 37 legend( Aequidistant, Graduiert, Rate N^{.5}, Rate N^ ) 38 title( Konvergenz Raten ) 0 0 0 Konvergenz Raten Aequidistant Graduiert Rate N.5 Rate N Quadraturfehler 0 4 0 6 0 8 0 0 0 0 0 0 0 3 0 4 n Mit dem äquidistanten Gitter erhält man näherungsweise eine Konvergenzrate von.5, mit dem graduierten Gitter erhält man in etwa quadratische Konvergenz. Mehr Informationen zur Vorlesung und den Übungen finden Sie auf http://www.uni-ulm.de/mawi/mawi-numerik/lehre/sose5/numana0.html