\( \newcommand{\I}{\textnormal{i}} \newcommand{\e}{\textnormal{e}} \renewcommand{\Re}{\textnormal{Re}} \renewcommand{\Im}{\textnormal{Im}} \newcommand{\R}{\mathbb{R}} \newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\C}{\mathbb{C}} \newcommand{\K}{{\cal K}} \)

Analysis-Blog: Folge 56

Der Zwischenwertsatz

Wie wir die Existenz einer Nullstelle garantieren können


Peter Becker

veröffentlicht: 10 Jun 2021, zuletzt geändert: 12 May 2025 11:13

Schlüsselwörter: Zwischenwertsatz, Stetigkeit

Nullstellen von Funktionen, also Werte $x\in\R$ mit $f(x) = 0$ für eine Funktion $f$, spielen in der Mathematik eine bedeutende Rolle. Häufig stellen solche Nullstellen die Lösung eines mathematischen Problems dar. Betrachten wir hierzu beispielsweise die Suche nach Extremwerten. Auch wenn wir in diesem Blog den Begriff der Ableitung noch nicht thematisiert haben, so wissen Sie vermutlich aus der Schule, dass bei einer ableitbaren Funktion $f(x)$ (lokale) Extremwerte nur dort auftreten können, wo die Ableitung gleich null ist, also wo $f'(x) = 0$ gilt. Damit sind es die Nullstellen der Funktion $f'(x)$, die uns die Information liefern, wo überhaupt Extremstellen liegen können.

Für die Suche nach Nullstellen ist es hilfreich zu wissen, dass einen Funktion eine Nullstelle in einem bestimmten Intervall hat. So kann man erstens garantieren, dass überhaupt (mindestens) eine Nullstelle existiert und zweitens die Lage der Nullstelle auf ein hoffentlich kleines Intervall einschränken, was bei der numerischen Berechnung einer Nullstelle oft von großem Nutzen ist.

Um nun leicht solche Intervalle zu finden, für die wir garantieren können, dass sie eine Nustelle enthalten, benötigen wir ein mathematisches Werkzeug, also einen Satz, dessen Konklusion genau diese Aussage trifft. Solch ein Satz ist der Zwischenwertsatz. Er gehört zu den wichtigsten Sätzen der Analysis.

Für die Herleitung des Zwischenwertsatzes benötigen wir zunächst eine Hilfsaussage. Es handelt sich dabei im Prinzip um eine spezielle Variante des Zwischenwertsatzes.

Lemma

Es sei $f:[a,b]\rightarrow\R$ eine stetige Funktion und $f(a)\cdot f(b) < 0$.

Dann existiert ein $x\in(a,b)$ mit $f(x)=0$.

Beweis

Aus $f(a)\cdot f(b) < 0$ folgt, dass $f(a)$ und $f(b)$ verschiedene Vorzeichen haben müssen. O. B. d. A. gelte $f(a) < 0 < f(b)$. Den anderen Fall $f(a) > 0 > f(b)$ kann man analog beweisen.

Die Beweisidee besteht darin, dass wir eine Nullstelle mithilfe einer Intervallschachtelung konstruieren. Dazu benötigen wir zwei Folgen $(a_n)$ und $(b_n)$ mit gewissen Eigenschaften. Die beiden Folgen definieren wir rekursiv wie folgt: Wir setzen $a_1:= a$, $b_1:=b$ und für $n\geq 2$ \[ a_n := \left\{ \begin{array}{ll} a_{n-1}, & \textnormal{falls } f\left(\frac{a_{n-1}+b_{n-1}}{2}\right)\geq 0\\ \frac{a_{n-1}+b_{n-1}}{2}, & \textnormal{sonst} \end{array} \right. \] \[ b_n := \left\{ \begin{array}{ll} \frac{a_{n-1}+b_{n-1}}{2}, & \textnormal{falls } f\left(\frac{a_{n-1}+b_{n-1}}{2}\right)\geq 0\\ b_{n-1}, & \textnormal{sonst}. \end{array} \right. \] Zur Erläuterung: Die Folgenglieder $a_n$ und $b_n$ bilden jeweils die linke bzw. rechte Grenze eines Intervalls, in dem sich die Nullstelle befinden soll. Für die Berechnung des $n$-ten Intervalls bilden wir jeweils das arithmetische Mittel $\frac{a_{n-1}+b_{n-1}}{2}$ der linken Grenze $a_{n-1}$ und der rechten Grenze $b_{n-1}$ des $n-1$-ten Intervalls und prüfen den Funktionswert an dieser Stelle. Wenn der Funktionwert an der Stelle des arithmetischen Mittels kleiner als $0$ ist, ziehen wir die linke Intervallgrenze auf die Mitte, ansonsten die rechte. Die andere Intervallgrenze bleibt jeweils unverändert.

Mit dieser Konstruktion gilt für alle $n\in\N$:

  • $f(a_n) < 0\leq f(b_n)$
  • $a_n < b_n$
  • $[a_n,b_n]\subseteq[a_{n-1},b_{n-1}]$
  • $b_n-a_n = 2^{-(n-1)}(b_1-a_1)$ und damit $\lim_{n\rightarrow\infty}b_n-a_n = 0$.

Nach dem Satz über die Intervallschachtelung existiert also genau ein $x\in\R$ mit $x\in[a_n,b_n]$ für alle $n \in \mathbb{N}$. Aus dem Beweis des Satzes über die Intervallschachtelung wissen wir, dass dieses $x$ der gemeinsame Grenzwert der beiden Folgen $(a_n)$ und $(b_n)$ ist, also \[ \lim_{n\rightarrow\infty} a_n = x = \lim_{n\rightarrow\infty} b_n. \] Jetzt ist $f$ aber stetig. Daher gilt \[ 0 \geq \lim_{n\rightarrow\infty} f(a_n) = f(x) = \lim_{n\rightarrow\infty} f(b_n) \geq 0. \] woraus $f(x) = 0$ folgt. Wegen $f(a)\cdot f(b)\neq 0$ folgt auch noch $x\neq a \wedge x\neq b$ und somit $x\in(a,b)$.

Im Gegensatz zu diesem Lemma ist der allgemeine Zwischenwertsatz nicht auf die Existenz einer Nullstelle ausgerichtet, sondern sagt aus, dass eine stetige Funktion auf dem Intervall $[a,b]$ jeden Wert zwischen $f(a)$ und $f(b)$ annimmt.

Satz (Zwischenwertsatz)

Es sei $f:[a,b]\rightarrow\R$ eine stetige Funktion mit $f(a) < f(b)$.

Dann existiert für jedes $y\in[f(a),f(b)]$ ein $x\in[a,b]$ mit $f(x)=y$.

Beweis

Mit dem vorigen Lemma ist der Beweis des Zwischenwertsatzes recht einfach. Für $y=f(a)$ ergibt sich $x=a$ und für $y=f(b)$ ergibt sich $x=b$. Es sei also $f(a) < y < f(b)$ beliebig. Wir betrachten die Funktion \[ g(x) = f(x) - y. \] Es gilt $g(a) = f(a) - y < 0$ und $f(b) - y > 0$. Außerdem ist die Funktion $g(x)$ stetig, wenn $f(x)$ stetig ist. Damit sind die Voraussetzungen des Lemmas erfüllt, womit ein $x$ existiert mit $g(x) = 0$. Nun gilt \[ g(x) = 0 \Leftrightarrow f(x) - y = 0 \Leftrightarrow f(x) = y. \] Damit ist der Satz bewiesen.

In den Voraussetzungen zum Zwischenwertsatz steht die Bedingung $f(a) < f(b)$. Natürlich können wir den Zwischenwertsatz auch anwenden, wenn $f(a) > f(b)$ gilt. In diesem Fall werden von der Funktion $f$ dann alle Werte im Intervall $[f(b),f(a)]$ angenommen.

Hier kommt noch eine Grafik hin.

Eine der wichtigsten Anwendungen des Zwischenwertsatzes ist die Lokalisierung von Nullstellen. Hierzu betrachten wir ein Beispiel.

Beispiel

Wir möchten die Gleichung \[ x^5 + x = -1 \] lösen. Dies ist äquivalent dazu, eine Nullstelle der Funktion \[ f(x) = x^5 + x + 1 \] zu finden. Als Polynom ist die Funktion $f$ stetig. Weiterhin gilt \[ f(-1) = (-1)^5 - 1 + 1 = -1 \] und $f(0) = 1$. Mit dem Zwischenwertsatz folgt also, dass im Intervall $(-1,0)$ eine Nullstelle der Funktion $f$ existiert.

Unabhängig vom Zwischenwertsatz können wir mit einigen weiteren einfachen Überlegungen sogar nachweisen, dass die Funktion $f$ nur im Intervall $(-1,0)$ eine Nullstelle hat und dass diese eindeutig ist. Zunächst gilt, das für $x > 0$ auch $x^5 > 0$ ist, woraus $f(x) = x^5 + x + 1 > 0$ für $x > 0$ folgt. Also kann $f$ keine Nullstelle im Intervall $(0,\infty)$ haben.

Für $x < -1$ ist auch $x^5 < -1$, woraus $x^5 + x +1 < -1$ für $x < -1$ folgt. Also kann $f$ auch keine Nullstelle im Intervall $(-\infty,-1)$ haben. Somit muss jede Nullstelle von $f$ im Intervall $(-1,0)$ liegen.

Kann es im Intervall $(-1,0)$ mehrere Nullstellen geben? Der Zwischenwertsatz schließt dies nicht aus. Aus $x_1 < x_2 < 0$ folgt aber $x_1^5 < x_2^5 < 0$ und daraus wiederum \[ f(x_1) = x_1^5 + x_1 + 1 < x_2^5 + x_2 + 1 = f(x_2), \] die Funktion $f(x)$ wird also in den negativen Zahlen und somit auch im Intervall $(-1,0)$ immer größer. Damit kann es keine zwei Nullstellen in $(-1,0)$ geben.

Neben der ungefähren Lokalisation liefert uns der Zwischenwertsatz aber auch einen Ansatz, solch eine Nullstelle mit beliebiger Genauigkeit zu bestimmen. Der Beweis des Lemmas, welches zum Zwischenwertsatz führte, ist ein kosntruktiv geführter Beweis. In diesem Beweis haben wir mithilfe von zwei Folgen eine Intervallschachtelung definiert, welche die Nullstelle im enger einkreiste, wobei sich die Nullstelle sich als Grenzwert der beiden Folgen für die Intervallgrenzen ergab.

Das Prinzip der Intervallschachtelung können wir leicht algorithmisch umsetzen. Um die Nullstelle mit einer vorgegebenen Genauigkeit $\epsilon$ zu berechnen, genügt es, solange zu iterieren, bis die Intervalllänge $\leq 2\epsilon$ ist. Dann können wir garantieren, dass der Mittelpunkt des letzten Intervalls von der tatsächlichen Nullstelle um höchsten $\epsilon$ abweicht.

Beispiel

Das folgende Java-Programm greift die obigen Überlegungen auf und berechnet die Nullstelle der Funktion $f(x) = x^5 + x + 1$ und damit die Lösung der Gleichung $x^5 + x = -1$ bis auf 12 Stellen hinter dem Komma genau.

  1 public class Nullstelle {
  2
  3     private static final double EPS = 1e-12;
  4
  5     private static double f(double x) {
  6         return Math.pow(x,5) + x + 1.0;
  7     }
  8
  9     public static void main(String[] arg) {
 10         double eps2 = 2*EPS;
 11         double a = -1.0;
 12         double b = 0.0;
 13         double m;
 14
 15         while (b-a > eps2) {
 16             m = (a+b)/2.0;
 17             if (f(m) >= 0) {
 18                 b = m;
 19             }
 20             else {
 21                 a = m;
 22             }
 23         }
 24
 25         m = (a+b)/2.0;
 26         System.out.printf("%.12f\n",m);
 27     }
 28 }

In Zeile 3 wird EPS als Konstante für die Genauigkeit definiert. Die Methode in den Zeilen 5 bis 7 liefert den Funktionswert $f(x)$ für ein $x\in\R$. Wir starten die Intervallschachtelung mit den Grenzen $-1$ und $0$. Die Variablen a und b stehen für die Intervallgrenzen (Zeilen 11 und 12). In den Zeilen 15 bis 23 wird die Intervallschachtelung durchgeführt. Wir bilden die Mitte des Intervalls (Zeile 16) und ziehen dann entweder die rechte Grenze auf die Mitte (Zeile 18) oder die linke Grenze (Zeile 21). Die Iteration wird beendet, wenn die Intervalllänge kleiner oder gleich eps2 ist, das doppelte der vorgegebenen Genauigkeit EPS. Zum Schluss wird der Mittelpunkt des letzten Intervalls als approximative Lösung ausgegeben (Zeilen 25 und 26).

Als Ergebnis erhalten wir \[ x \approx -0.754877666247. \]

Teilen und Drucken