Springen naar inhoud

Hoe bereken je X?


  • Log in om te kunnen reageren

#1

bats

    bats


  • >250 berichten
  • 411 berichten
  • Ervaren gebruiker

Geplaatst op 09 oktober 2004 - 13:22

Stel X^X=10, hoe bereken je dan X?
Is dat te berekenen via een reeksontwikkeling, zoals logarithmen? OF is daar een totaal andere methode voor? Zo ja welke en hoe ziet die eruit?

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Bert

    Bert


  • >250 berichten
  • 718 berichten
  • Ervaren gebruiker

Geplaatst op 09 oktober 2004 - 15:38

Stel X^X=10, hoe bereken je dan X?
Is dat te berekenen via een reeksontwikkeling, zoals logarithmen? OF is daar een totaal andere methode voor? Zo ja welke en hoe ziet die eruit?


Een dergelijke vergelijking bereken je door iteratie. Je probeert dan een functie f(x) te vinden zodanig dat de oplossing van x=f(x) ook de oplossing is van de vergelijking g(x)=x^x-10=0. Daarmee maak je dan een reeks {x(n)} door te beginnen met een min of meer willekeurig gekozen getal x(1) en door x(n) uit te rekenen uit x(n-1) door x(n)=f(x(n-1)). De bedoeling is uiteraard dat de functie f zodanig gekozen is dat deze reeks convergeert. Er zijn een heleboel iteratiemethoden. Een van de bekendste is Newton-Rapson: x(n)=x(n-1)-g(x(n-1))/g'(x(n-1)) (covergeert vaak heel snel).

Soms wordt er met meer reeksen gewerkt bijvoorbeeld bij bisectie. Daar construeer je 2 reeksen a(n) en b(n) waarbij a(n) kleiner is dan de gezochte oplossing en b(n) groter dan de gezochte oplossing.
Het werkt als volgt in het bovenstaande geval. Als je begint met a(1)=2 en b(1)=3 dan is g(a(1))<0 en g(b(1))>0. Reken nu de functiewaarde uit voor x=(a(1)+b(1))/2. Als g(x)<0 dan kies je a(2)=x en b(2)=(1) en als g(x)> 0 dan kies je a(2)=a(1) en b(2)=x enz. Op deze manier sluit je de wortel in tussen 2 grenzen die steeds dichter bij elkaar komen te liggen.
Bisectie is niet snel maar werkt (in tegenstelling tot veel van de snellere methoden) wel altijd. In computer algoritmes wordt daarom vaak een combinatie gebruikt: als bekend is dat een wortel tussen 2 waardes ligt dan wordt de volgende waarde berekend met een snelle methode. Als die snelle waarde echter buiten de 2 bekende waardes ligt dan wordt een bisectie uitgevoerd. Dit proces wordt in iedere stap herhaald.

#3

bats

    bats


  • >250 berichten
  • 411 berichten
  • Ervaren gebruiker

Geplaatst op 09 oktober 2004 - 18:11

Stel X^X=10, hoe bereken je dan X?
Is dat te berekenen via een reeksontwikkeling, zoals logarithmen? OF is daar een totaal andere methode voor? Zo ja welke en hoe ziet die eruit?


Een dergelijke vergelijking bereken je door iteratie. Je probeert dan een functie f(x) te vinden zodanig dat de oplossing van x=f(x) ook de oplossing is van de vergelijking g(x)=x^x-10=0. Daarmee maak je dan een reeks {x(n)} door te beginnen met een min of meer willekeurig gekozen getal x(1) en door x(n) uit te rekenen uit x(n-1) door x(n)=f(x(n-1)). De bedoeling is uiteraard dat de functie f zodanig gekozen is dat deze reeks convergeert. Er zijn een heleboel iteratiemethoden. Een van de bekendste is Newton-Rapson: x(n)=x(n-1)-g(x(n-1))/g'(x(n-1)) (covergeert vaak heel snel).

Soms wordt er met meer reeksen gewerkt bijvoorbeeld bij bisectie. Daar construeer je 2 reeksen a(n) en b(n) waarbij a(n) kleiner is dan de gezochte oplossing en b(n) groter dan de gezochte oplossing.
Het werkt als volgt in het bovenstaande geval. Als je begint met a(1)=2 en b(1)=3 dan is g(a(1))<0 en g(b(1))>0. Reken nu de functiewaarde uit voor x=(a(1)+b(1))/2. Als g(x)<0 dan kies je a(2)=x en b(2)=(1) en als g(x)> 0 dan kies je a(2)=a(1) en b(2)=x enz. Op deze manier sluit je de wortel in tussen 2 grenzen die steeds dichter bij elkaar komen te liggen.
Bisectie is niet snel maar werkt (in tegenstelling tot veel van de snellere methoden) wel altijd. In computer algoritmes wordt daarom vaak een combinatie gebruikt: als bekend is dat een wortel tussen 2 waardes ligt dan wordt de volgende waarde berekend met een snelle methode. Als die snelle waarde echter buiten de 2 bekende waardes ligt dan wordt een bisectie uitgevoerd. Dit proces wordt in iedere stap herhaald.


Maar hoe reken je zo snel uit dat a(1)=2 en b(1)=3? En hoe kom je zo snel aan x(n)=x(n-1)-g(x(n-1))/g'(x(n-1))? Of zijn dat afgeleiden, en krijg je dan ook in x(n) bij de g(x(n-1)) dan naast g' ook g'' en g'''? Want zo worden toch die reeksen opgesteld?

En.. X in dit geval van X^X=10, de uitkomst is dat een algebraÔs getal of een transcedent getal?

#4

Bert

    Bert


  • >250 berichten
  • 718 berichten
  • Ervaren gebruiker

Geplaatst op 09 oktober 2004 - 21:12

Maar hoe reken je zo snel uit dat a(1)=2 en b(1)=3?

De eerste 2 waardes vindt je gewoon door te proberen. Het had ook 1 en 5 kunnen zijn zolang ze, wanneer ze worden ingevuld in g(x) maar uitkomsten met een tegengesteld teken geven.

En hoe kom je zo snel aan x(n)=x(n-1)-g(x(n-1))/g'(x(n-1))? Of zijn dat afgeleiden, en krijg je dan ook in x(n) bij de g(x(n-1)) dan naast g' ook g'' en g'''? Want zo worden toch die reeksen opgesteld?


Alleen de afgeleide van g(x) komt voor. Je vindt als achtereenvolgende benaderingen:

x(2)=x(1)-g(x(1))/g'(x(1))
x(3)=x(2)-g(x(2))/g'(x(2))
x(4)=x(3)-g(x(3))/g'(x(3))
... etc

Je vraagt je misschien af waarom de iteratieformule deze form heeft en waarom niet iets anders van de vorm x(n)=f(x(n-1)). De reden is dat de formule van Newton Rapson vaak snel convergeert (maar iedere andere formule van de vorm x(n)=f(x(n-1)) die convergeert mag natuurlijk ook).

En.. X in dit geval van X^X=10, de uitkomst is dat een algebraÔs getal of een transcedent getal?

Dat zal ongetwijfeld een trancendent getal zijn want anders zou het getal een nulpunt van een rationeel polynoom zijn en dat lijkt me erg onwaarschijnlijk (een bewijs heb ik overigens niet voor je).

#5

Bert

    Bert


  • >250 berichten
  • 718 berichten
  • Ervaren gebruiker

Geplaatst op 09 oktober 2004 - 21:24

Ik heb je functie x^x inmiddels uitgerekend met een spreadsheet. De formule is:

x(n+1)=x(n)-(x^x-10)/((x^x)*(ln(x)+1)) en als je begint met x(1)=3 dan vindt je achtereenvolgens:

x(1)=3
x(2)=2.699978108
x(3)=2.541664405
x(4)=2.507493579
x(5)=2.506185967
x(6)=2.506184146
x(7)=2.506184146

Zoals je ziet: als deze methode werkt dan gaat het ook snel.

#6


  • Gast

Geplaatst op 09 oktober 2004 - 21:29

transcedent ben ik bang......

Volgens Derive 6 is x^x=10 <==> x~2.50618413......

#7

Steabert

    Steabert


  • >250 berichten
  • 255 berichten
  • Ervaren gebruiker

Geplaatst op 10 oktober 2004 - 10:04

dit vind ik met de bisectie methode:

2,5
2,75
2,625
2,5625
2,53125
2,515625
2,5078125
2,50390625
2,505859375
2,506835938
2,506347656
2,506103516
2,506225586
2,506164551
2,506195068
2,50617981
2,506187439
2,506183624
2,506185532
2,506184578
2,506184101
2,50618434
2,50618422
2,506184161
2,506184131
2,506184146
2,506184138
2,506184142
2,506184144
2,506184145
2,506184145
2,506184146
2,506184146
2,506184146

#8

bats

    bats


  • >250 berichten
  • 411 berichten
  • Ervaren gebruiker

Geplaatst op 10 oktober 2004 - 17:20

Ik heb je functie x^x inmiddels uitgerekend met een spreadsheet. De formule is:

x(n+1)=x(n)-(x^x-10)/((x^x)*(ln(x)+1)) en als je begint met  x(1)=3 dan vindt je achtereenvolgens:

x(1)=3
x(2)=2.699978108
x(3)=2.541664405
x(4)=2.507493579
x(5)=2.506185967
x(6)=2.506184146
x(7)=2.506184146

Zoals je ziet: als deze methode werkt dan gaat het ook snel.



Ja maar bij x(1)=3 heb je dan nu voor n 1 ingevuld of voor x, ik bedoel is in de bovenstaande formule nu n=1 of x=1?

#9

Bert

    Bert


  • >250 berichten
  • 718 berichten
  • Ervaren gebruiker

Geplaatst op 10 oktober 2004 - 17:44

Ik heb je functie x^x inmiddels uitgerekend met een spreadsheet. De formule is:

x(n+1)=x(n)-(x^x-10)/((x^x)*(ln(x)+1)) en als je begint met  x(1)=3 dan vindt je achtereenvolgens:

x(1)=3
x(2)=2.699978108
x(3)=2.541664405
x(4)=2.507493579
x(5)=2.506185967
x(6)=2.506184146
x(7)=2.506184146

Zoals je ziet: als deze methode werkt dan gaat het ook snel.



Ja maar bij x(1)=3 heb je dan nu voor n 1 ingevuld of voor x, ik bedoel is in de bovenstaande formule nu n=1 of x=1?


De eerste waarde is voor n=1 (normaal gebruik je daarvoor een subscript maar dat gaat hier niet (of ik heb nog niet ondekt hoe dat moet)).





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures