Numerische Methoden elektromagnetischer Felder - Exam.pdf

Numerische Methoden elektromagnetischer Felder - Exam
Numerische Methoden elektromagnetischer Felder - Exam Aufgabe 1) Grundlagen der Diskretisierung: Die Diskretisierung ist ein zentraler Schritt bei der numerischen Lösung von Differentialgleichungen und der Modifikation kontinuierlicher Modelle und Gleichungen in diskrete Gegenstücke. Für Deine Aufgabenstellungen sind folgende Konzepte grundlegend: Diskretisierungsverfahren: Zu den gängigen Methode...

© StudySmarter 2024, all rights reserved.

Numerische Methoden elektromagnetischer Felder - Exam

Aufgabe 1)

Grundlagen der Diskretisierung: Die Diskretisierung ist ein zentraler Schritt bei der numerischen Lösung von Differentialgleichungen und der Modifikation kontinuierlicher Modelle und Gleichungen in diskrete Gegenstücke. Für Deine Aufgabenstellungen sind folgende Konzepte grundlegend:

  • Diskretisierungsverfahren: Zu den gängigen Methoden gehören die Finite-Differenzen-Methode, die Finite-Elemente-Methode und die Finite-Volumen-Methode.
  • Prinzip: Bei diesen Verfahren werden Ableitungen durch Differenzenquotienten ersetzt, um die kontinuierlichen Gleichungen in ein System von algebraischen Gleichungen zu überführen.
  • Gittergenerierung: Dabei ist die Wahl geeigneter Diskretisierungspunkte (Gitterpunkte) wesentlich, um die Genauigkeit und Effizienz der Lösung zu gewährleisten.
  • Trunkierungsfehler: Diese entstehen als Folge der Diskretisierung und können durch eine feinere Gitterauflösung reduziert werden.
  • Stabilität und Konvergenz: Diese Eigenschaften der Diskretisierungsverfahren gewährleisten, dass die diskretisierten Lösungen korrekt und zuverlässig sind.

a)

Angenommen, Du hast ein einfaches eindimensionales Wärmeleitungsgleichungsmodell: \[\frac{\text{d}u}{\text{d}t} = \frac{\text{d}^2u}{\text{d}x^2}\] Verwende die Finite-Differenzen-Methode, um eine explizite Diskretisierung dieser Gleichung herzuleiten. Zeige alle Schritte und erläutere die Wahl der Zeit- und Raum-Schritte sowie die Stabilitätskriterien, die für diesen Ansatz gelten.

Lösung:

Lösung der Teilaufgabe:Um die eindimensionale Wärmeleitungsgleichung \(\frac{\text{d}u}{\text{d}t} = \frac{\text{d}^2u}{\text{d}x^2}\) mit der Finite-Differenzen-Methode (FDM) zu diskretisieren, gehen wir Schritt für Schritt vor.

  • Diskretisierung in Zeit und Raum:Wir setzen ein Gitternetz voraus, wobei wir die Zeit in diskrete Intervalle \(\Delta t\) und den Raum in diskrete Intervalle \(\Delta x\) diskretisieren. Die Gitterpunkte bezeichnen wir wie folgt:
    • \(u_{i}^{n} = u(x_{i}, t_{n})\): Wert der Temperatur an der Position \(x_{i}\) und zum Zeitpunkt \(t_{n}\)
  • Diskretisierung der Ableitungen:Die zeitliche Ableitung \(\frac{\text{d}u}{\text{d}t}\) an einem Punkt \(x_{i}\) und zur Zeit \(t_{n}\) wird durch einen Vorwärtsdifferenzenquotienten angenähert:
    • \(\frac{\partial u}{\partial t} \approx \frac{u_{i}^{n+1} - u_{i}^{n}}{\Delta t}\)
  • Die räumliche zweite Ableitung \(\frac{\text{d}^2u}{\text{d}x^2}\) wird durch einen zentralen Differenzenquotienten angenähert:
    • \(\frac{\partial^2 u}{\partial x^2} \approx \frac{u_{i+1}^{n} - 2u_{i}^{n} + u_{i-1}^{n}}{(\Delta x)^2}\)
  • Explizite Diskretisierung der Differentialgleichung:Setzen wir die diskretisierten Ableitungen in die Wärmeleitungsgleichung ein, erhalten wir:
    • \(\frac{u_{i}^{n+1} - u_{i}^{n}}{\Delta t} = \frac{u_{i+1}^{n} - 2u_{i}^{n} + u_{i-1}^{n}}{(\Delta x)^2}\)
  • Umstellen nach \(u_{i}^{n+1}\):
    • \(u_{i}^{n+1} = u_{i}^{n} + \frac{\Delta t}{(\Delta x)^2} \cdot (u_{i+1}^{n} - 2u_{i}^{n} + u_{i-1}^{n})\)
  • Wahl der Zeit- und Raum-Schritte:\(\Delta t\) und \(\Delta x\) müssen so gewählt werden, dass die Stabilität des numerischen Verfahrens gewährleistet ist. Für die explizite Methode ergibt sich das Stabilitätskriterium aus der von-Neumann-Stabilitätsanalyse:
    • \(\frac{\Delta t}{(\Delta x)^2} \leq \frac{1}{2}\)
Zusammenfassend ergibt sich für die explizite Diskretisierung der Wärmeleitungsgleichung:
  • \(u_{i}^{n+1} = u_{i}^{n} + \frac{\Delta t}{(\Delta x)^2} \cdot (u_{i+1}^{n} - 2u_{i}^{n} + u_{i-1}^{n})\)
  • \(\Delta t\) und \(\Delta x\) müssen \(\frac{\Delta t}{(\Delta x)^2} \leq \frac{1}{2}\) erfüllen, um die Stabilität des Verfahrens zu gewährleisten.

b)

Diskretisiere die gleiche Gleichung aus dem ersten Teil mit der Finite-Elemente-Methode und beschreibe den Unterschied zum Ergebnis der Finite-Differenzen-Methode. Zeige dabei, wie Du den Raum in Elemente unterteilst und wie Du die Basisfunktionen wählst.

Lösung:

Lösung der Teilaufgabe:Um die gleiche eindimensionale Wärmeleitungsgleichung \( \frac{\text{d}u}{\text{d}t} = \frac{\text{d}^2u}{\text{d}x^2} \) mit der Finite-Elemente-Methode (FEM) zu diskretisieren, gehen wir Schritt für Schritt vor:

  • Gittergenerierung und Raumeinteilung in Elemente:Der Raum wird in finite Elemente unterteilt. Angenommen, wir haben ein Intervall \([0, L]\), das in \(N\) Elemente unterteilt wird. Die Knotenpunkte sind dann \(x_0, x_1, x_2, ..., x_N\), wobei sich die Knotenpunkte an den Enden der Elemente befinden.
  • Wahl der Basisfunktionen:Wir verwenden lineare Basisfunktionen, die lokal auf jedem Element definiert sind. Für jedes Element \([x_i, x_{i+1}]\) definieren wir zwei Basisfunktionen \(\varphi_i(x)\) und \(\varphi_{i+1}(x)\), die wie folgt aussehen:
    • \(\varphi_i(x) = \frac{x_{i+1} - x}{\Delta x},\; x \in [x_i, x_{i+1}]\)
    • \(\varphi_{i+1}(x) = \frac{x - x_i}{\Delta x},\; x \in [x_i, x_{i+1}]\)
  • Formulierung des Schwachheitsproblems:Das Schwachheitsproblem der Wärmeleitungsgleichung lautet:Finde \(u(x,t)\), sodass
    • \(\int_0^L \varphi_j \frac{\partial u}{\partial t} \text{d}x = \int_0^L \varphi_j \frac{\partial^2 u}{\partial x^2} \text{d}x\)
    für alle Testfunktionen \(\varphi_j\).
  • Diskretisierung:Setzen wir die Ansatzfunktion \(u(x,t) = \sum_{i=0}^N U_i(t) \varphi_i(x)\) ein und verwenden Testfunktionen \(\varphi_j(x)\), erhalten wir das diskrete System:
    • \(\sum_{i=0}^N \frac{\text{d}U_i(t)}{\text{d}t} \int_0^L \varphi_j \varphi_i \text{d}x = \sum_{i=0}^N U_i(t) \int_0^L \varphi_j \frac{\partial^2 \varphi_i}{\partial x^2} \text{d}x\)
  • Dies ergibt ein System linearer Differentialgleichungen für die Koeffizienten \(U_i(t)\). Die Integrale werden für benachbarte Basisfunktionen gelöst, wobei die Matrizen \(M\) und \(K\) wie folgt entstehen:
    • Massematrix \(M_{ij} = \int_0^L \varphi_j \varphi_i \text{d}x\)
    • Steifigkeitsmatrix \(K_{ij} = \int_0^L \varphi_j \frac{\partial^2 \varphi_i}{\partial x^2} \text{d}x\)
