HG K J = +. Die Lösung



Ähnliche Dokumente
Übungen zur Vorlesung Funktionentheorie Sommersemester Musterlösung zu Blatt 0

2 Vollständige Induktion

1 Analysis T1 Übungsblatt 1

Aufgaben und Lösungen der Probeklausur zur Analysis I

Innerbetriebliche Leistungsverrechnung

AUFGABENSTELLUNG (ZUSAMMENFASSUNG) 2 SPEZIFIKATION 2. Datenfluß und Programmablauf 2. Vorbedingung 3. Nachbedingung 3. Schleifeninvariante 3

Nachklausur - Analysis 1 - Lösungen

15.4 Diskrete Zufallsvariablen

Lösungen der Aufgaben zur Vorbereitung auf die Klausur Mathematik für Informatiker I

Satz Ein Boolescher Term t ist eine Tautologie genau dann, wenn t unerfüllbar ist.

2. Diophantische Gleichungen

Allgemeine Lösungen der n-dimensionalen Laplace-Gleichung und ihre komplexe Variable

Korrekturrichtlinie zur Studienleistung Wirtschaftsmathematik am Betriebswirtschaft BB-WMT-S

Klasse: Platzziffer: Punkte: / Graph zu f

Statistik I/Empirie I

... a ik) i=1...m, k=1...n A = = ( a mn

e) ( 4a + 8b + 9a + 18b ) : a + 2b f) 2 log (x) + 3 log (2y) 0.5 log (z)

Statistik Einführung // Konfidenzintervalle für einen Parameter 7 p.2/39

Versicherungstechnik

Finanzmathematische Formeln und Tabellen

Kapitel 6: Quadratisches Wachstum

Michael Buhlmann Mathematik > Analysis > Newtonverfahren

Kleines Matrix-ABC. Fachgebiet Regelungstechnik Leiter: Prof. Dr.-Ing. Johann Reger. 1 Elementares

Übungen zur Vorlesung Funktionentheorie Sommersemester Musterlösung zu Blatt 11. c n (z a) n,

Institut für Stochastik Prof. Dr. N. Bäuerle Dipl.-Math. S. Urban

Statistik mit Excel Themen-Special. Peter Wies. 1. Ausgabe, Februar 2014 W-EX2013S

Lerneinheit 2: Grundlagen der Investition und Finanzierung

3. Anwendungen der Differentialrechnung

Vorkurs Mathematik für Informatiker Folgen

6. Übung - Differenzengleichungen

Nennenswertes zur Stetigkeit

n=0 f(x) = log(1 + x) = n=1

Zahlenfolgen, Grenzwerte und Zahlenreihen

Zusammenfassung: Gleichungen und Ungleichungen

Stichproben im Rechnungswesen, Stichprobeninventur

Kapitel 6 Differenzierbarkeit

2 Differentialrechnung und Anwendungen

Musterlösung zu Übungsblatt 2

Arbeitsplätze in SAP R/3 Modul PP

GIBS. Übungsaufgaben zur Vertiefung. V1. Beschriften Sie die Konstruktionen! n n n n ' ' ' ' Modul 1.5. Geometrische Optik 1 58.

KUNDENPROFIL FÜR GELDANLAGEN

Logarithmus - Übungsaufgaben. I. Allgemeines

1.2. Taylor-Reihen und endliche Taylorpolynome

Gruppe 108: Janina Bär Christian Hörr Robert Rex

Auch im Risikofall ist das Entscheidungsproblem gelöst, wenn eine dominante Aktion in A existiert.

Die Gasgesetze. Die Beziehung zwischen Volumen und Temperatur (Gesetz von J.-L. und J. Charles): Gay-Lussac

Qualitätskennzahlen für IT-Verfahren in der öffentlichen Verwaltung Lösungsansätze zur Beschreibung von Metriken nach V-Modell XT

1 Randomisierte Bestimmung des Medians

Übungsblatt 1 zur Vorlesung Angewandte Stochastik

Vorlesung Informationssysteme

3. Taylorformel und Taylorreihen

VAIO-Link Kundenservice Broschüre

Aufgabenblatt 4. A1. Definitionen. Lösungen. Zins = Rate Zinskurve = Zinsstruktur Rendite = Yield

4. Reihen Definitionen

Zahlenfolgen und Konvergenzkriterien

Zusammenfassung: Gleichungen und Ungleichungen

Folgen und Reihen. 23. Mai 2002

Kapitel 4: Stationäre Prozesse

Versuch 13/1 NEWTONSCHE INTERFERENZRINGE Blatt 1 NEWTONSCHE INTERFERENZRINGE

Wissenschaftliches Arbeiten Studiengang Energiewirtschaft

BINOMIALKOEFFIZIENTEN. Stochastik und ihre Didaktik Referentin: Iris Winkler

TECHNISCHE UNIVERSITÄT MÜNCHEN

Fit in Mathe. April Klassenstufe 10 Wurzelfunktionen

Mathematik für Wirtschaftswissenschaftler Beispiele, Graken, Beweise. c Uwe Jensen

10 Aussagen mit Quantoren und

Prof. Dr.-Ing. Bernd Kochendörfer. Bauwirtschaft und Baubetrieb. Investitionsrechnung

3.2 Die Schrödinger-Gleichung

Bsp.: Kostenfunktion: Gerade, nichtlineare Kurve Stichwort: Fixkosten, Variable Kosten, proportional/überproportional steigend

Flexibilität beim Lagern und Kommissionieren: Schienengeführte Regalbediengeräte

Grundlagen: Algorithmen und Datenstrukturen

Kryptologie: Kryptographie und Kryptoanalyse Kryptologie ist die Wissenschaft, die sich mit dem Ver- und Entschlüsseln von Informationen befasst.

Funktionenreihen. 1-E1 Ma 2 Lubov Vassilevskaya

Mit Ideen begeistern. Mit Freude schenken.

Aufgaben zur Analysis I

Ausgangspunkt: Über einen endlichen Zeitraum wird aus einem Kapital (Rentenbarwert RBW v n,i

Kunde. Kontobewegung

n 1,n 2,n 3,...,n k in der Stichprobe auftreten. Für die absolute Häufigkeit können wir auch die relative Häufigkeit einsetzen:

Taylorreihen und ihre Implementierung mit JAVA: n 0

Wirtschaftsmathematik

LGÖ Ks VMa 12 Schuljahr 2017/2018

Betriebswirtschaft Wirtschaftsmathematik Studienleistung BW-WMT-S

Analysis I. Prof. Dr. H. Brenner Osnabrück WS 2014/2015. Vorlesung 20. Konvexe Funktionen

Es gibt verschiedene Möglichkeiten eine Folge zu definieren. Die zwei häufigsten Methoden

LV "Grundlagen der Informatik" Programmierung in C (Teil 2)

3Landlust auf Hofweier? Kaufpreis: ,00 Euro Courtage: 3,57% incl. 19% MwSt für den Käufer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (02 Funktionenklassen) Prof. Dr. Susanne Albers

Ganzrationale Funktionen

Grenzwert. 1. Der Grenzwert von monotonen, beschränkten Folgen

SUCHPROBLEME UND ALPHABETISCHE CODES

Heute Kapitalanlage morgen ein Zuhause

n=1 b n, deren Summe n=1 (a n + b n ) eine konvergente Reihe ist. Die Aussage ist WAHR, ein mögliches Beispiel sind die divergenten Reihen 1

Taylorreihen und ihre Implementierung mit JAVA Ac

von Prof. Dr. Ing. Dirk Rabe FH Emden/Leer

BERUFSKOLLEG KAUFMÄNNISCHE SCHULEN DES KREISES DÜREN Zweijährige Höhere Handelsschule

KAPITEL 7. Zahlenfolgen. 7.1 Konvergente Zahlenfolgen Grenzwertbestimmung Grenzwertbestimmung durch Abschätzung...

Wiederkehrende XML-Inhalte in Adobe InDesign importieren

Projektmanagement. Changing the way people work together

Wirksamkeit, Effizienz

Höhere Mathematik für die Fachrichtung Physik

8. Übungsblatt Aufgaben mit Lösungen

Transkript:

5- Nullstelleverfahre, Löse vo Gleichuge 5 Numerische Lösugsverfahre für Gleichuge Numerische Verfahre köe auch Gleichuge ud Gleichugssysteme löse, für die keie aalytische Lösuge bekat sid. Im Regelfall liefer diese Verfahre aber ur Näherugswerte, die aber beliebig geau berechet werde köe. Beispiel: Eie elektrische Leitug wird zwische zwei gleich hohe Maste, die 00m auseiader liege, aufgespat. Der maimale Durchhag der Leitug beträgt i der Mitte 0m. Wie gross ist die Läge l der Leitug? 0m 50m 00m Wir habe hier eie sog. Ketteliie (cosh ).Die Höhe ka durch die Gleichug y = l cosh( ) l beschriebe werde, wobei λ ei zu bestimmeder Parameter ist. Die Radbedigug ist, dass F I HG K J = +. Die Lösug y( 50) = y( 0) + 0 gelte muss. Somit wird die zu lösede Gleichug: l cosh 50 l 0 l hierfür ist 6.63, wie wir mit de achfolged gezeigte Methode feststelle werde. Mit der Defiitio der Kettegleichug bestimme wir da die Läge l=0.69m. Wie bereits erwäht, liefer die meiste umerische Methode ur Näherugslösuge. Sie köe aber (fast) beliebig geau berechet werde, so dass die Geauigkeit i der Prais kei Problem darstellt. 5. Arbeitsweise der Verfahre Die meiste umerische Verfahre arbeite iterativ. Das heisst, die Lösug wird schrittweise bis zur gewüschte Geauigkeit etwickelt. Praktisch erfolgt dies so, dass im erste Schritt eie grobe Näherug bestimmt wird ud durch geeigete mehrfache Awedug des Verfahres die Lösug verbessert wird. Der Schwerpukt liegt i diesem Kapitel dari so viel Theorie zu vermittel, dass die etsprechede Verfahre i ihrer Wirkugsweise verstade werde. Nur we die Arbeitsweise des Verfahres verstade wurde, ka es auch effiziet i eier Programmiersprache implemetiert werde. Ei Tip zur praktische Arbeit, der auch i adere Bereiche Gültigkeit hat: Ei eues Verfahre zuerst eimal vo Had a eiem überschaubare Kleibeispiel achzuvollziehe um die Arbeitsweise zu verstehe.

5- Nullstelleverfahre, Löse vo Gleichuge 5. Bestimme vo Nullstelle Das klassische Verfahre zur Lösug vo Gleichuge ist die Methode der Bestimmug der Nullstelle. Soll beispielsweise die Gleichug 7 - si =8. 5 gelöst werde, so schreibt ma diese um zu 7 f( ) = -si -8. 5 ud sucht die Nullstelle() dieser Fuktio f ( )= 0. Es eistiere huderte vo umerische Verfahre die Lösuge abiete. Viele sid sehr speziell ud ur geeiget um gaz bestimmte Fuktiostype zu bearbeite. Die beide bekateste uiversell eisetzbare umerische Methode sid:. ` Methode der Itervallhalbierug. ` Nullstellesuche ach Newto Diese Verfahre bestimme beliebig geau eie reelle Nullstelle für eie gegebee Fuktio mit Hilfe eies Iteratiosverfahres. Sie eige sich praktisch für alle Klasse vo Fuktioe (Polyome, ratioale, trigoometrische, hyperbolische Fuktioe, etc.). Bei de obe erwähte umerische Verfahre erfolgt die Suche vo eiem Startwert aus mit eiem systematische Iteratiosverfahre bis eie Lösug gefude wird. Ei Problem ist bei alle Verfahre, dass zwar eie Lösug gefude werde ka, diese aber icht die eizigste Lösug sei muss. So stellt sich die Frage wie viele Lösuge überhaupt eistiere, oder falls keie Lösug gefude wird, ob das System tatsächlich keie Lösug besitzt. Die Beurteilug der Mege der Lösuge ka sicher aufgrud der Fuktioseigeschafte teilweise beatwortet werde. Dies brigt aber i der Prais eher weig für eie rasche ud eifache Beurteilug. Der eifachste Weg ist sicher das Aufzeiche des Graphe der Fuktio. Ma ka damit aus dem Fuktiosverlauf leicht bestimme wo die reelle Lösuge zu vermute sid ud wie gross die Azahl ist. Hierzu eige sich heute vor allem die Mathematikpakete wie Maple, Mathematica, etc. Beispiel i Mathematica: Löse der Gleichug f[_]:=^7 +Si[]-8.5 Plot[f[],{,-,] Plot[f[],{,.3,.6] 7 + si =8. 5

5-3 Nullstelleverfahre, Löse vo Gleichuge Wir sehe, dass der Graph die -Achse bei.5 scheidet ud dass dies der eizige Schittpukt mit der -Achse ist. Die grafische Lösug ist hier also.5. 7 7 Gaz aders sähe die Lösug für + 5si( 0) = 8. 5 fi f( ) = + 5si( 0) -8. 5 aus. Hier wird da die Lösug icht mehr eideutig, soder wir habe hier drei mögliche Werte für, die die Gleichug erfülle: f[_]:=^7 +5 Si[0 ]-8.5 Plot[f[],{,-,] Plot[f[],{,.3,.6] Wir wolle achfolged aber adere Methode zeige um die kokrete Zahlewerte zu bestimme. Trotzdem bleibt der Graph ei wichtiges Kotrollistrumet zum Verifiziere der Lösuge ud zur Vorgabe vo Startwerte für die Lösugssuche. 5.. Methode der Itervallhalbierug Das Verfahre der Itervallhalbierug ist zur Bestimmug der Nullstelle für stetige Fuktioe geeiget. Das Bestimme eier Nullstelle eier Fuktio f() etspricht der Lösug der Gleichug f()=0. Ist das Itervall [a,b] bekat idem sich die Nullstelle befidet, so ka dieses halbiert werde. Aufgrud des Fuktioswertes a der Halbierugsstelle ka etschiede werde, ob sich die Nullstelle i der obere oder utere Hälfte befidet. Dieses eue Itervall wird ach dem gleiche Verfahre wieder halbiert. Dieses auch als Bisektio bekate Verfahre wird sooft wiederholt, bis das Itervall geüged klei ist: a 4 a 3 a=a a b 4 b 3 b=b b X Die Lösug der Gleichug f()=0 liegt u i diesem Itervall ud ka mit beliebiger Geauigkeit bestimmt werde. Als Startwert muss bei diesem Verfahre allei das Itervall [a,b], idem die Nullstelle liegt, bekat sei. Praktisch ka mit dieser Methode eie Geauigkeit vo ca. 0-5 mit eifacher Geauigkeit (float) ud ca. 0-0 mit doppelter Geauigkeit (double) auf eiem PC erreicht werde.

5-4 Nullstelleverfahre, Löse vo Gleichuge 5... Mathematische Grudlage: Nach dem Zwischewertsatz vo R. Bolzao für stetige Fuktioe gilt: Ist f:[a,b] B stetig, so gibt es zu jedem y zwische f(a) ud f(b) midestes ei z [a,b] mit f(z)=y. ("f immt jede Zwischewert zwische f(a) ud f(b) a.") Daraus folgt isbesodere das Korollar: Ist f:[a,b] B stetig ud f(a) f(b)<0 so gibt es midestes ei z [a,b] mit f(z)=0. Da ach Vorgabe im Itervall [a,b] eie Nullstelle liegt, ist sichergestellt, dass wir durch sukzessive Itervallhalbierug ei Itervall I=[c-ε/,c+ε/] erreiche werde mit f(c)=0 ud ε beliebig klei. 5... Formulierug im Pseudocode Pseudocode ist eie grobe, weitgehed Programmierspracheuabhägige Formulierug des Ablaufes. Pseudocode ist ei Etwurfshilfsmittel ud diet dazu teilweise komplee Aufgabestellug i eier erste Stufe für die Codierug vorzubereite. Pseudocode ist gut dazu geeiget i Dokumetatioe die wesetliche Abläufe zu beschreibe. Obwohl Pseudocode sehr verbreitet ist, gibt es keie verbidliche Norm. Das allgemeie Erscheiugsbild ist aber allgemei PASCAL-orietiert mit gewisse Abstriche: Ma beschräkt sich hier auf die wesetliche Strukture: Sequez (Aufeiaderfolgede Istruktioe): Aufeiader folgede, für die Aufgabe wichtige Operatioe werde als Istruktioe ausformuliert. Komplee Operatioe köe hierbei auch fuktioell abstrakt mit eckige Klammer (Bsp. [Matri ivertiere]) otiert werde. Zuweisuge werde mit dem Pfeil getätigt. Alterative (Bedigte Ausführug aufgrud eies Etscheides): Je ach Resultat eies Etscheides wird eie Istruktio oder ei gazer Block ausgeführt. Der Kostrukt ist IF Bedigug THEN Istruktio ELSE Istruktio END IF Beispiel: IF a== THEN c a ELSE c 4 output a END IF Iteratio (Wiederholtes Ausführe vo Istruktioe oder gaze Programmteile) Aufgrud eier Bedigug wird eie Istruktio oder ei Block mehrfach (0..-mal) ausgeführt. Iteratioe heisse auch 'Schleife'. Je achdem ob die Bedigug (Laufkriterium) am Afag oder am Ede eies Schleifedurchlaufes geprüft wird, spricht ma vo vorabprüfede oder achprüfede Schleife. Pseudocode beutzt folgede Kostrukte: FOR Laufvariable=Startwert TO Edwert DO WHILE Bedigug DO Istruktio Istruktio END FOR END WHILE DO Istruktio WHILE Bedigug END DOWHILE

5-5 Nullstelleverfahre, Löse vo Gleichuge Beispiel: FOR i=0 TO 0 output i* END FOR Wesetlich ist beim Pseudocode die fuktioale Beschreibug. Es werde ur für die Fuktio wichtige Teile kokret formuliert. So sid beispielsweise i Pseudocode Ei- ud Ausgabe aoym mit iput ud output spezifiziert. 5...3 Arbeitsweise der Methode der Itervallhalbierug Als Vorgabe müsse zwei Startwerte a ud b bekat sei, die das Suchitervall defiiere, wo die Nullstelle zu bestimme ist. Daraus folgt die Bedigug, dass mit u=f(a) ud v=f(b) gelte muss: uv < 0. Das Verfahre bestimmt u die Mitte des Suchitervalles c=½ (a+b) ud setzt w=f(c). Daach wird geprüft ob uw < 0 oder vw < 0 ist. Je ach dem Resultat wird da das eue, halbierte Suchitervall [a,c] oder [c,b] für eie weitere Durchlauf geomme. Das Verfahre wird m mal wiederholt. Mit jedem Durchlauf steigt die Geauigkeit der berechete Näherug für die Nullstelle. Eie Betrachtug zur Geauigkeit des Verfahres wird im Kapitel "Kovergezverhalte der Methode der Itervallhalbierug" durchgeführt. Wir mache u eie Etwurf des Verfahres, idem wir die wesetliche Aktioe der Methode im Pseudocode formuliere. Zusätzlich ist es sicher sivoll zuerst zu prüfe, ob die Vorzeichebedigug für f(a)f(b)<0 erfüllt ist. Ist dies ämlich icht der Fall, fidet das Verfahre keie Lösug ud läuft eifach m mal durch ohe eie Lösug zu fide. void FUNCTION bisect(function f, float a, float b, it m) float fa,fb,fc,fehler it fa f(a) fb f(b) IF sg(fa)=sg(fb) THEN output "Fehler: f(a) ud f(b) habe dasselbe Vorzeiche" output a, b, fa, fb ELSE fehler b-a FOR = TO m DO fehler fehler / c a + fehler fc f(c) IF sg(fa) sg(fc) THEN b c fb fc ELSE a c fa fc END IF output, fc, error END DO END IF END FUNCTION bisect

5-6 Nullstelleverfahre, Löse vo Gleichuge Wir codiere u diese Etwurf i C. Um die gaze Sache testbar zu gestalte sid ebe der eigetliche Fuktio zur Bestimmug der Nullstelle auch ei Hauptprogramm vorgesehe, dass die Eigabe der Itervallgreze erlaubt ud das Verfahre aufruft. /* BISECT: Nullstellebestimmug mit der Methode der Itervallhalbierug. Implemetierug des zweite Etwurfes ahad des Pseudocodes. Arbeitsweise: Die Fuktio bisect(f,a,b,m) sucht i m Durchläufe die Nullstelle vo f im Itervall [a,b] ud gibt bei jedem Durchlauf die Werte des aktuelle Suchitervalles, de Fuktioswert sowie de Fehlerbereich a. Autor: Gerhard Krucker Datum: 6..995 Sprache: MS-Visual C++ (QuickWi) */ #iclude <stdio.h> #iclude <math.h> #defie sig() ((()<0)?-:) /* Fuktio, vo der die Nullstelle zu bestimme ist: ^7 + si() -8.5 */ float f(float ) { float y; y =(float)(pow(,7.0) + si() - 8.5); retur y; void bisect(float (*f)(float),float a, float b, it m) { it ; float fa,fb,fc,c; float fehler; fa = f(a); fb = f(b); if (sig(fa) == sig(fb)) pritf("fehler: f(a) ud f(b) habe dasselbe Vorzeiche\" "a=%f\tb=%f\tf(a)=%f\tf(b)=%f\",a,b,fa,fb); else { fehler = b - a; for (=0; < m; ++) { fehler /= ; c = a + fehler; fc = f(c); if (sig(fa)!= sig(fc)) { b = c; fb = fc; else { a = c; fa = fc; pritf("durchlauf %d: c=%f\tf(c)=%f\tma. fehler=%f\",,c,fc,fehler); mai() { it m; /* Azahl auszufuehreder Iteratiosschritte */ float a,b; /* Radwerte des Suchitervalles als Startvorgabe */ pritf("\gebe Sie die Radwerte a, b des Suchitervalles ei: "); scaf("%f %f",&a, &b); pritf("gebe Sie die Azahl auszuführeder Iteratioe ei: "); scaf("%d",&m); bisect(f,a,b,m); retur 0; Ei Testdurchlauf für 7 + si()-8.5 == 0 liefert die Nullstelle im Suchitervall [,]: Gebe Sie die Radwerte a, b des Suchitervalles ei: Gebe Sie die Azahl auszuführeder Iteratioe ei: 0 Durchlauf 0: c=.500000 f(c)=-0.46568 ma. fehler=0.500000 Durchlauf : c=.750000 f(c)=3.74906 ma. fehler=0.50000 Durchlauf : c=.65000 f(c)=.49355 ma. fehler=0.5000 Durchlauf 3: c=.56500 f(c)=5.37333 ma. fehler=0.06500

5-7 Nullstelleverfahre, Löse vo Gleichuge Durchlauf 4: c=.5350 f(c)=.3807 ma. fehler=0.0350 Durchlauf 5: c=.5565 f(c)=0.86988 ma. fehler=0.0565 Durchlauf 6: c=.50783 f(c)=0.6698 ma. fehler=0.00783 Durchlauf 7: c=.503906 f(c)=-0.0393 ma. fehler=0.003906 Durchlauf 8: c=.505859 f(c)=0.056534 ma. fehler=0.00953 Durchlauf 9: c=.504883 f(c)=-0.03083 ma. fehler=0.000977 Dieses Verfahre zeigt, dass bei geschickter Wahl der Radwerte die Nullstelle i kurzer Zeit, d.h. i weige Iteratiosschritte i eier gute Näherug bestimmt wird. Elegater wäre aber ei Verfahre wo wir eifach eie Fehlerschrake ε vorgebe köe ud das Verfahre solage rechet bis die gewüschte Geauigkeit erreicht wird, oder eie bestimmte Azahl Durchläufe überschritte wird. Das Setze eier obere Schrake der Azahl Durchläufe ist sivoll, da machmal aufgrud ugeschickter Wahl der Greze keie Kovergez erreicht wird. (Dies ka da der Fall sei, we mehrere Nullstelle im Suchitervall liege.) Wir mache hierzu eie Äderug im Etwurf: Die geforderte Fehlerschrake wird der Fuktio als Argumet übergebe. Sobald diese Fehlerschrake uterbote wird, wird die Iteratio abgebroche. void FUNCTION bisect(function f, float a, float b, float epsilo, it m) float fa,fb,fc it fa f(a) fb f(b) IF sg(fa)=sg(fb) THEN output "Fehler: f(a) ud f(b) habe dasselbe Vorzeiche" output a, b, fa, fb ELSE = 0; DO c (b - a)/ fc f(c) IF sg(fa) sg(fc) THEN b c fb fc ELSE a c fa fc END IF WHILE ( <m) AND (abs(b-a) > epsilo) END IF END FUNCTION bisect Eie mögliche Realisierug i C für dieses Verfahre wäre:

5-8 Nullstelleverfahre, Löse vo Gleichuge /* BISECT: Nullstellebestimmug mit der Methode der Itervallhalbierug. Implemetierug des dritte Etwurfes ahad des Pseudocodes. */ Arbeitsweise: Die Fuktio bisect(f,a,b,epsilo,m) bestimmt die Nullstelle vo f im Itervall [a,b]. Das Verfahre termiiert sobald die Nullstelle besser als der maimale Fehler epsilo bestimmt ist, oder m Durchlaeufe ueberschritte wurde. Autor: Gerhard Krucker Datum: 6..995 Sprache: MS-Visual C++ (QuickWi) #iclude <stdio.h> #iclude <math.h> #defie sig() ((()<0)?-:) /* Fuktio, vo der die Nullstelle zu bestimme ist: ^7 + si() -8.5 */ float f(float ) { float y; y =(float)(pow(,7.0) + si() - 8.5); retur y; void bisect(float (*f)(float),float a, float b, float epsilo, it m) { it ; float fa,fb,fc,c; fa = f(a); fb = f(b); if (sig(fa) == sig(fb)) pritf("fehler: f(a) ud f(b) habe dasselbe Vorzeiche\" "a=%g\tb=%g\tf(a)=%g\tf(b)=%g\",a,b,fa,fb); else { = 0; do { ++; c = (a + b) /; fc = f(c); if (sig(fa)!= sig(fc)) { b = c; fb = fc; else { a = c; fa = fc; while ( < m && fabs(b-a) > epsilo); if ( >= m) pritf("verfahre erreichte die maimale Azahl Iteratioe (%d) ud hatte \" "keie Loesug mit dieser Fehlerschrake gefude!\" "=%g\tf()=%g\tfehler=%g\",,c,fc,b-a); else pritf("nullstelle: = f()=%f\",c,fc); mai() { it ma=00; /* Maimale Azahl auszufuehreder Iteratiosschritte */ float a,b; /* Radwerte des Suchitervalles als Startvorgabe */ float epsilo; /* Geauigkeit der Nullstelle */ pritf("\gebe Sie die Radwerte a, b des Suchitervalles ei: "); scaf("%f %f",&a, &b); pritf("gebe Sie die gewueschte Geauigkeit ei: "); scaf("%f",&epsilo); bisect(f,a,b,epsilo,ma); retur 0;

5-9 Nullstelleverfahre, Löse vo Gleichuge Ei Testlauf für dieses Programm liefert: Gebe Sie die Radwerte a, b des Suchitervalles ei: -0 0 Gebe Sie die gewueschte Geauigkeit ei: E-5 Nullstelle: = f()=.50566 Dieses Programm bestimmt also mit beliebiger Geauigkeit eie Nullstelle vo f. Beliebige Geauigkeit heisst hier, dass die Geauigkeit bis zu eier bestimmte utere Greze bestimmt werde ka. Für float's ist dies i diesem Verfahre ca. 3.5 0-6. Die utere Greze ist durch die Rechug fabs() ud de Vergleich gegebe. 5...4 Kovergezverhalte der Methode der Itervallhalbierug Nachfolged eie Betrachtug zur Geauigkeit der Näherug ud dem Kovergezverhalte der Methode: Ist f() eie stetige Fuktio, die i eiem Itervall [a 0,b 0 ] ihr Vorzeiche wechselt, da gilt ach Satz: Die Fuktio f() hat midestes eie Nullstelle im Itervall [a 0,b 0 ]. Ferer köe wir de maimale Fehler der Näherug für die Nullstelle r festlege, idem wir vom Mittelpukt des Itervalls c 0 =(a 0 +b 0 )/ ausgehe. Die maimale Differez wird: b r- c 0 - a 0 0 r - c 0 a 0 r c 0 b 0 (5.) Somit wird der maimale Fehler für de -te Durchlauf: b r- c - a ( 0) (5.) Nu köe wir de maimale Fehler des Verfahres ach Durchläufe bestimme: b - a r- c + 0 0 ( 0) (5.3) Wir köe also folgede Aussage formuliere: We die Fuktio f() i eiem Itervall [a,b] stetig ist ud die Vorzeichebedigug f(a)f(b) < 0 erfüllt ist, fidet die Methode der Itervallhalbierug die Nullstelle ach Durchläufe mit eier Geauigkeit besser als (b-a)/ +. (Der erste Durchlauf ist Durchlauf #0.) Wir köe u auch die otwedige Azahl Durchläufe für eie maimale Fehler ε bereche. Wir müsse hierzu die Ugleichug löse: b- a l( b-a) -l( e) e Æ > - :Azahl Durchläufe -. + l (5.4) Wir sehe, dass die Azahl Schritte für eie bestimmte Geauigkeit überhaupt icht vo der zu utersuchede Fuktio f abhägt, soder lediglich vo der Itervallbreite.

5-0 Nullstelleverfahre, Löse vo Gleichuge Beispiel: Wir suche eie Nullstelle im Itervall [a,b]=[,] ud möchte diese mit eier Geauigkeit besser als 0-5 bestimme. Wie viele Durchläufe sid otwedig? -5-5 l( b-a) -l( e) l( -) -l( 0 ) > - = - = - l( 0 ) - = 5. 609... ª 6 l l l Æ 7 Durchläufe 5...5 Rekursive Versio der Itervallhalbierug Eies der wichtigste Kozepte der Iformatik ist die Rekursio. Die Rekursio ist eifach gesagt eie 'mächtigere' Form der Iteratio. (Geauer: Iteratio ist ei Spezialfall der Rekursio). Bei der Rekursio wird folgedes Prizip verfolgt: Ei komplees Problem i ei strukturell gleiches, aber etwas leichter zu lösedes Problem zerlegt. Dieses Verfahre wiederholt ma solage bis die Lösug trivial ist. Aschliessed werde alle Teillösuge zur Gesamtlösug zusammegefügt. Beispiel eier rekursive Formulierug: Fakultät eier gaze Zahl :!: = R S T b = 0, -! > g U V W Dieses im Prizip besteched elegate Verfahre hat doch gewisse Nachteile. Erstes ist diese Methode icht auf jede Problemstellug awedbar. Zweites ist der Aufwad zum Halte der Zwischeresultate beträchtlich, so dass die Effiziez vo rekursive Verfahre oft eher bescheide ist. Eie rekursive Lösug wählt ma zweckmässigerweise dort, wo die Lösug (als Verfahre) bereits rekursiv defiiert ist. Rekursive Lösuge sid meist sehr eifach i der Formulierug, sowohl im Etwurf wie auch i der kokrete Codierug. Beispiel: usiged it fak(usiged it ) { if (==0 ==) retur ; else retur *fak(-); Besoders zu beachte ist, dass die Rekursio i jedem Fall sauber abbricht, da sost der Stack im Recher überläuft ud der Recher schlimmstefalls häge bleibt. Wir köe u im etsprechede Teilitervall wo die Nullstelle liegt eie rekursive Aufruf zur Verfeierug der Lösug durchführe. Charakteristisch ist hier, dass die Iteratiosschleife wegfällt. Diese ist durch die Rekursio ersetzt worde. Das Abbruchkriterium für die Rekursio ist das Erreiche der geforderte Geauigkeit oder das Überschreite eier gegebee maimale Rekursiostiefe.

5- Nullstelleverfahre, Löse vo Gleichuge it =0 void FUNCTION bisect_rek(function f, float a, float b, float epsilo, it limit) float fa,fb,fc IF > limit output "Fehler: Maimale Azahl Rekursioe ueberschritte!" retur END IF c (b - a)/ fc f(c) IF abs(fc) <= epsilo output(c,fc,) retur ELSE ++ fa f(a) fb f(b) IF sg(fa) sg(fc) THEN bisect_rek(f,a,c,epsilo,limit) ELSE bisect_rek(f,c,b,epsilo,limit) END IF END IF END FUNCTION bisect_rek 5.. Verfahre ach Newto Die Nullstellebestimmug ach Newto ist ebefalls ei iteratives Verfahre. Es erlaubt die äherugsweise Bestimmug eier Nullstelle eier Fuktio dere Ableitug bekat ist. Diese Methode kovergiert wesetlich rascher als die Methode der Itervallhalbierug. Meist ist bereits ach 5 Durchläufe eie Geauigkeit besser als 0-8 erreicht. Nachteilig ist, dass sowohl die Fuktio selbst wie auch dere Ableitug für die Berechug vorliege müsse. Ebeso muss die Fuktio icht ur stetig, soder auch differezierbar im gaze Suchitervall sei. (Bemerkug: Es gibt Fuktioe die sid zwar stetig, aber icht differezierbar.) Arbeitsweise: Vo eiem gegebee Näherugswert 0 wird eie verbesserte Näherug bestimmt, idem die Tagete a die Fuktio a der Stelle f( 0 ) gelegt wird ud der Schittpukt mit der -Achse bestimmt wird: Y y=f() Tagete y=l() r 0 Etwas geauer heisst dies: f() ist im gaze zu betrachtede Bereich differezierbar. Daraus folgt, dass wir i jedem Pukt (,f()) eie Tagete a die Fuktio lege köe. Die Tagete lässt sich als lieare Fuktio formuliere: l( ) = f '( )( - ) + f ( ) 0 0 0 (5.5)

5- Nullstelleverfahre, Löse vo Gleichuge Wir erhalte de Pukt idem wir de Schittpukt mit der -Achse bestimme, d.h. l() =0 auswerte ud erhalte: f bg 0 = 0 - f 'b 0g (5.6) Der Pukt 0 ist der Startpukt für die Nullstellesuche. Er wird vorgegebe als erste Schätzug für die Nullstelle. Im schrittweise Durchlauf erhalte wir eue, verbesserte Näheruge für die Nullstelle vo f: = f - f' = f - f' 3 bg bg b g b g Eie adere Asatz, aufbaued auf der Taylorreiheetwicklug ist im Kapitel "Kovergezverhalte der Newto-Methode" gezeigt. Beispiel: Wir bestimme die Nullstelle ach dem Newto-Verfahre, für die Fuktio 3 f( )= - + mit dem Schätzwert 0 =: Aus der Defiitio des Verfahres bestimme wir schrittweise: f( ) = - + f'( ) = 3-3 fbg 0 - + = 0 - = - = f' 3-3 b 0g f = - = - f' bg 3 F I HG K J - + F I 3HG K J - 3 f 3-3+ = - = 3 - = f' 3-3 bg b g b g = 3 53 6 Wir sehe hier, dass die i keie mootoe Folge zu eiem r bilde. Dies ist der Fall, we zwische der reale Nullstelle r ud userem i eetremalstelle, Sattel- oder Wedepukte liege. Für obiges Beispiel ka das Verhalte mit dem Graph veraschaulicht werde: f[_]:=^3-+ Plot[f[],{,-,3]

5-3 Nullstelleverfahre, Löse vo Gleichuge 5... Etwurf ud Codierug Besteched ist die Eifachheit des Newto-Verfahres. Dies zeigt sich bereits im Etwurf mit Pseudocode: void FUNCTION ewto(function f,function f', float, it m) it float f f f() output 0,,f FOR = TO m DO -f/f'() f f() output,,f END DO END FUNCTION ewto Wir betrachte die Arbeitsweise des Verfahres, idem wir die eizele Schritte beim Löse der 3 Gleichug + 5 = - + 0 mitverfolge. Die Lösug der Gleichug erfolgt durch Suche der 3 Nullstelle der zusammegesetzte Fuktio f( )= + 5 + -0: Gebe Sie de Schaetzwert fuer die Nullstelle ei: Gebe Sie die Azahl Durchlaeufe ei: 6 Durchlauf 0: = f()=0 Durchlauf : =.39394 f()=3.8779 Durchlauf : =.0 f()=0.304058 Durchlauf 3: =.973 f()=0.006079 Durchlauf 4: =.958 f()=.9639e-007 Durchlauf 5: =.958 f()=.30885e-05 Wir sehe, dass das Verfahre sehr rasch kovergiert. Selbst we der Schätzwert recht weit ebe der Nullstelle liegt. Hier ist im 5. Durchlauf die Nullstelle bis zur maimal mögliche Rechegeauigkeit der double-codierug bestimmt worde. Eie kokrete Realisatio i C für das Newto Verfahre: /* NEWTON: Nullstellebestimmug ach der Methode NÈWTON-RAPHSON. */ Arbeitsweise: Vo eiem Naeherugswert 0 ausgehed wird eie verbesserte Naeherug bestimmt, idem die Tagete a die Fuktio a der Stelle f(0) gelegt wird ud der Schittpukt mit -Achse bestimmt wird. Die Fuktio ewto(f,,m) bestimmt die Nullstelle vo f iterativ i m Durchläufe. Autor: Gerhard Krucker Datum: 6..995 Sprache: MS-Visual C++ (QuickWi) #iclude <stdio.h> #iclude <math.h> /* Fuktio, vo der die Nullstelle zu bestimme ist: ^3 + 5^ + - 0 */ double f(double ) { double y; y =** + 5** + - 0; retur y; /* Ableitug f'() der Fuktio, vo der die Nullstelle zu bestimme ist: 3^ + 0 + */ double df(double ) { double y; y =3** + 0* + ; retur y;

5-4 Nullstelleverfahre, Löse vo Gleichuge void ewto(double (*f)(double),double (*df)(double), double, it m) { double f; it ; f=f(); pritf("durchlauf %d:\t=%g\tf()=%g\",0,,f); for (=; < m;++) { = - f/df(); f = f(); pritf("durchlauf %d:\t=%g\tf()=%g\",,,f); mai() { double ; /* Schaetzwert fuer die Nullstelle */ it m; /* Azahl Durchlaeufe (Iteratioe) */ pritf("\gebe Sie de Schaetzwert fuer die Nullstelle ei: "); scaf("%lf",&); pritf("gebe Sie die Azahl Durchlaeufe ei: "); scaf("%d",&m); ewto(f,df,,m); retur 0; 5... Kovergezverhalte der Newto-Methode Bei der praktische Beutzug der Methode habe wir festgestellt, dass das Newto-Verfahre relativ rasch kovergiert. I der Tat werde i jedem Durchlauf die Azahl richtiger Stelle etwa verdoppelt. Somit erhalte wir im erste Durchlauf 0 ud i de weitere Durchläufe,, 3, 6,, 4,... eakte Stelle für die Nullstelle. Dadurch erreiche wir oft, dass wir ach 5 oder 6 Durchläufe bereits a der Rechegeauigkeit der Maschie agelagt sid. Wir betrachte u worauf diese rasche Kovergez begrüdet ist. Zuerst leite wir die Newtosche Iteratiosformel her um f(r)=0 zu löse: b f = - - f g 'b -g (5.7) We f() k-mal im Etwicklugspukt differezierbar ist, ka sie durch eie Taylorreihe mit (k-) Glieder ud eiem Restglied dargestellt werde. f( ) = ( ) k ( ) 0b 0g 0b 0g  = 0 f ( ) -! resp. f( ) =  = 0 f ( ) -! + R ( ) Das Restglied verkörpert de Fehler der Näherug zum effektive Wert ud ka durch geeigete Formel bestimmt werde. Ist usere Fuktio eie 'verüftige' Fuktio (d.h. midestes mal differezierbar im gaze zu betrachtede Itervall) ka f() durch die Taylorreihe mit drei Glieder dargestellt werde. Wir erhalte eie lieare Fuktio ud ei quadratisches Restglied. Wir setze u für f(=r)=0 kokret i die Taylorformel ei ud beschräke us auf de lieare Teil der Reiheetwicklug. Wir defiiere ferer dass user r sei soll: (5.8)

5-5 Nullstelleverfahre, Löse vo Gleichuge f( r) = f( -) + ( r- -) f'( -) + ( r--) f''( ) 0 = f( ) + ( - ) f'( ) - - - (5.9) (5.0) Wir stelle die Gleichug ach um ud erhalte die Iteratiosformel ach Newto: r ª = - - f ( -) f'( ) - (5.) Da wir aber ur eie edliche Azahl Durchläufe habe ist ur ei Näherugswert für die Nullstelle r. Für die Kovergezbetrachtug iteressiert us u wie gross der Fehler ist. Dazu subtrahiere wir die Gleichuge aus (5.9), (5.0) ud erhalte: 0 = ( r- ) f'( -) + ( r--) f''( ) (5.) Wir defiiere u die Abweichug e = r- ud setze ei: 0 = ef '( ) + e f''( ξ) (5.3) Uter der Voraussetzug, dass das Verfahre kovergiert, ka ma - als auch ξ durch die Lösug r ersetze ud erhalte e : e f''( r) ª- f r e - '( ) (5.4) Der Fehler immt also i jedem Durchlauf etwa zum Quadrat ab. Das bedeutet, dass sich die Zahl der verbesserte Dezimalstelle ugefähr verdoppelt. 5...3 Probleme beim Newto-Verfahre Wichtig ist, dass eie gute Näherug für die Nullstelle als Startwert gewählt wird. Besoders kritisch wird es, we die Fuktio mehrere ahe beieiader liegede Nullstelle hat. Mit eiem Graph der Fuktio ka ma Schätzwerte für die Nullstelle bestimme. Ei bis jetzt icht diskutiertes Problem ist, we die Fuktio mehrfache Nullstelle besitzt. Hier gilt also f(r)=0 ud f'(r)=0. I diesem Fall habe wir keie quadratische Kovergez mehr, soder ur och lieare Kovergez. Ebeso habe wir das lagsame Hiarbeite des Verfahres festgestellt, we Etremalwerte der Fuktio zwische Schätzwert ud Nullstelle liege.

5-6 Nullstelleverfahre, Löse vo Gleichuge 5..3 Nullstellebestimmug mit Regula-Falsi (Sekatemethode) Die Newto-Methode zeichet sich durch eie rasche Kovergez bei eifache Nullstelle aus ud wäre somit ei sehr gutes ud uiverselles Verfahre für die Nullstellebestimmug. Der grosse Nachteil ist aber, dass auch die Ableitug der Fuktio zur Berechug vorliege muss. Die Methode Regula-Falsi arbeitet im Prizip ach dem Asatz vo Newto, die eie Tagete a de Pukt legt. Die Regula-Falsi umgeht aber die Forderug ach der erste Ableitug idem ma Y y=f() Tagete y=l() f ' ( ) f ( ) f ( ) f( 0 ) (5.5) f( ) r 0 astatt eier Tagete eie Sekate a die Fuktio legt. Dies etspricht dem Differezequotiete als Näherug für die Ableitug: Wir setze diese Differezequotiete i die Newto-Iteratiosformel ei: - + = - fbg fbg- fb-g (5.6) Diese Iteratiosvorschrift bestimmt jetzt die eue Näherug + ohe die erste Ableitug. Zur Bildug des + sid u die beide Vorgägerwerte ud - otwedig. Dies hat isbesodere die Kosequez, dass wir für dieses Verfahre zwei Näherugswerte für de Start beötige. Eie Etwurf für die Methode Regula-Falsi führe wir hier mit Nassi-Sheiderma durch: Fuktio f() im Quelltet eigebe ud Programm kompiliere Geauigkeit ε eilese Startwerte 0 ud eilese 0 - f( ) * ( - 0 ) / (f( ) - f( 0 )) bis l - < ε Ausgabe Nachfolged eie mögliche kokrete Implemetierug des Etwurfes i C. Zusätzlich berücksichtigt diese Variate, dass die Iteratio ach eier maimale Azahl Durchläufe (hier 00) abbricht, auch we keie Nullstelle gefude wurde:

5-7 Nullstelleverfahre, Löse vo Gleichuge /* REGULA FALSI File:REGULA.C Nullstellebestimmug mit der Methode Regula Falsi. Aders als bei der Newto-Methode, wird hier die Ableitug der Fuktio durch de Differezequotiete ersetzt. */ Autor: Gerhard Krucker Datum: 9..995 Sprache: MS-Visual C++ V.5 (QuickWi) #iclude <stdio.h> #iclude <math.h> /* Fuktio vo der die Nullstelle zu bestimme ist: ^7 + si() -8.5 */ double f(double ) { double y; y =pow(,7.0) + si() - 8.5; retur y; mai() { it ; /* Durchlaufzaehler */ cost it ma=00; /* Maimale Azahl Durchläufe */ double 0,,,f0,f; double epsilo; pritf("eigabe der Geauigkeit: "); scaf("%lf",&epsilo); pritf("eigabe der erste ud zweite Näherug : "); scaf("%lf %lf",&,&); /* Regula Falsi Iteratio */ =; f = f(); do { 0 = ; = ; f0 = f; f = f(); = - f * ( -0) / (f - f0); ++; pritf("=%g\tf()=%g\",,f()); while ((fabs(-) > epsilo) && ( < ma)); retur 0; Ei Testdurchlauf mit 7 + si()-8.5 == 0 ergibt: Eigabe der Geauigkeit: E-5 Eigabe der erste ud zweite Näherug : 3 =.94636 f()=88.479 =.9066 f()=7.38 =.69776 f()=3.49 =.6089 f()=9.5656 =.53437 f()=.58 =.50 f()=0.44343 =.50545 f()=0.03009 =.5057 f()=0.000976 =.5057 f()=.953e-007

5-8 Nullstelleverfahre, Löse vo Gleichuge 5..3. Kovergezbetrachtug der Methode Regula-Falsi Der grosse Vorteil der Methode Regula-Falsi ist, dass ur eie eizige Fuktio pro Durchlauf ausgewertet werde muss ud das Verfahre trotzdem rasch kovergiert. Aufgrud ählicher Überleguge wie bei der Newto-Methode fidet ma, dass die Fehler wie folgt beschriebe werde köe: e b g b g bg bg F f f r = e e e e H G I f K J F '' ª H G '' I ' z f' r K J + - - (5.7) Wobei ξ ud ζ im kleiste Itervall liege die r, ud - ethalte. Somit kovergiert das Verhältis : e e e + - æææ Æ Æ F H G bgi bgkj f'' r f' r (5.8) Die Geschwidigkeit der Kovergez für Regula-Falsi liegt etwa zwische der Itervallhalbierug ud der Newto-Methode. 5..4 Modifiziertes Newto-Verfahre Eie sehr iteressate Verbesserug zum Verfahre vo Newto wird i [] beschriebe. Dabei werde die Vorteile vo Regula-Falsi (ur eie Fuktio auszuwerte) ud Newto (rasche Kovergez, ur ei Startwert) miteiader vereiigt. Bei der Methode Regula-Falsi wird die Ableitug durch eie grobe Differezequotiete der Art f h f f'bg b + g- b g ª h (5.9) ageähert, wobei h die recht grosse Schrittweite h = - -ist. Eie Verbesserug der Methode wäre also de Differezequotiete geauer zu bereche, so dass er äher bei der Ableitug liegt. Dazu müsste ma das h kleier wähle: b g b g b g f' f + h - f = lim hæ0 h Zur Rechug wählt ma das h also möglichst klei. Als praktischer Wert ka h=0-8 als gute Grösse empfohle werde. Kleiere Werte brige ur bedigt bessere Resultate, higege trete da Probleme aufgrud vo Stelleauslöschug auf. Wir defiiere usere eue Iteratiosvorschrift für das modifizierte Newto-Verfahre "Newto+": h f + = - f + h - f b b g g b g Im Vergleich zur Regula-Falsi beötigt diese Rekursiosformel ur eie Startwert. Die Ablaufstruktur ist immer dieselbe ud so ka das vorherige Programm leicht dem eue Formalismus agepasst werde. (5.0)

5-9 Nullstelleverfahre, Löse vo Gleichuge /* NEWTON PLUS File:NEWTONPL.C Nullstellebestimmug ach dem modifizierte Newto Verfahre. Die Ableitug der Fuktio durch eie Differezequotiet mit kostater kleier Schrittweite ersetzt. */ Autor: Gerhard Krucker Datum: 9..995 Sprache: MS-Visual C++ V.5 (QuickWi) #iclude <stdio.h> #iclude <math.h> /* Fuktio vo der die Nullstelle zu bestimme ist: ^7 + si() -8.5 */ double f(double ) { double y; y =pow(,7.0) + si() - 8.5; retur y; mai() { it ; /* Durchlaufzaehler */ cost it ma=00; /* Maimale Azahl Durchläufe */ cost double h=e-8; /* Differez */ double,,f; double epsilo; pritf("eigabe der Geauigkeit: "); scaf("%lf",&epsilo); pritf("eigabe des Startwertes: "); scaf("%lf",&); /* Newto+ Iteratio */ =; do { f = f(); =; = - f * h /(f(+h) -f); pritf("%d:\t=%g\tf()=%g\",,,f); ++; while ((fabs(-) > epsilo) && ( < ma)); retur 0; Ei Testdurchlauf für das Beispiel 7 + si()-8.5 == 0 liefert die Werte: Eigabe der Geauigkeit: E-8 Eigabe des Startwertes: : =.7533 f()=0.409 : =.58884 f()=33.40 3: =.575 f()=8.05938 4: =.50545 f()=.00868 5: =.5057 f()=0.03555 6: =.5057 f()=.30468e-005 7: =.5057 f()=4.36e-0

5-0 Nullstelleverfahre, Löse vo Gleichuge 5..5 Zusammefassug Vier Verfahre zur iterative Nullstellebestimmug wurde vorgestellt ud diskutiert. Sicher ka ma feststelle, dass jede Methode ihre Vor- ud Nachteile hat. Es gibt somit keie "beste Methode" zur Nullstellebestimmug, obwohl für die allgemeie Awedug sicher das Verfahre Newto+ favorisiert werde ka. Nachfolged eie Negativ /Positiv Bewertug der eizele Verfahre: Itervallhalbierug: Negativ: Das Verfahre kovergiert lagsam. Zwei Startwerte, zwische dee sich die Nullstelle befidet, sid otwedig. Positiv: We im Suchitervall ur eie Nullstelle liegt kovergiert das Verfahre sicher gege die Nullstelle. Newto: Negativ: Positiv: Zwei Fuktioe otwedig: Grudfuktio sowie erste Ableitug. Lagsame Kovergez bei mehrfache Nullstelle oder we Etremalstelle zwische Schätzwert ud Nullstelle liege. Sehr rasche Kovergez bei eifache Nullstelle ud we der Schätzwert ahe bei der Nullstelle liegt. Eifacher Algorithmus. Nur ei Startwert otwedig. Regula-Falsi: Negativ: Lagsamere Kovergez als beim Newto-Verfahre. Grösserer Recheaufwad. Zwei Startwerte otwedig. Positiv: Keie Ableitug der Fuktio otwedig. Newto+: Negativ: Positiv: Die Differez h ka kritisch sei. Gleiche Probleme für mehrfache Nullstelle ud Etrema wie bei Newto. Sehr rasche Kovergez. Nur ei Startwert. Keie Ableitug otwedig. 5..6 Adere Verfahre Wie afags erwäht, eistiere verschiedeste Verfahre zur Nullstellebestimmug, welche aber teilweise auf sehr spezielle Fuktioe zugeschitte sid. Eie adere grudsätzliche Methode, worauf sich eie gaze Azahl adere Verfahre zur Nullstellebestimmug begrüde, sid so geate Fipuktverfahre. Sie beruhe dem Baachsche Fipuktsatz der (sigemäss) besagt: We f eie kotrahierede Abbildug ist, da gibt es geau ei mit f()=. Dieses wird Fipukt vo f geat. Ma kostruiert da aus der zu utersuchede Fuktio eie Fipuktgleichug ud löst diese iterativ. Weiter köe die Verfahre für Gleichugssysteme mit mehrere Variable erweitert werde. Das Vorgehe mit dem prizipielle Asatz ist i eier Übugsaufgabe 5.3.3 gezeigt. Ei Verfahre für Polyome, welches komplee Nullstelle bestimme ka, wird im Kapitel Polyome vorgestellt (Verfahre ach Bairstow).

5- Aufgabe 5. Aufgabe Methode der Itervallhalbierug. Die Itervallgreze seie mit a=0. ud b =.0 als gegebe. Wie viele Iteratiosdurchläufe sid otwedig, um die Näherug eier Nullstelle mit eiem Fehler kleier als 0.5 0-8 zu bestimme?. Bestimme Sie alle Nullstelle der Fuktio f ( ) = cos( ) -cos( 3) F I HG K J = 3. Bestimme Sie die Nullstelle der Fuktio l + - 4. Zeige Sie grafisch, dass die Gleichug 50p + si = 00 arcta uedlich viele Lösuge hat. 0 5. We f eie Umkehrfuktio besitzt, ka f()=0 eifach durch =f -- (0) bestimmt werde. Ist dieses Verfahre für die Prais eie echte Alterative zur Nullstellesuche? Wo liege die Nachteile? Hiweis: Zeige Sie die Problematik mit si = p. 6. Bestimme Sie de Schittpukt der beide Liie y = 3 ud y= e idem Sie die Nullstelle() der Fuktio e - 3 = 0 auf 4 Dezimalstelle geau bestimme. 7. Um wie viele Biärstelle i der Matisse der Nullstelle verbessert sich die Geauigkeit bei jedem Durchlauf der Methode der Itervallhalbierug? Wie viele Durchläufe sid pro Dezimalstelle Geauigkeit otwedig? Programmieraufgabe 8. Bestimme Sie die Nullstelle mit der Methode der Itervallhalbierug für folgede Fuktioe im vorgegebee Itervall mit eier Geauigkeit vo 0-0 : 3 a.) f( ) = + 3- i [ 0, ] 3 b.) g( ) = -si i 05., 50 c.) h( ) 0 cosh i [ 0, 30] = + - F H G I K J 9. Verfeier Sie Ihr Nullstelleprogramm so, dass es (fast) alle reelle Nullstelle fidet. Ei Asatz wäre i eier bestimmte Schrittweite die Fuktio zu prüfe, ob ei Vorzeichewechsel der Fuktioswerte stattfidet ud diese äher zu utersuche. Die Suchschrittweite sowie Radwerte sollte mauell eigegebe werde köe.

5- Aufgabe 0. Wilkiso zeigte 963 mit achfolgedem Polyom, dass kleiste Äderuge a de Koeffiziete eies Polyoms massive Auswirkuge auf die Nullstelle habe. Das hierzu verwedete Wilkiso- Polyom hat die Gestalt: p( ) = ( -)( -) ( -0) Es besitzt wie ma leicht ersieht, 0 Nullstelle,,3,...,0. Sie habe achfolged die Koeffiziete der Eizelglieder vo Mathematica ausmultipliziert dargestellt. a0 = 439000876640000 a8 = 63030809994896 a6 = 5337946 a = -87594803676600000 a9 = -04998655450 a7 = -56850 a = 3803759753640704000 a0 = 30753500540395 a8 = 065 a3 = -870934550988800 a = -355858899530 a9 = - 0 a4 = 80378864505776 a = 307699538 a0 = a5 = -35999795794760700 a3 = -75684500 a6 = 06647803780373360 a4 = 40777630 a7 = -33336436390640 a5 = - 678080 Versuche Sie mit Ihrem Programm 0 Nullstelle des Polyoms umerisch zu bestimme (ε besser als 0-3 ). Hiweise beutze Sie zur Rechug Gleitkommazahle vom Typ double. Zur Auswertug des Polyoms verwedet ma zweckmässigerweise das Verfahre vo Horer. Dieses vermeidet weitmöglichst die Stelleauslöschug: a + a + + a+ a = a+ a + + a + a - - dcb 0-0 g h i. Bestimme Sie de Schittpukt der Kurve y= - + ud y=. 3. Programmiere Sie die rekursive Lösug des Verfahres der Itervallhalbierug. Verfahre ach Newto 3. Zeige Sie, dass uter Verwedug des Newto-Verfahres die Quadratwurzel aus R bestimmt werde ka (durch Löse der Gleichug =R ). Die Iteratio ist dabei defiiert durch + =( +R/ )/. 4 3 4. Zwei der vier Nullstelle vo + - 7 + 3sid positiv. Fide Sie diese mit der Newto- Methode auf zwei Dezimalstelle geau.

5-3 Aufgabe 5. Welche lieare Fuktio a+b Nähert f()=si im Pukt =π/4 a? I welchem Zusammehag steht dies zur Newto-Methode? 6. Die Taylorreiheetwicklug für eie Fuktio f lässt sich beschreibe: h h 3 f ( + h ) = f ( ) + hf '( ) + f''( ) + f'''( ) + 6 Nehme Sie a, dass f(), f'() ud f''() eifach berechet werde ka. Etwickel Sie u ei Iteratiosverfahre ählich der Newto-Methode, das aber drei Terme der Taylorreihe beutzt. Das Verfahre sollte i eiem Durchlauf ausgehed vo eiem Startwert eie verbesserte Wert für die Nullstelle liefer. Zeige Sie da, dass das Verfahre kubisch kovergiert. m 7. Betrachte Sie wie schwerfällig das Newto-Verfahre auf eiem Recher für f( )= b-g mit m=8 oder kovergiert. Erkläre Sie das Verhalte mit der Theorie! (Beutze Sie 0 =.) 8. Jede der achfolgede Fuktioe hat 3 R als Nullstelle für jede beliebige positive reelle Zahl R. Bestimme Sie für jede Fuktio die Iteratiosformel der Newto-Methode ud die Eischräkuge für die Wahl des Startwertes 0! 3 R a.)a( )= -R e.) e( )= - 3 b.) b( )= - f.) f( )= - 3 R R R c.) c( )= - g.) g( )= - R 3 R d.) d( )= - h.) h( )= - R 9. Bestimme Sie die Nullstelle vo f( ) = e -cosdie am ächste bei π/ ist. - Programmieraufgabe 3 0. Etwickel Sie eie eifache Prozedur (Fuktio) ewto, die + + 0 = 0 mit dem Startwert 0 =. Bestimme Sie f() ud f'() durch das Verfahre vo Horer. Die Nullstelle soll ausgegebe werde we sie geauer als 0.5 0-5 bestimmt worde ist. Alle Zwischewerte der Iteratiodurchläufe sid mit de verbesserte Näheruge ud zugehörige Fuktioswerte auszugebe. Setze Sie zusätzlich für das Verfahre eie Obergreze vo maimal 0 Iteratioe.. Bestimme Sie die Lösug der Gleichug ( - + )l= - im Itervall [0,] mit der Newto-Methode uter Verwedug vo doppelt geaue Gleitkommazahle (double). Erstelle Sie eie Tabelle die für jede Durchlauf die Azahl der richtig bestimmte Stelle zeigt.. Löse Sie achfolgedes ichtlieares Gleichugssystem. Hiweis: Elimiiere Sie zuerst y ud löse Sie achher mit Newto ach auf. Wähle Sie eie Startwert 0 =.0.

5-4 Aufgabe 3 7 3 - y+ y - 4 y= 5 ysi+ 3 y+ ta= 4. Das Newto-Verfahre ka auch für ichtlieare Gleichugssysteme (simultae Gleichuge) verwedet werde. Die Grudlage hierfür ist eie Taylorreiheetwicklug mit mehrere Variable. Ei Spezialfall wäre die Nullstelle eier komplee Fuktio: f () z = g() z + jh() zwobei f(z) eie aalytische Fuktio der komplee Variable z=+jy ist ( ud y sid reell) ud g(z) ud h(z) sid reelle Fuktioe für alle z. Die Ableitug ist aufgrud der Cauchy-Riema Gleichuge: f '( z) = g + jh = h - jg y y g = h h = -g y y wobei: g g g = gy = y etc. f(z ) Nu köe wir das Iteratiosverfahre ach Newtoz+ = z - ausdrücke: f'(z ) ghy - hgy hg - gh + = - y+ = y - gh - gh gh - gh y y y y. Etwickel Sie ei Verfahre ach Newto welches auch komplee Lösuge bestimme ka. Teste Sie Ihr Verfahre a: 3 a.) z -z- = 0 4 3 b.) z -z - jz + 4jz = 0 3 c.) z - 6( + j) z -6( - j) = 0 d.) z= e z Hiweis: Beutze Sie i d.) die Eulersche Idetität e jy = cos y+ jsi y.

5-5 Aufgabe