2 Übungen |
Beim Halbierungsverfahren muss die Funktion ƒ(x) bekannt
sein. Es werden zwei Startwerte a und b benötigt,
einer der beiden Funktionswerte ƒ(a) und ƒ(b) muss
kleiner als 0 sein, der andere größer als 0.
Ein x-Wert wird aus dem Mittelwert von a und b
gebildet. Je nachdem, ob der Funktionswert ƒ(x) kleiner oder
größer als 0 ist, wird die Intervallgrenze a oder b
auf den x-Wert gesetzt.
Das Verfahren wird erfolgreich beendet, wenn folgende Bedingungen erfüllt sind:
Gelangt das Verfahren nach einer vorgegebenen maximalen Anzahl N an Schleifendurchläufen nicht zu einem erfolgreichen Ende, wird das Verfahren abgebrochen.
Für das Regula-falsi-Verfahren muss die Funktion ƒ(x)
bekannt sein. Es werden zwei Startwerte a und b
benötigt, einer der beiden Funktionswerte ƒ(a) und
ƒ(b) muss kleiner als 0 sein, der andere größer als 0.
Ein x-Wert wird gebildet, indem die Punkte
Pa(a, ƒ(a)) und
Pb(b, ƒ(b)) durch eine Linie
miteinander verbunden werden. Der x-Wert ergibt sich aus dem
Schnittpunkt der Linie mit der x-Achse.
Je nachdem, ob der Funktionswert ƒ(x) kleiner oder größer als 0 ist, wird die Intervallgrenze a oder b auf den x-Wert gesetzt.
Das Verfahren wird erfolgreich beendet, wenn folgende Bedingungen erfüllt sind:
Gelangt das Verfahren nach einer vorgegebenen maximalen Anzahl N an Schleifendurchläufen nicht zu einem erfolgreichen Ende, wird das Verfahren abgebrochen.
Bei diesem Verfahren werden meist weniger Iterationssschritte benötigt als beim Halbierungsverfahren.
Je nach Kurvenverlauf kann es vorkommen, dass im Verlauf der
Iteration immer nur dieselbe Intervallgrenze (in unserem Beispiel
a) angepasst wird, während sich die andere Intervallgrenze
nicht ändert.
Die Intervallbreite kann deshalb hier nicht für die
Abbruchbedingung genutzt werden.
Beim Newton-Verfahren muss die Funktion ƒ(x) und die
erste Ableitung der Funktion ƒ'(x) bekannt sein. Es wird ein
Startwert benötigt, dieser muss innerhalb des Konvergenzbereiches
liegen.
Beginnend mit dem Startwert x1 wird für jeden
x-Wert xi der Folgewert
xi+1 gebildet, indem im Punkt
Pi(xi,ƒ(xi))
eine Tangente an die Funktion gelegt wird. Der Schnittpunkt dieser
Tangente mit der x-Achse ergibt den Folgewert.
Mathematisch formuliert:
Das Verfahren wird erfolgreich beendet, wenn folgende Bedingungen erfüllt sind:
Gelangt das Verfahren nach einer vorgegebenen maximalen Anzahl N an Schleifendurchläufen nicht zu einem erfolgreichen Ende, wird das Verfahren abgebrochen.
Dieses Verfahren führt meist mit deutlich weniger Iterationsschritten zum Ziel als Halbierungsverfahren oder Regula falsi.
Wird nach dem x-Wert gesucht, an dem eine Funktion einen bestimmten Wert y annimmt, so wird die Gleichung entsprechend umgestellt:
Das Problem wird somit auf die Nullstellensuche der Funktion F(x)=ƒ(x)-y zurückgeführt.
Erstellen Sie ein Programm "strompn", das den Strom durch eine Diode nach der Formel
berechnet.
ID | zu berechnender Strom durch Diode |
I0 | Sättigungsstrom der Diode |
UD | Spannung, die an der Diode anliegt |
UT | Temperaturspannung (26 mV) |
Das Programm soll den Nutzer auffordern, I0 und UD einzugeben. Daraus soll ID berechnet und dann ausgegeben werden.
Hinweis: Die Funktion
double exp(double);
aus der Mathematik-Bibliothek berechnet ex.
Es soll nun der Strom durch eine Reihenschaltung von Widerstand und Diode berechnet werden. An diese Reihenschaltung wird die Spannung Uges angelegt.
Der Strom durch die Diode fließt auch durch den Widerstand und wird hier mit I bezeichnet. Die Gleichung für den Strom durch den pn-Übergang wird umgestellt und in die Formel für die Reihenschaltung zweier Spannungen eingesetzt. Damit kann für einen gegebenen Strom die erforderliche Gesamtspannung ermittelt werden:
Gesucht ist aber die umgekehrte Berechnung, d.h. für eine gegebene Gesamtspannung und Randbedinungen (Widerstandswert, Sättigungsstrom der Diode) soll der sich ergebende Strom berechnet werden.
Das Programm soll den Nutzer auffordern, Uges, R und I0 einzugeben. Daraus soll dann I berechnet und ausgegeben werden.
Erstellen Sie drei Programme "reihe-h", "reihe-r" und "reihe-n", die die Berechnung einmal mit dem Halbierungsverfahren, einmal mit Regula falsi und einmal mit dem Newton-Verfahren vornehmen. Geben Sie auch die Anzahl der ausgeführten Iterationsschritte mit aus.
Hinweise:
double log(double x);aus der Mathematik-Bibliothek berechnet den natürlichen Logarithmus (ln x).