Die entstehende diskretisierte Gleichung ist:
  • \(M \frac{\text{d}U}{\text{d}t} = K U\)
Unterschied zur Finite-Differenzen-Methode:
  • FDM verwendet direkte Differenzquotienten zur Annäherung der Ableitungen an jedem Gitterpunkt. FEM hingegen basiert auf dem Schwachheitsproblem und verwendet lokale Basisfunktionen.
  • FEM ist flexibler in der Gittererstellung und kann besser mit komplexen Geometrien umgehen, während FDM einfacher zu implementieren ist und bei regelmäßigen Gittern effizienter sein kann.

c)

Untersuche den Trunkierungsfehler der Finite-Differenzen-Diskretisierung aus dem ersten Teil. Bestimme den Fehler der Diskretisierung sowohl in Zeit- als auch in Raumrichtung und erläutere, wie sich dieser Fehler durch die Wahl von kleineren Gitterschritten beeinflussen lässt.

Lösung:

Lösung der Teilaufgabe:Um den Trunkierungsfehler der Finite-Differenzen-Diskretisierung aus dem ersten Teil zu untersuchen, betrachten wir sowohl den Zeit- als auch den Raumfehler.

  • Diskretisierung der Zeit: Der Fehler beim Vorwärtsdifferenzenquotienten in der Zeit ergibt sich durch die Taylor-Reihe. Wir haben:\[\frac{u_{i}^{n+1} - u_{i}^{n}}{\Delta t} \approx \frac{\partial u}{\partial t} + \frac{\Delta t}{2} \frac{\partial^2 u}{\partial t^2} + \mathcal{O}(\Delta t^2)\]Der Trunkierungsfehler des Vorwärtsdifferenzenquotienten ist daher von der Ordnung \(\mathcal{O}(\Delta t)\).
  • Diskretisierung des Raums: Der Fehler beim zentralen Differenzenquotienten in der Raumrichtung ergibt sich ebenfalls durch die Taylor-Reihe. Wir haben:\[\frac{u_{i+1}^{n} - 2u_{i}^{n} + u_{i-1}^{n}}{(\Delta x)^2} \approx \frac{\partial^2 u}{\partial x^2} + \frac{\Delta x^2}{12} \frac{\partial^4 u}{\partial x^4} + \mathcal{O}(\Delta x^4)\]Der Trunkierungsfehler des zentralen Differenzenquotienten ist daher von der Ordnung \(\mathcal{O}(\Delta x^2)\).
Gesamt-Trunkierungsfehler:Wenn wir die resultierende Gleichung aus beiden Diskretisierungen betrachten, ergibt sich der Gesamt-Trunkierungsfehler aus der Kombination beider Fehler:
  • Gesamt-Trunkierungsfehler \(= \mathcal{O}(\Delta t) + \mathcal{O}(\Delta x^2)\)
Einfluss der Gitterschritte:Durch die Wahl kleinerer Gitterschritte \(\Delta t\) und \(\Delta x\) lässt sich der Trunkierungsfehler reduzieren. Insbesondere:
  • Reduktion von \(\Delta t\) reduziert den Fehler in der Zeitrichtung.
  • Reduktion von \(\Delta x\) reduziert den Fehler in der Raumrichtung schneller, da der Raumfehler quadratisch mit \(\Delta x\) abnimmt.
Zusammenfassend ergibt sich, dass eine feinere Gitterauflösung (kleinere \(\Delta t\) und \(\Delta x\)) den Gesamt-Trunkierungsfehler verringert und somit die Genauigkeit der Lösung verbessert.

d)

Diskutiere die Stabilität und Konvergenz der beiden Diskretisierungsverfahren (Finite-Differenzen- und Finite-Elemente-Methode), die Du in den vorigen Teilen verwendet hast. Erkläre, wie Du prüfen kannst, ob eine diskretisierte Lösung stabil und konvergent ist und welche Kriterien zu beachten sind.

Lösung:

Lösung der Teilaufgabe:Um die Stabilität und Konvergenz der Finite-Differenzen-Methode (FDM) und der Finite-Elemente-Methode (FEM) zu diskutieren, schauen wir uns beide Methoden im Detail an:

  • Stabilität und Konvergenz der Finite-Differenzen-Methode (FDM):
    • Stabilität: Ein numerisches Verfahren ist stabil, wenn Fehler, die während der Berechnungen auftreten, sich nicht unkontrolliert fortpflanzen. Für die FDM wird die Stabilität häufig durch die von-Neumann-Stabilitätsanalyse überprüft. Ein einfaches Kriterium für Stabilität ist das CFL-Kriterium (Courant-Friedrichs-Lewy-Bedingung). Für die explizite Diskretisierung der Wärmeleitungsgleichung lautet die Bedingung:\[\frac{\Delta t}{(\Delta x)^2} \leq \frac{1}{2}\]
    • Konvergenz: Ein Verfahren ist konvergent, wenn die numerische Lösung gegen die exakte Lösung konvergiert, wenn \(\Delta t\) und \(\Delta x\) gegen null gehen. Die Konvergenz hängt sowohl von der Konsistenz als auch von der Stabilität des Verfahrens ab. Ein konsistentes und stabiles Verfahren ist laut dem Lax-Richtmyer-Satz auch konvergent.
  • Stabilität und Konvergenz der Finite-Elemente-Methode (FEM):
    • Stabilität: Die Stabilität der FEM wird durch die Wahl der Basisfunktionen und des Feinheitsgrads der Gitterelemente bestimmt. Die FEM ist intrinsisch stabil, wenn korrekt angewendet. Allerdings sollte man auf die Qualität der Gittergenerierung und die Korrektheit der Formulierungen achten. Für zeitabhängige Probleme untersuchen wir ähnliche Kriterien wie bei der FDM.
    • Konvergenz: Die Konvergenz der FEM ergibt sich aus der Konsistenz des schwachen Problems und der Wahl der Finite-Element-Räume. Wenn die Diskretisierungen verfeinert werden (also \(\Delta x\) und \(\Delta t\) gegen null gehen und entsprechend feinere Elemente verwendet werden), konvergiert die nährungsweise bestimmte Lösung gegen die exakte Lösung.
Prüfung der Stabilität und Konvergenz:
  • Stabilität prüfen:
    • Für die FDM kann die von-Neumann-Stabilitätsanalyse verwendet werden, indem wir betrachten, wie ein kleiner Fehler auf den verschiedenen Gitterpunkten propagiert wird.
    • Bei der FEM kann die Stabilität durch die Qualität der Gitternetze und die Eigenschaften der verwendeten Basisfunktionen geprüft werden.
  • Konvergenz prüfen:Zur Prüfung der Konvergenz können wir die folgende Schritte durchführen:
    • Berechne numerische Lösungen für unterschiedliche Gitterschritte \(\Delta t\) und \(\Delta x\).
    • Vergleiche diese Lösungen mit einer bekannten exakten Lösung oder einer hochaufgelösten Referenzlösung.
    • Überprüfe, ob der Fehler abnimmt, wenn die Gitterschritte verkleinert werden. Dies wird meistens durch das Plotten des Fehlers gegen die Gittergröße geprüft.
Zusammenfassend lässt sich sagen, dass beide Methoden, die FDM und die FEM, jeweils eigene Stabilitäts- und Konvergenzkriterien haben. Während die FDM einfacher zu implementieren ist und klare Kriterien wie das CFL-Kriterium hat, ist die FEM flexibler und mächtiger bei komplexeren Geometrien. Es ist jedoch zwingend notwendig, entsprechende Stabilitäts- und Konvergenzprüfungen für das jeweilige numerische Modell durchzuführen.

Aufgabe 3)

Finite-Elemente-Methode (FEM): Mesh-Generierung und VerfeinerungErstellung und Optimierung eines Netzes (Mesh) zur diskreten Lösung von Feldgleichungen:

  • Elementtypen: Dreiecke (2D), Tetraeder (3D)
  • Netzqualität: Uniformität, Übergangsverhältnisse, Minimierung verzerrter Elemente
  • Verfeinerung: Adaptive Verfeinerung auf Basis von Fehlerschätzungen; Global oder lokal
  • Algorithmus: Delaunay-Triangulation, Advancing Front
  • Vermeidung von Fluch der Dimensionen: Einsatz hierarchischer Basen

a)

Erkläre den Vorteil der Delaunay-Triangulation im Vergleich zu einer beliebigen Triangulation bei der Mesh-Generierung. Insbesondere soll hierbei auf die Netzqualität und die Minimierung verzerrter Elemente eingegangen werden. Gib hierfür Beispiele von Netzgeometrien mit und ohne Delaunay-Triangulation.

Lösung:

Vorteil der Delaunay-Triangulation im Vergleich zu einer beliebigen Triangulation bei der Mesh-GenerierungDie Delaunay-Triangulation bietet mehrere Vorteile im Vergleich zu einer beliebigen Triangulation, insbesondere hinsichtlich der Netzqualität und der Minimierung verzerrter Elemente. Diese Vorteile lassen sich wie folgt erläutern:

  • Maximierung des kleinsten Winkels: Bei der Delaunay-Triangulation wird der kleinste Winkel in jedem Dreieck maximiert. Dies verhindert die Entstehung von sehr spitzen Dreiecken, die numerische Probleme verursachen könnten. Im Gegensatz dazu kann eine beliebige Triangulation oft Dreiecke mit sehr kleinen Winkeln erzeugen, die zu einer schlechten Netzqualität führen.
  • Keine überlappenden Elemente: Die Delaunay-Triangulation sorgt dafür, dass die Dreiecke sich nicht überlappen und dass keine langen und schmalen Dreiecke vorkommen. Dies ist besonders wichtig, um Verzerrungen im Netz zu minimieren.
  • Optimale Verbindung der Punkte: Die Delaunay-Triangulation verbindet Punkte in einer Weise, die keine Punktverbindungen innerhalb des konvexen Rumpfes der Punkte erzeugt. Dadurch bleibt die Struktur des Netzes so optimal wie möglich.
  • Adaptive Verfeinerung: Die Delaunay-Triangulation eignet sich gut für adaptive Verfeinerungstechniken, da sie einfach durch Hinzufügen und Entfernen von Punkten angepasst werden kann.
Beispiele:1. Netzgeometrie ohne Delaunay-Triangulation:Ein Beispiel für ein Netz ohne Delaunay-TriangulationDies ist ein Beispiel für ein Netz, bei dem die Dreiecke verzerrt sind und einige sehr spitze Winkel aufweisen. Diese Anordnung führt zu einer schlechten Netzqualität und kann zu numerischen Instabilitäten führen.2. Netzgeometrie mit Delaunay-Triangulation:Ein Beispiel für ein Netz mit Delaunay-TriangulationHier siehst Du ein Netz, das durch Delaunay-Triangulation erzeugt wurde. Die Dreiecke sind gleichmäßiger verteilt, die Winkel sind besser optimiert und es gibt keine verzerrten Elemente. Diese Anordnung verbessert die Netzqualität und die Stabilität numerischer Lösungen.Zusammenfassend bietet die Delaunay-Triangulation eine Methode zur Erzeugung von Netzen mit höherer Qualität und weniger verzerrten Elementen, was besonders bei der Finite-Elemente-Methode von Bedeutung ist. Durch die Maximierung der kleinsten Winkel und die Vermeidung von überlappenden Dreiecken trägt die Delaunay-Triangulation zu einem stabileren und effizienteren numerischen Lösungsprozess bei.

b)

Implementiere einen einfachen Algorithmus zur Delaunay-Triangulation in Python für ein gegebenes Set von Punkten im 2D-Raum. Der Algorithmus sollte in der Lage sein, Punkte hinzuzufügen und die Triangulation entsprechend anzupassen. Zeige Beispielcode und erkläre die Funktionsweise.

Lösung:

Algorithmus zur Delaunay-Triangulation in PythonHier ist ein einfacher Algorithmus zur Delaunay-Triangulation für ein gegebenes Set von Punkten im 2D-Raum. Der Algorithmus basiert auf dem Bowyer-Watson-Algorithmus, der effizient und leicht verständlich ist. Wir verwenden dazu eine Bibliothek namens `scipy.spatial`.### Beispielcode:

import numpy as npfrom scipy.spatial import Delaunayimport matplotlib.pyplot as plt# Funktion zur Erstellung und Anpassung der Delaunay-Triangulationclass DelaunayTriangulation:    def __init__(self, points):        self.points = np.array(points)        self.triangulate()    def triangulate(self):        self.tri = Delaunay(self.points)    def add_point(self, point):        self.points = np.vstack([self.points, point])        self.triangulate()    def plot(self):        plt.triplot(self.points[:, 0], self.points[:, 1], self.tri.simplices)        plt.plot(self.points[:, 0], self.points[:, 1], 'o')        plt.show()# Beispielpunktepoints = np.array([[0, 0], [1, 0], [0, 1], [1, 1], [0.5, 0.5]])# Erstellen der Delaunay-Triangulationtriangulation = DelaunayTriangulation(points)# Zeichnen der anfänglichen Triangulationtriangulation.plot()# Neuen Punkt hinzufügen und Triangulation anpassennew_point = [0.5, 0.2]triangulation.add_point(new_point)# Zeichnen der aktualisierten Triangulationtriangulation.plot()
### Erklärung der Funktionsweise:
  • Wir importieren die benötigten Bibliotheken: `numpy` zur Handhabung von Arrays, `scipy.spatial` für die Delaunay-Triangulation und `matplotlib.pyplot` zur Visualisierung.
  • Wir definieren eine Klasse `DelaunayTriangulation`, die die Punkte als Eingabe nimmt und eine Methode `triangulate` hat, um die Delaunay-Triangulation zu erstellen.
  • Die Methode `add_point` fügt einen neuen Punkt hinzu und passt die Triangulation an, indem sie die Punkte-Liste aktualisiert und `triangulate` erneut aufruft.
  • Die Methode `plot` zeichnet die aktuelle Triangulation mit `matplotlib`.
  • Im Beispielcode erstellen wir eine Anfangsmenge von Punkten und eine Delaunay-Triangulation daraus. Dann fügen wir einen neuen Punkt hinzu und passen die Triangulation entsprechend an.
  • Die Plot-Funktion visualisiert die Dreiecke vor und nach dem Hinzufügen des neuen Punktes.
Dieser einfache Algorithmus zeigt, wie Du eine Delaunay-Triangulation in Python erstellen und anpassen kannst. Du kannst diese Methode erweitern und verfeinern, um sie für komplexere Anwendungen zu nutzen.

Aufgabe 4)

Fehleranalyse und Genauigkeit in Diskretisierungsmethoden: Bei der numerischen Diskretisierung kontinuierlicher Modelle treten verschiedene Arten von Fehlern auf, einschließlich Rundungs- und Trunkierungsfehlern. Ziel dieser Aufgabe ist es, diese Fehler zu analysieren und die Genauigkeit der numerischen Ergebnisse zu bewerten. Dabei werden gängige Diskretisierungsmethoden wie die Finite-Differenzen-Methode, die Finite-Elemente-Methode und die Finite-Volumen-Methode betrachtet.

a)

Gegeben sei die Funktion \[ f(x) = e^x \] im Intervall [0,1]. Diskretisiere dieses Intervall mit \[ N=5 \] Gitterpunkten, und wende die zentrale Finite-Differenzen-Methode der zweiten Ordnung an, um die zweite Ableitung \[ f''(x) = e^x \] am Punkt \[ x=0.5 \] zu approximieren. Berechne den numerischen Näherungswert und vergleiche ihn mit dem exakten Wert der zweiten Ableitung.

Lösung:

Gegeben: Die Funktion \( f(x) = e^x \) im Intervall [0,1]. Diskretisiere dieses Intervall mit \( N=5 \) Gitterpunkten.

Diskretisierung:

  • Berechne die Schrittweite \( h \):
    • Die Schrittweite ist definiert als \(\frac{b-a}{N-1}\).
    • In unserem Fall ist \( a = 0 \) und \( b = 1 \), \(N = 5\).
    • Somit ergibt sich die Schrittweite \( h \) wie folgt:
    • \[ h = \frac{1 - 0}{5 - 1} = \frac{1}{4} = 0.25 \]
  • Die Gitterpunkte sind dann \( x_i \) für \( i = 0, 1, 2, 3, 4 \):
    • \[ x_0 = 0, x_1 = 0.25, x_2 = 0.5, x_3 = 0.75, x_4 = 1 \]
  • Werte der Funktion an den Gitterpunkten \( f(x_i) = e^{x_i} \) für \( i = 0, 1, 2, 3, 4 \) sind:
    • \( f(x_0) = e^0 = 1 \)
    • \( f(x_1) = e^{0.25} \approx 1.28403 \)
    • \( f(x_2) = e^{0.5} \approx 1.64872 \)
    • \( f(x_3) = e^{0.75} \approx 2.11700 \)
    • \( f(x_4) = e^1 = e \approx 2.71828 \)

Zentrale Finite-Differenzen-Methode der zweiten Ordnung:

  • Die zentrale Differenzenformel der zweiten Ordnung für die zweite Ableitung lautet:
  • \[ f''(x_i) \approx \frac{f(x_{i+1}) - 2f(x_i) + f(x_{i-1})}{h^2} \]
  • Für \( x = 0.5 \) verwenden wir die Gitterpunkte \( x_1 = 0.25 \), \( x_2 = 0.5 \) und \( x_3 = 0.75 \).
  • Der Näherungswert für \( f''(0.5) \) ist:
    • \[ f''(0.5) \approx \frac{f(x_3) - 2f(x_2) + f(x_1)}{h^2} \]
    • \[ f''(0.5) \approx \frac{e^{0.75} - 2e^{0.5} + e^{0.25}}{0.25^2} \]
    • \[ f''(0.5) \approx \frac{2.11700 - 2 \times 1.64872 + 1.28403}{0.0625} \]
    • \[ f''(0.5) \approx \frac{2.11700 - 3.29744 + 1.28403}{0.0625} \]
    • \[ f''(0.5) \approx \frac{0.10359}{0.0625} \approx 1.65744 \]

Vergleich des Näherungswerts mit dem exakten Wert:

  • Der exakte Wert der zweiten Ableitung ist \( f''(x) = e^x \).
  • Am Punkt \( x = 0.5 \) ist der exakte Wert:
  • \[ f''(0.5) = e^{0.5} \approx 1.64872 \]

Zusammenfassung:

  • Der numerisch approximierte Wert von \( f''(0.5) \) beträgt: \( 1.65744 \).
  • Der exakte Wert von \( f''(0.5) \) beträgt: \( 1.64872 \).
  • Der Fehler ist der Unterschied zwischen dem approximierten und dem exakten Wert:
  • \[ \text{Fehler} = 1.65744 - 1.64872 \approx 0.00872 \]

b)

Analyse der Fehlerabschätzung: Bestimme die Ordnung des Trunkierungsfehlers bei der zentralen Finite-Differenzen-Methode der zweiten Ordnung, die im ersten Teil der Aufgabe verwendet wurde. Gib die entsprechende allgemeine Formel an und analysiere, wie der Fehler in Abhängigkeit von der Gitterweite \[ h \] verläuft.

Lösung:

Analyse der Fehlerabschätzung:

Bei der zentralen Finite-Differenzen-Methode der zweiten Ordnung wird die zweite Ableitung einer Funktion so approximiert:

\[ f''(x_i) \approx \frac{f(x_{i+1}) - 2f(x_i) + f(x_{i-1})}{h^2} \]

Fehlerabschätzung:

  • Die zentrale Finite-Differenzen-Methode der zweiten Ordnung liefert eine Näherung für die zweite Ableitung \( f''(x) \) mit einem Trunkierungsfehler der Form:
  • \[ E_i = C \frac{h^2}{12} f^{(4)}(\xi_i) \]

Hierbei ist:

  • \( C \) eine Konstante, die vom Differenzenoperator abhängt
  • \( h \) die Schrittweite des Gitters
  • \( f^{(4)}(\xi_i) \) die vierte Ableitung der Funktion \( f \) an einem Punkt \( \xi_i \) im Intervall \( [x_{i-1}, x_{i+1}] \)

Da \( f(x) = e^x \), haben wir:

  • \[ f^{(4)}(x) = e^x \]
  • Die vierte Ableitung der Exponentialfunktion ist ebenfalls \( e^x \), was bedeutet, dass \( f^{(4)}(\xi_i) \approx e^\xi_i \).

Da der Exponentialfunktion \( e^\xi_i \) in unserem Intervall [0,1] keine großen Schwankungen aufweist, können wir den Trunkierungsfehler wie folgt zusammenfassen:

  • \[ E_i \approx C \frac{h^2}{12} e^\xi_i \]

Ordnung des Trunkierungsfehlers:

  • Der Trunkierungsfehler ist proportional zu \( h^2 \). Das bedeutet, dass die Methode eine Fehlerordnung von \( O(h^2) \) hat.
  • Wenn das Gitter feiner wird (\( h \) kleiner wird), sollte der Trunkierungsfehler quadratisch abnehmen.

Zusammengefasst:

  • Die zentrale Finite-Differenzen-Methode der zweiten Ordnung hat einen Trunkierungsfehler der Ordnung \( O(h^2) \).
  • Der Fehler nimmt mit dem Quadrat der Gitterweite \( h \) ab, was bedeutet, dass eine Halbierung der Gitterweite \( h \) zu einer Verringerung des Fehlers um den Faktor 4 führt.

c)

Diskutiere die Auswirkungen der Gitterverfeinerung auf die numerischen Ergebnisse. Wähle einen kleineren Wert für \[ h \] und berechne erneut die zweite Ableitung am Punkt \[ x=0.5 \] mit der zentralen Finite-Differenzen-Methode der zweiten Ordnung. Vergleiche die Ergebnisse mit den vorherigen und analysiere das Verhalten des numerischen Fehlers. Gibt es einen Punkt, an dem die Genauigkeit nicht weiter verbessert werden kann? Wenn ja, welche Fehlerquelle verhindert dies und wie könnte diese minimiert werden?

Lösung:

Diskutiere die Auswirkungen der Gitterverfeinerung auf die numerischen Ergebnisse:

Wir haben bereits gesehen, dass bei der zentralen Finite-Differenzen-Methode der zweiten Ordnung der Trunkierungsfehler proportional zu \( h^2 \) ist. Das bedeutet, dass durch Verfeinerung des Gitters (kleinerer Wert für \( h \)) der Trunkierungsfehler verringert wird.

Um die Auswirkungen der Gitterverfeinerung zu analysieren, wählen wir einen kleineren Wert für \( h \) und berechnen erneut die zweite Ableitung am Punkt \( x=0.5 \).

Angenommen, wir wählen \( N=9 \) Gitterpunkte statt \( N=5 \):

  • Berechnen wir die neue Schrittweite \( h \):
    • \[ h = \frac{1 - 0}{9 - 1} = \frac{1}{8} = 0.125 \]
  • Die Gitterpunkte sind dann:
    • \[ x_0 = 0, x_1 = 0.125, x_2 = 0.25, ..., x_4 = 0.5, ..., x_8 = 1 \]
  • Werte der Funktion an den Gitterpunkten:
    • \( f(x_0) = e^0 = 1 \)
    • \( f(x_1) = e^{0.125} \approx 1.133148 \)
    • \( f(x_2) = e^{0.25} \approx 1.284025 \)
    • ... (fortgesetzt für die restlichen Punkte) ...
    • \( f(x_4) = e^{0.5} \approx 1.64872 \)
    • ... (fortgesetzt für die restlichen Punkte) ...
    • \( f(x_8) = e^1 \approx 2.71828 \)

Nun verwenden wir die zentrale Finite-Differenzen-Methode der zweiten Ordnung, um die zweite Ableitung bei \( x=0.5 \) zu berechnen:

\[ f''(0.5) \approx \frac{f(x_5) - 2f(x_4) + f(x_3)}{h^2} \]

Einsetzen der entsprechenden Werte für \( x_3 = 0.375 \), \( x_4 = 0.5 \), und \( x_5 = 0.625 \):

  • \( f(x_3) = e^{0.375} \approx 1.45499 \)
  • \( f(x_4) = e^{0.5} \approx 1.64872 \)
  • \( f(x_5) = e^{0.625} \approx 1.86825 \)
  • Berechnung der zweiten Ableitung:
    • \[ f''(0.5) \approx \frac{1.86825 - 2 \times 1.64872 + 1.45499}{(0.125)^2} \]
    • \[ f''(0.5) \approx \frac{1.86825 - 3.29744 + 1.45499}{0.015625} \]
    • \[ f''(0.5) \approx \frac{0.0258}{0.015625} \approx 1.6512 \]

Vergleich der Ergebnisse:

  • Aus der vorherigen Berechnung mit \( N=5 \) hatten wir \( f''(0.5) \approx 1.65744 \).
  • Mit \( N=9 \), haben wir \( f''(0.5) \approx 1.6512 \).

Analyse des Verhaltens des numerischen Fehlers:

  • Der exakte Wert bei \( x=0.5 \) ist \( f''(0.5) = e^{0.5} \approx 1.64872 \).
  • Der Fehler mit \( N=5 \) Gitterpunkten war:
    • \[ Fehler \approx 1.65744 - 1.64872 \approx 0.00872 \]
  • Der Fehler mit \( N=9 \) Gitterpunkten ist:
    • \[ Fehler \approx 1.6512 - 1.64872 \approx 0.00248 \]

Wir sehen, dass der Fehler mit Verfeinerung des Gitters kleiner wird. Jedoch gibt es einen Punkt, an dem die Genauigkeit nicht weiter verbessert werden kann. Dies liegt an:

  • Rundungsfehlern: Diese treten auf, wenn Zahlen im Rechner nicht exakt dargestellt werden können. Rundungsfehler können sich bei sehr kleinen Schrittweiten \( h \) addieren und die Gesamtgenauigkeit begrenzen.

Um Rundungsfehler zu minimieren:

  • Verwende höhere Präzision in den Berechnungen, z.B. durch Verwendung von Gleitkomma-Variablen mit doppelter (double) oder höherer (quad) Genauigkeit.
  • Achte darauf, numerische Störungen, wie Subtraktion von fast gleichen Zahlen, zu vermeiden.
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden