(x^x)-2

hallo

wie berechnet man die nullstelle von der funktion
f(x)=(x^x)-2.

vielen dank

f(x)=(x^x)-2.

Ist m.E. nur durch Näherungsverfahren und nicht explizit lösbar.

Wie gesagt nur Numerisch möglich,
aber geh ma auf folgende Seite, da kannste dir die funktion plotten lassen, und sogar die Nullstelle berechnen lassen…

http://www.arndt-bruenner.de/mathe/java/plotter.htm
und wenn du noch mehr tools und info wilst, dann schau mal auf dieser Seite vorbei…
http://www.arndt-bruenner.de/mathe/

Hallo Lars.

wie berechnet man die nullstelle von der funktion
f(x)=(x^x)-2.

Die Gleichung kann nicht analytisch geloest werden, wohl aber numerisch. Eine Moeglichkeit ist die Fixpunktiteration. Es bietet sich an, zuerst die Gleichung zu logarithmieren. Das ergibt

x*ln(x) = ln(2)

oder

x*ln(x) - ln(2) = 0.

Offenbar ist in dieser Notation die Nullstelle der Funktion

f(x) = x*ln(x) - ln(2)

gesucht. Fuer das weitere musst Du wissen, was ein Fixpunkt ist: Ein Fixpunkt ist eine Stelle x+, sodass

f(x+) = x+

gilt. Einen solchen Fixpunkt kann man in vielen Faellen durch Iteration bestimmen. Dazu beginnt man mit einem Startwert x1 und berechnet daraus den zweiten Wert zu

x2 = f(x1).

Analog berechnet man den dritten Wert aus dem zweiten und so fort und allgemein

xi+1 = f(xi).

Unter bestimmten Umstaenden konvergiert diese Rechnung. Und wenn sie konvergiert, dann gegen einen Fixpunkt. (Es kann mehrere geben.)

Auf unser Problem laesst sich dies Verfahren leicht anwenden. Da wir statt eines Fixpunktes eigentlich eine Nullstelle suchen, bringen wir den Fixpunkt aus der Fixpunktgleichung auf die andere Seite. Das bedeutet nichts weiter, als dass der Fixpunkt von f(x) gerade die Nullstelle von

g(x) = f(x+) - x+

ist. Konkret heisst das fuer Deinen Fall, dass Du Dir einen Startwert x0 ausdenkst und ueber

xi+1 = xi*ln(xi)-ln(2)-xi

eine Zahlenfolge erzeugst. Ein kleines Problem gibt es noch: Die Funktion ist wegen des Logarithmus nur fuer positive x_Werte definiert. Darum baust Du vorsichtshalber Betragssstriche ein:

xi+1 = |xi|*ln(|xi)|-ln(2)-|xi|.

Fuer den Startwert x0 = 2 erhaeltst Du etwa die folgenden Werte:

-1.30685281944
-1.6502576715
-1.51673889987
-1.57806942712
-1.5512978343
-1.56328271214
-1.55797407236
-1.56033688461
-1.55928745521
-1.5597539952
-1.55954667484
-1.55963882079
-1.55959786885
-1.55961606958
-1.55960798056

Daraus kannst Du die Loesung schon auf fuenf Stellen ablesen zu

1.55960…

Die Minuszeichen brauchen Dich nicht weiter zu stoeren, da die Funktion ja durch die Betragsstriche spiegelbildlich auf negative x-Werte ausgeweitet wurde.

Gruss,
Klaus

Hallo Klaus,

gesucht war doch x für f(x)=0. Wie ich dich verstanden habe, schlägst du vor, x für log(f(x))=0 zu suchen. Das macht doch IMHO keinen Sinn. Wo die Funktion Null ist, da ist doe der Log der Funktion -Unendlich.

Habe ich dich falsch verstanden?

Ach ja, und die Nullstelle der Funktion liegt im Intervall 1.559631 +/- 0.000061.

LG
Jochen

Hallo Klaus,

gesucht war doch x für f(x)=0. Wie ich dich verstanden habe,
schlägst du vor, x für log(f(x))=0 zu suchen. Das macht doch
IMHO keinen Sinn. Wo die Funktion Null ist, da ist doe der Log
der Funktion -Unendlich.

Habe ich dich falsch verstanden?

Da ist etwas schief gelaufen, da für zwei unterschiedliche Funktionen

x^x-2

und

x*lnx - ln2

derselbe Name f verwendet wurde. Das hat zur Irritation geführt.

Hier nochmal der ursprüngliche Text mit h statt f:

oder

x*ln(x) - ln(2) = 0.

Offenbar ist in dieser Notation die Nullstelle der Funktion

h (x) = x*ln(x) - ln(2)

gesucht.

Im Folgenden des Originals muss man also f->h ersetzen.

Übrigens gibt es noch etwas Anschaulicheres. Nichts gegen den Artikel zuvor mit der Iteration, den sollte man verstehen, es geht nur um die Darstellung:

x*ln(x) - ln(2) = 0.

kann man auch in der Form

x = ln(2)/ln(x)

schreiben, oder mit y = x:

y = x
y = ln(2)/ln(x)

D.h. Es wird der Schnittpunkt von der Geraden y = x mit der Funktion
y = ln(2)/ln(x) gesucht.

Wer sich das nicht vorstellen kann: ln(2)/ln(x) hat für x >= 0 dieselben Nullstellen, Pole, dasselbe Vorzeichen und denselben y(2) Wert wie 1/(x-1).

Aha: y = 1 für x=2 und y = +unendlich für x->1+, da kann man sich gut vorstellen, dass der Schnittpunkt mit y = x zwischen 1 und 2 liegen muss.

Die Iteration sieht dann so aus

 .
 .----------- .| |
 +------\>------ .
 + | .
 + ^ .
+ ^ |
 |
 x = 1,56

Eine „quadratische“ Spirale, die sich immer enger um den Punkt
(1.56, y(1.56)) schlingt.

„+“ ist dabei y = x
und
„.“ ist y = ln(2)/ln(x)

y = x bei der Iteration dabei zu haben ist angenehm, zumindest wenn man die Iterationsschritte wie oben plotten möchte.

Aber wie gesagt: Zurück zur ursprünglichen Antwort, f->h ersetzen und die Antwort versuchen zu verstehen.

Ach ja, und die Nullstelle der Funktion liegt im Intervall
1.559631 +/- 0.000061.

LG
Jochen

Hallo Jochen.

Habe ich dich falsch verstanden?

Ja, ich denke schon. Hilft Dir die Erklaerung von Frank? Ansonsten hier noch ein Versuch:

Wir suchen eine Nullstelle der Funktion f(x) = x^x-2, also eine Zahl x0, welche die Gleichung

x0^(x0))-2 = 0

erfuellt. Ich bringe die zwei auf die andere Seite und logarithmiere diese Gleichung:

x0 * ln(x0) = ln(2).

Jetzt bringe ich den Term ln(2) wieder nach links und erhalte doch die Gleichung

x0 * ln(x0) - ln(2) = 0.

Das ist sicher die Nullstellenbedingung fuer die Funktion

g(x) = x*ln(x)-ln(2)

oder die Fixpunktbedingung fuer die Funktion

h(x) = x*ln(x)-ln(2)+x.

Und in dieser Form habe ich das Problem numerisch geloest.

Ach ja, und die Nullstelle der Funktion liegt im Intervall
1.559631 +/- 0.000061.

Genau! In meinem Posting habe ich doch das gleiche angegeben!? Da hiess es, die Nullstelle liege bei x0 = 1.55960… Das ist doch mit Deinem Ergebnis perfekt kompatibel.

Viele Gruesse,
Klaus

Nee, hier steht nix mehr. Ist ja schon alles gesagt :wink:

LG
Joche