*gelöst* [Mathe] Gleichung (kompliziert?) DANKE! :)

DocTrax schrieb:
Die Funktion ist aber nur für bestimmte a lokal lipschitzstetig und was das mit dem Problem zu tun haben könnte verstehe ich nicht?
Das Newtonverfahren ist doch ein Fixpunktverfahren. Um es anwenden zu können muss die Funktion aber in diesem Bereich Lipschitzstetig sein. Oder habe ich das Zeugs falsch verstanden (ist schon 3 Jahre her)?

MfG respawner
 
respawner schrieb:
Das Newtonverfahren ist doch ein Fixpunktverfahren. Um es anwenden zu können muss die Funktion aber in diesem Bereich Lipschitzstetig sein. Oder habe ich das Zeugs falsch verstanden (ist schon 3 Jahre her)?
Du willst allen ernstes für alle a die Nullstelle(n) ausrechnen und das mit Hilfe des Newton-Verfahrens? Ich würde mal sagen dass es nicht geht, aber zeig mal wie Du das machst ...
 
ich meine ja auch nur die erste oder 2. Iteration für allgmeine a. Man müsste halt abschätzen mit der Lipschitzkonstante wie weit es maximal von der echten Nullstelle entfernt ist. Hab es halt so verstanden, dass man es allgemein haben will. Naja, ich kenne ja die Aufgabenstellung nicht.

MfG respawner
 
respawner schrieb:
ich meine ja auch nur die erste oder 2. Iteration für allgmeine a.

Hab's aus Langeweile mal gemacht *g*

Ohne einen Beweis, dass 1 als Startwert immer konvergiert:
0. Iteration: x0 = 1
1. Iteration: x0 = 1/(a+1)
2. Iteration: x0 = [1+ln(a+1)]/[2a+1]
3. Iteration: x0 = [ln({1+ln(a+1)}/{2a+1})-1]*[1+ln(a+1)]/[3a+a*ln(a+1)+1].

Sorry, grade kein TeX zur Hand.

Interessant, dass die zweite Iteration noch zu so einer einfachen Formel führt.

Erwartungsgemäß ist die Näherung a nahe an 1 gut, für große a läuft es dann langsam davon, ebenso für negative a. Wie weit kann uns nun wirklich nur die Restgliedabschätzung sagen.
 
DaPhreak schrieb:
Hab's aus Langeweile mal gemacht *g*

Ohne einen Beweis, dass 1 als Startwert immer konvergiert:
0. Iteration: x0 = 1
1. Iteration: x0 = 1/(a+1)
2. Iteration: x0 = [1+ln(a+1)]/[2a+1]
3. Iteration: x0 = [ln({1+ln(a+1)}/{2a+1})-1]*[1+ln(a+1)]/[3a+a*ln(a+1)+1].

Sorry, grade kein TeX zur Hand.

Interessant, dass die zweite Iteration noch zu so einer einfachen Formel führt.

Erwartungsgemäß ist die Näherung a nahe an 1 gut, für große a läuft es dann langsam davon, ebenso für negative a. Wie weit kann uns nun wirklich nur die Restgliedabschätzung sagen.
habe mal mit deine Funktionen plotten lassen (bei der 3. hast du ein Vorzeichenfehler (einfach ein - vor dem ganzen))

LambertW.gif

rot = die genaue Funktion
blau = 1. Iteration
grün = 2. Iteration
schwarz = 3. Iteration (überdeckt sich sehr gut mit der roten, so dass kaum was sichtbar ist von der schwarzen)

MfG respawner
 
LOL! Super! Vielen, vielen Dank! Wie kommt man denn zu den einzelnen Iterationen - einfach die Funktion rekursiv "aufrufen" (vgl. Programmierung)? :D

Also hab heute den Lehrer (/ die Lehrer) gefragt und der meinte, ich müsse es nicht machen, aber ist bestimmt ein sehr nettes Feature, welches ich evtl. dann einbringen werde!

Ihr seid echt eine super Hilfe... scheint euch aber auch interessiert zu haben! :mrgreen:

Also alle, die was beigetragen haben, kriegen noch einen grünen Popel. Bei manchen ist das leider nicht möglich, weil sie erst ein paar meiner Bewertungen zurückliegen.

:D

Edit: würde sagen "Problem gelöst"? :)

Edit:
5ad4861be8118d5ecac7684a51f66287.png


Edit:
Oder eigtl. ja nur eher ungefähr?
d934b47b031bb7ed5b68500a121a0374.png


Was wäre denn das richtige Zeichen? Weil es ist ja "nur" eine Annäherung? :)

> rot = die genaue Funktion
Inwiefern gibt es denn eine genaue Funktion?
 
Zuletzt bearbeitet:
jo das Newtonverfahren wird rekursiv angewendet. Also x_0 = 1 einsetze. Dieses Ding dann wieder einsetzen in das Newtoniteration. Also wirklich wie beim rekursiven Programmieren.

Es kommt nur ein ungefähr hin und da ist noch ein Vorzeichenfehler drin, also einfach ein - vor dem ganzen Ding machen.

edit
die genaue Funktion nennt maple LambertW https://en.wikipedia.org/wiki/Lambert's_W_function (besser gesagt LambertW(a)/a). Bei Funktionen die öfters gebraucht werden, aber nicht elementar darstellbar sind werden gerne neue Namen gegeben. Sowas kommt recht häufig vor, wie z.B. Elliptische Integralle oder die Besselfunktion, die man sehr häufig bei Differnetialgleichungen herausbekommt, also auch praktischen Nutzen haben.

MfG respawner
 
Zuletzt bearbeitet:
happymaster schrieb:
Edit:
Oder eigtl. ja nur eher ungefähr?
d934b47b031bb7ed5b68500a121a0374.png


Was wäre denn das richtige Zeichen? Weil es ist ja "nur" eine Annäherung? :)

Letzteres, das ist nur eine Annäherung. Und wenn Du sehr große Werte von a einsetzt, merkst Du's auch (z.B. a=200, da war die Abweichung für die 3. Iteration glaub ungefähr 0.2).

Und wie respawner schrieb, ich hatte ein Minus vergessen, das muss da noch davor. AUßerdem fehlt ne Klammer so wie Du's jetzt geschrieben hast.


*edit* Achja, für -1/e<a<0 hat die Funktion natürlich 2 Nullstellen, wir haben jetzt immer nur die kleinere der beiden berechnet.

*edit2* Auf der wikipedia-Seite, die respawner postete, sind noch interessante Details angegeben, z.B. eine Iteration sowie ein Näherungswert der Lambert-Funktion (liefert ja dann auch 'nen Näherungswert Deiner Nullstelle).
 
Zuletzt bearbeitet:
So. Hab's heute die Rekursion mal noch mit DERIVE probiert. Scheint recht gut geklappt zu haben und die 1. Iteration stimmt auch noch mit der von euch überein. Die zweite wohl auch, wenn man das falsche Vorzeichen berücksichtigt. Die dritte sieht irgendwie allerdings anders aus [trotz jeweiliger Vereinfachungen immer], aber wird schon stimmen. Ich denke wenn, greife ich doch auf die 2. zurück. Die ist noch relativ schön und supergenau muss es ja nicht sein. Danke auf jeden Fall. (Die dritte so in den Rechner zu hacken wird eher eine eklige Angelegenheit, aber wenn das Wochenende mal zu langweilig wird - wer weiß! :ugly: )

Der Rest ist eigentlich eher unwichtig, werde mir die Verfahren allerdings evtl. aus eigenem Interesse mal genauer ansehen!

DaPhreak schrieb:
*edit* Achja, für -1/e<a<0 hat die Funktion natürlich 2 Nullstellen, wir haben jetzt immer nur die kleinere der beiden berechnet.
Verstehe ich jetzt leider nicht wirklich, wieso das so ist! Aber schaue gleich mal - müsste man ja sehen, bei der Gleichung ganz am Anfang, was passiert, wenn man es einsetzt, oder?


Eventuell muss man später a noch eingrenzen bezüglich dem Bereich aus dem es stammen darf, wenn es einen Hochpunkt geben soll.

Allerdings gibt es bei mir da einen logischen Konflikt zwischen a < -1 und a < 0.. aber den werde ich ggf. noch genauer schildern. Danke!

Edit: Bei mir ist die zweite Iteration weiter unten (@y-Achse) im Ggs. zur ersten Iteration. Dafür scheint meine dritte überhaupt nicht zu stimmen (Edit: tut sie auch nicht :D )! :|
 
Zuletzt bearbeitet:
happymaster schrieb:
Verstehe ich jetzt leider nicht wirklich, wieso das so ist! Aber schaue gleich mal - müsste man ja sehen, bei der Gleichung ganz am Anfang, was passiert, wenn man es einsetzt, oder?


Eventuell muss man später a noch eingrenzen bezüglich dem Bereich aus dem es stammen darf, wenn es einen Hochpunkt geben soll.

Allerdings gibt es bei mir da einen logischen Konflikt zwischen a < -1 und a < 0.. aber den werde ich ggf. noch genauer schildern. Danke!

Deine Funktion f_a(x) ist, solange wir komplett im reellen bleiben nur für x>0 definiert. Für x->0 dominiert immer der ln(x)-Term, der Grenzwert für x->0 ist also immer -inf. Für x->inf dominiert immer der ax-Term, der Grenzwert für x->inf ist also +inf für a>0 und -inf für a<0. Im Sonderfall a=0 auch +inf.

Betrachtet man zusätzlich noch die Ableitung sieht man folgendes:
- Für a>=0 wächst ist die Funktion monoton und stetig von -inf nach +inf -> genau eine Nullstelle.
- Für a<0 hat die Funktion immer ein Maximum bei x=-1/a. Dieses Maximum ist * für a>-1/e positiv -> die Funktion hat genau 2 Nullstellen.
* für a=-1/e bei Null -> die Funktion hat genau eine Nullstelle.
* für a<-1/e negativ -> die Funktion hat gar keine Nullstelle.


Der Fall mit 2 Nullstellen hier mal am Beispiel für ein paar a's:
*klick*



happymaster schrieb:
Edit: Bei mir ist die zweite Iteration weiter unten (@y-Achse) im Ggs. zur ersten Iteration. Dafür scheint meine dritte überhaupt nicht zu stimmen (Edit: tut sie auch nicht :D )! :|
Die fehlende Klammer in deiner TeX-Formel ergänzt (Siehe mein letzter Post)?
 
DaPhreak schrieb:
Betrachtet man zusätzlich noch die Ableitung sieht man folgendes:
- Für a>=0 wächst ist die Funktion monoton und stetig von -inf nach +inf -> genau eine Nullstelle.
- Für a<0 hat die Funktion immer ein Maximum bei x=-1/a. Dieses Maximum ist * für a>-1/e positiv -> die Funktion hat genau 2 Nullstellen.
* für a=-1/e bei Null -> die Funktion hat genau eine Nullstelle.
* für a<-1/e negativ -> die Funktion hat gar keine Nullstelle.
Hm.. soweit ich das sah, hatten die Funktionen mit dem Hochpunkt keine Nullstelle, weil der Hochpunkt unterhalb der x-Achse lag und die Krümmung stets rechtsgekrümmt war?
 
happymaster schrieb:
Hm.. soweit ich das sah, hatten die Funktionen mit dem Hochpunkt keine Nullstelle, weil der Hochpunkt unterhalb der x-Achse lag und die Krümmung stets rechtsgekrümmt war?


Wie gesagt, das Maximum liegt unterhalb der x-Achse, wenn a < -1/e ist. Dann gibt es auch keine Nullstellen.

In dem Zwischenintervall wo a > -1/e aber noch kleiner Null ist, liegt das Maximum aber oberhalb der x-Achse und somit gibt es zwei Nullstellen.
Das siehst Du ja auch in dem Bild, was ich gepostet habe (auf die Achseneinteilung der Ordinate achten, die x-Achse ist der zweite gestrichelte von oben).
 
Oh... nicht hauen! :ugly: Ich hab's wohl weder langsam durchgelesen, noch das Bild hinter dem Link entdeckt. :mrgreen: Also gebe ich dir recht und sage schon mal danke. Fürs Verständnis bin ich imho nicht ausgeschlafen genug! :D
 
So. Bin jetzt endgültig durchgestiegen. Danke nochmal an alle! :mrgreen:
Habe das mit den Nullstellen auch verstanden und mir selber nochmal klar gemacht.

Für welche a es wie viele Nullstellen gibt hatten wir ja schon schön zusammengefasst. Für -1/e <= a < 0 gibt es ja zwei Nullstellen (wegen dem Hochpunkt und den Grenzwerten). Die Iteration liefert dafür wohl die linke (näher bei 1) liegende Nullstelle, wenn ich das richtig sehe. :biggrin: Wie komme ich denn auf die andere Nullstelle. Ich denke es ist leider nicht möglich mit infinite im Newton-Annäherungsverfahren zu rechnen, sprich dass man von unendlich kommt und sich der rechten Nullstelle annähert. Könnte man es trotzdem irgendwie hinkriegen. Würde das Einsetzen einer sehr großen Zahl helfen (der Bereich für die zweite Nullstelle wäre immerhin ja eingegrenzt und die Grenzen bekannt, oder)?

Danke nochmals! :)
 
happymaster schrieb:
Wie komme ich denn auf die andere Nullstelle. Ich denke es ist leider nicht möglich mit infinite im Newton-Annäherungsverfahren zu rechnen, sprich dass man von unendlich kommt und sich der rechten Nullstelle annähert. Könnte man es trotzdem irgendwie hinkriegen. Würde das Einsetzen einer sehr großen Zahl helfen (der Bereich für die zweite Nullstelle wäre immerhin ja eingegrenzt und die Grenzen bekannt, oder)?

Du musst einen Startwert nehmen, der hinreichend nahe an der Nullstelle ist. Schau Dir doch mal an, wo die andere Nullstelle liegt in Abhängigkeit von a. Vielleicht kannst Du so einen groben Schätzwert gewinnen, der als Startwert hinreichend gut ist.

Man könnte natürlich auch einen Algorithmus schreiben, der versucht, das selber zu finden, indem man das Wissen über den Verlauf der Funktion ausnutzt. Dann müsste man, wenn man die linke Nullstelle gefunden hat, von dort aus nur immer weiter nach "rechts", also zu größeren x hin, gehen, bis die Funktion negativ wird. Aus dem letzten positiven und dem ersten negativen Wert hätte man dann schonmal ein Intervall, in dem die Nullstelle liegen muss.

Also mal in Pseudocode:
Code:
- x0 = "linke" Nullstelle -> f_a(x0) = 0
- xa := x0
- xb := x0*faktor
- SOLANGE (f_b(x0)>0)
     xb = xb * faktor
     xa = xb

- Suche Nullstelle beginnend bei (xa+xb)/2.

Faktor ist jetzt ne Zahl größer 1 und steuert, wie schnell der Algorithmus weiter springt. Größere Werte -> schnellere Konvergenz aber Intervall am Ende ungenauer. Kleinere Werte -> langsamere Konvergenz, dafür genaueres Intervall. Ich würde mal mit 1.3 oder 1.5 beginnen.
Is halt numerisch etwas bedenklich denn für a->0 geht die Nullstelle ja gegen unendlich, während für a->-1/e die Nullstelle sehr nah an der anderen liegt. Gerade für letzteren Fall ist die Wahl des Startwertes bestimmt ziemlich kritisch.

Natürlich könnte man das gefundene Intervall auch erst noch weiter eingrenzen, bevor man mit Newton beginnt:

z.B. mit Intervallhalbierung:

Code:
SOLANGE (xb-xa > Schranke)
    xc = (xa+xb)/2
    WENN f_a(xc) > 0
        xa = xc
    SONST
        xb = xc
 
- Starte Newton mit (xa+xb)/2

Wie immer: keine Garantie für Richtigkeit oder Konvergenz!
 
Zuletzt bearbeitet:
So. Habe das mit der rechten Nullstelle eben nochmal über diesen Algorithmus schnell mal eben probiert. Danke. Klappt natürlich. Problem (wenn ich richtig lag) darin, dass für relativ kleine Unterschiede von a sehr große "Unterschiede" Δx (zwischen den beiden Nullstellen) entstehen - die Funktion währe annähhernd eine Parallele zur y-Achse. Aber gut, das ganze geht wohl über die Aufgabe hinaus.

Morgen wird das Ding gehalten. Habe hoffentlich nichts vergessen. Werde bei Interesse (evtl. auch bei nicht-Interesse) :ugly: das Ding hier online stellen. Vielleicht hilft's irgendwem irgendwann mal. :D

Danke nochmal an alle für die nette Hilfe! ;)
 
happymaster schrieb:
Morgen wird das Ding gehalten. Habe hoffentlich nichts vergessen. Werde bei Interesse (evtl. auch bei nicht-Interesse) :ugly: das Ding hier online stellen. Vielleicht hilft's irgendwem irgendwann mal. :D


Zwar schon ein bisschen her aber... wie war's nun eigentlich?
 
So. Vielen Dank nochmal an die Beteiligten! :)
Glücklicherweise hatte ich die Folien am Morgen des Referates nochmal eingescannt. Wahrscheinlich Vorahnung - am Tag davor hatte ich's nämlich schon fertig und auf Folie geschrieben - dooferweise ist mir meine Flasche Wasser im Schulranzen ausgelaufen. :ugly: Musste aber nicht mehr sooo viel neu machen - dooferweise ist mir das nur nach dem Referat gleich wieder passiert. :ugly: Glücklicherweise bestehen die Scans ja schon. Die kommen jetzt hier rein. :D [Referat war wie gesagt auf Folie, deshalb auch die leichten Schatten vom Scannen.]


Folie 1: maximale Definitionsmenge, Achsenpunkte, Symmetrie


Folie 2: Verhalten an den Grenzen der Definitionsmenge, Extrem- und Flachpunkte


Folie 3: Ortslinie der Hochpunkte, Anmerkung zu den Schnittpunkten mit der x-Achse/Nullstellen



Graphen-Folie 1: Graphen der Scharfunktion mit verschiedenen Werten des Scharparameters a


Graphen-Folie 2: Graphen der Scharfunktion mit negativen Werten für den Scharparameter a; Ortslinie der Hochpunkte


Graphen-Folie 3: Graph der 2. Iteration der Funktion x(a) der Nullstellen



Gab im Ganzen dann 15 Punkte. *tierisch freu* [Mängel in der Vortragsweise wurden angeblich durch meine "Fleißarbeit" kompensiert!] Vielen Dank nochmal. :mrgreen:

Wäre jetzt nur noch nicht schlecht, wenn morgige Mathe-Klausur genauso gut oder halbwegs so gut laufen würde! ;)

hf hth
 
Zuletzt bearbeitet: