Fixpunktiteration, gehe ich hier richtig vor?

Neue Frage »

kakmnoi9 Auf diesen Beitrag antworten »
Fixpunktiteration, gehe ich hier richtig vor?
[attach]55126[/attach]

Ich wollte mal Anfangen und das mit der Fixpunktiteration hier nachschauen, ob diese geeignet ist, dafür dachte ich mir, muss ich die Funktion erst mal auf = x bringen, also

2x*arctan(e^-x)=x

dann muss ich f(x)=2x*arctan(e^-x) ableiten, das ist gleich:

[attach]55127[/attach]

Aber wir gehe ich nun weiter, mein Problem ist, dass ich kein Intervall angegeben habe, also denke ich mal ist das Intervall ganz R, ich muss doch jedoch nun prüfen, ob ich eine Lipschitzkonstante habe oder?

Aber wie mache ich das? Ihc dachte mir ich muss eine Kontraktion haben, also schaue ich die ABleitung an, ob diese im Betrag kleiner 1 ist maximal, aber wie soll ich das machen ohne ein Intervall?
Finn_ Auf diesen Beitrag antworten »

Nimm mal für die Übersicht zunächst einen Funktionenplotter. Sieh mal hier, da liegt der Graph zwischen Unter- und Oberseite des Quadrats, womit die Funktion eine auf [0.5, 0.7] wohldefinierte Selbstabbildung ist. Und die Ableitung ist dort überall betragsmäßig kleiner als eine feste Zahl kleiner als eins. Die gemachten Beobachtungen musst du nur noch rechnerisch verifizieren.
kakmnoi9 Auf diesen Beitrag antworten »

Danke wenn ich selber nun das Intervall nehme, so kann ich das verifizieren! Aber muss ich nicht auch verifizieren, wie ich auf das Intervall gekommen bin und das macht mir Probleme! Oder darf ich einfach selber das Intervall nehmen?
kakmnoi9 Auf diesen Beitrag antworten »

Also darf ich das Intervall nehmen, ohne das zu verfiizieren?
Finn_ Auf diesen Beitrag antworten »

Als Intervall darfst du dir eigentlich eines aussuchen, mit dem die Voraussetzungen des Konvergenzkriteriums erfüllt sind. Die Begründung »Betrachtung eines Plots zufolge günstig« sollte genügen; der strenge Nachweis erfolgt daraufhin mit exakten Mitteln. Es sollte, falls möglich, am besten eines sein, auf dem die Funktion streng monoton ist.
kakmnoi9 Auf diesen Beitrag antworten »

Danke, erlaubt die Aufgabenstellung eigentlich auch die einfache Wahl eines Intervalls? Oder müsste ich eigentlich ganz R beachten?

Aber so als Begründung, ich leite einfach 2xarctan(e^-x) ab oder? Dann zeige ich, dass die EFunktion im Ingtervall streng monoton steigend ist, dann reicht es erstmal, wenn ich die Randwerte bei f einsetze und zeige die liegen im Intervall, dadurch bildet man [a,b]-->[a,b] ab wegen strenger Monotonie.


Wegen der strengen Monotonie, hmm ich hab edas INtervall, könnte ja einfach Extremstelle der 1 Ableitung, durch die 2 Ableitung berechnen, schauen ob es zwischen zwei Extremstellen der ersten Ableitung liegt, wenn das der Fall ist, herrscht die strenge Monotonie, die dort existiert?
 
 
Finn_ Auf diesen Beitrag antworten »

Ganz kommt mitnichten in Frage, da die Iteration für einen negativen Startwert divergiert.

Die Untersuchung der zweiten Ableitung verschiebt das Problem nur. Du müsstest ausgehend von mit Ungleichungen abschätzen, dass die erste Ableitung an jeder Stelle des Intervalls einen positiven Wert annimmt. Die umständliche Argumentation lässt sich hier in gewisser Hinsicht mit Intervallarithmetik automatisieren. Eine Implementierung ist kurzerhand gemacht:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
from math import exp, atan

class Interval:
    def __init__(self, a, b):
        self.a = a
        self.b = b

    def __str__(self):
        return "[{}, {}]".format(self.a, self.b)

    def contains(self, value):
        return self.a <= value and value <= self.b

    def __add__(self, rhs):
        if isinstance(rhs, int):
            return Interval(self.a + rhs, self.b + rhs)
        else:
            return Interval(self.a + rhs.a, self.b + rhs.b)

    def __sub__(self, rhs):
        if isinstance(rhs, int):
            return Interval(self.a - rhs, self.b - rhs)
        else:
            return Interval(self.a - rhs.b, self.b - rhs.a)

    def __neg__(self):
        return Interval(-self.b, -self.a)

    def __mul__(self, rhs):
        t = (self.a*rhs.a, self.a*rhs.b, self.b*rhs.a, self.b*rhs.b)
        return Interval(min(t), max(t))

    def __rmul__(self, lhs):
        t = (lhs*self.a, lhs*self.b)
        return Interval(min(t), max(t))

    def __truediv__(self, rhs):
        assert not self.contains(0)
        return self*Interval(1/rhs.b, 1/rhs.a)

def expi(x):
    return Interval(exp(x.a), exp(x.b))

def atani(x):
    return Interval(atan(x.a), atan(x.b))

# f(x) = 2*x*arctan(exp(-x))
# f'(x) = 2arctan(exp(-x)) - 2x*exp(-x)/(exp(-2x) + 1)

x = Interval(0.5, 0.7)
y = 2*atani(expi(-x)) - 2*x*expi(-x)/(expi(-2*x) + 1)
print(y)

# Resultat:
# [0.24, 0.73]
kakmnoi9 Auf diesen Beitrag antworten »

Hmmmm, müsste icz aber auch nicht nachweisen, dass ich von [a,b] auf [a,b] abbilde, das müsste ich ja auch irgendwie fürs Intervall nachweisen
kakmnoi9 Auf diesen Beitrag antworten »

WObei, gut wenn ich die strenge Monotonie nachgewiesen habe, so kann ich einfach 0,5 und 0,7 bei f einsetzen und wenn 0,5 und 0,7 im Intervall liegen, dann das dazwischen auf.



(Intervallmathematik haben wir nicht kennengelernt, weshalb es problematisch wäre, dies als Begründung zu nehmen)
Finn_ Auf diesen Beitrag antworten »

Du kannst die Intervallarithmetik zur Zufriedenstellung eventueller Zweifler immer in Abschätzungen auflösen. Die Art und Weise, wie sie funktioniert, gibt dir den Weg zum Ziel vor. Der Anfang geht so:

(1)
(2) wegen (1)
(3) wegen (2) und weil exp (streng) monoton steigend ist
(4) wegen (3) und weil arctan (streng) monoton steigend ist

Die Intervallarithmetik dazu ist:

(1)
(2)
(3)
(4)

Das Komplizierteste sind Multiplikationen und Divisionen. Ersetze lange Terme an geeigneten Stellen durch Hilfsvariablen.

Beispiel. Es gelte mit und mit Dann ist weshalb sein muss. Außerdem ist und Infolge gilt
kakmnoi9 Auf diesen Beitrag antworten »

Danke, aber arctan(e^-x)-1/2 ist streng monoton steigend, ich muss doch aber 2xarctan(e^-x) betrachen, weil ich ja arctan(e^-x)=1/2 zu 2arctan(e^-x)=x umformen musste? Dann geht das doch so nicht mehr?
Finn_ Auf diesen Beitrag antworten »

Meine Ausführungen sind doch auf bezogen, und zwar auf den Minuend im Term von . Mit den Abschätzungen wird gezeigt, dass für gilt. Erstens ist somit streng monoton steigend, womit, wie von dir festgestellt, der Umstand gelten muss, woraufhin der restliche Nachweis von trivial wird. Zweitens ist damit die Kontraktionsbedingung erfüllt.
kakmnoi9 Auf diesen Beitrag antworten »

Genau, aber das Problem ist.

Bei der 2 Ableitung ziehe ich (2xe^-x)/(1+e^-x) von 2arctan(e^-x) ab, das heißt ich muss doch eigentlich erst zeigen, dass (2xe^-x)/(1+e^-x) kleiner ist als 2arctan(e^-x) im Betrag, damit die Werte für die Ableitung für 0 bis 0.5 z.B positiv bleiben
Finn_ Auf diesen Beitrag antworten »

Nebenbei bemerkt findet sich die Umformung



die potenziell einen kleinen Vorteil verschaffen könnte, sofern die Eigenschaften von cosh als bekannt vorausgesetzt werden dürfen.
Finn_ Auf diesen Beitrag antworten »

Bei der Intervallrechnung kommt doch magisch als Resultat raus. Das heißt, es gilt für alle Damit zieht man sich sozusagen an den eigenen Haaren aus dem Sumpf. Wie hat der Computer das gemacht?
kakmnoi9 Auf diesen Beitrag antworten »

Genau für 0.5 bis 0.7 passt alles. Ich weiß leider nur nicht, wie ich das nachweisen kann, dass das für die Ableitung gilt… Das es gilt weiß ich, der Nachweis ist das Problem

(Cosh hatten wir noch nicht)
kakmnoi9 Auf diesen Beitrag antworten »

Oder

arctan(e^-x)+x-1/2=x ist auch eine Fixpunktgleichung für das oben

f(x)= arctan(e^-x)+x1/2

f ´(x)=1 - e^(-x)/(1+e^(-2x)) = 1 - 1/(e^x*e^(-2x) (immer größer als 0) --> Streng monoton steigend.

Jetzt wähle ich Intervall [-10,10]

f(-10)= ca. -9

f(-10)= arctan(e^-x)+x1/2=9.5

Aus strenger monotonie folgt [-10,10]->[-10,10] ABER: ich kann die Fixpunktiteration nicht anwenden, weil ich L nicht auf <1 abschätzen kann?
Finn_ Auf diesen Beitrag antworten »

Sehr schön, die Fixpunktiteration zu



erscheint einfacher zu untersuchen. Die Ableitung ist



wobei . Nun ermitteln wir die Nullstellen von Es gilt



wobei (*) eine Äquivalenzumformung ist, weil cosh keine Nullstellen besitzt. Die Kurvendiskussion von cosh will ich hier nicht weiter ausführen. Elementare Tatsachen sind, dass cosh achsensymmetrisch zur y-Achse ist, für positive Argumente streng monoton steigend ist, und gilt. Ergo besitzt keine Nullstellen.

Nun zum Intervall für Sei zur Vereinfachung besser

Folgerungskette:

(1) ist Prämisse
(2) ist Prämisse
(3) und wegen (1), (2)
(4) wegen (2), (3)
(5) wegen (4) und cosh > 0
(6) wegen (5)
(7) wegen (6)
(8) wegen (7)

Alternativ mit der Nullstellenfreiheit von auf nachweisen, dass auf ebenfalls streng monoton steigend ist. Wir kommen für zu den angenehmen Feststellungen:



kakmnoi9 Auf diesen Beitrag antworten »

Danke, aber wir kann ich eigentlich jetzt für ein Intervall abschätzen, dass es kleiner 1 ist, also die Ableitung.

Nehmen wir mal das Intervall [0,0.5], könnte man das irgendwie abschätzen, damit ich zeigen kann, dass dort eien Fixpunktiteration möglich wäre? WEil damit das möglich ist, muss ich ja eine Kontraktion haben oder?
Finn_ Auf diesen Beitrag antworten »

Nee, [0, 0.5] geht nicht, weil außerhalb liegt. Aber [0, 1] ginge. Nämlich ist und
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »