Fixpunktsiteration
För att veta om den konvergerar vill man ta reda på om |G'|<1 genom att sätta funktion som G och derivera den.
Men jag förstår inte hur jag vet vilka värden på x som jag ska bestämma G'(x) på. I facit säger dom att det finns två rötter -3 och 1 men hur hittade man dom och hur är det relevant då dom sen bara tog derivatan av 1 och 1.4(givna x-värdet).
Om man nu tar G'(1.4) får man att G'(1.4) = 1/sqrt(0.2) hur ska jag kunna beräkna det värdet utan miniräknare?
Att beräkna är väl inte jättesvårt? Framförallt vet du att det är större än 1.
En iterativ lösning konvergerar genom fixpunktsiteration om absolutbeloppet av lutningen i närheten av roten är mindre än 1.
Vi förstår genast att vi alltså ska derivera funktionen:
Sedan ska vi studera vilka som uppfyller:
Detta är en olikhet som enklast löses med teckentabell.
Du kan också bara testa i funktionen (är det en rot) och i derivatan (konvergerar iterationen till den).
Tillägg: 16 dec 2021 14:34
Rötterna hittar du enkelt så här:
Detta är en andragradare som ger:
Ja såklart! Tänkte inte på att omvandla så att det blir sqrt(5) vilket är mycket enklare att räkna ut och tänkte helt fel när jag skulle bestämma roten! Tack så hemskt mycket det blev väldigt tydligt nu.
Tänk på att är en falsk rot vilken alltså inte uppfyller ursprungliga fixpunktsformeln.
Hur motiverar facit svaret? Det är nämligen en ganska elak uppgift då lutningen vid är exakt just 1 vilket innebär att du egentligen inte vet om den konvergerar eller inte. Analytiskt konvergerar den inte utan bör fastna i en oändlig loop. Men, på grund av begränsningar i flyttalsrepresentation kan den faktiskt i praktiken antingen konvergera eller divergera väldigt långsamt.
Genom denna enkla analys går det inte riktigt att svara på.
Tack! Undrade precis varför man inte undersökte kring -3
De skriver alltså inte att det är en falsk rot? Pinsamt.
Jag testade 40 iterationer i ett program jag skrivit och på grund av begränsningarna jag nämnde rör sig faktiskt iterationerna mycket långsamt mot roten:
Här ser du vår fixpunktsfunktion i grönt och i blått. Nedan följer iterationerna:
Som du ser konvergerar resultatet mot roten. Efter 40 iterationer är programmet på:
Tillägg: 16 dec 2021 15:27
Jag måste lägga till en viss korrektion på ovan då anledningen till att det på så förhållandevis få iterationer kan närma sig roten är för att programmet jag skrivit utan min vetskap utnyttjade komplexa tal följt av att det tog realdelen av dessa. Det är varför resultatet på iterationerna kan ses ligga utanför funktionen.
I verkligheten rör det sig om ett oerhört stort antal iterationer för att felen i flyttalsrepresentation ska bli aktuella. Maskinepsilon för flyttal med dubbel precision, exempelvis, är av storleksordningen .
Tack! Tänk om alla facit kunde vara så tydligt som du har svarat vad mycket mer förståelse man skulle få då.
Kul att höra!
Tyvärr, som student, lär man sig oftast enklast när man redan läst kursen. Detta är också lite varför det är värdefullt att titta tillbaka på kurser man läst för att repetera. Du vet inte om ditt examensarbete kommer handla om något du läst men tyvärr inte förstod när du väl läste kursen.