Løsningsforslag til kapittel 6#
Oppgave 6.2#
x = 1 # startverdien til x
for i in range(20):
x = (2+x)/(1+x) # regn ut neste verdi av x
print(x) # skriv ut x
1.5
1.4
1.4166666666666667
1.4137931034482758
1.4142857142857144
1.4142011834319526
1.4142156862745099
1.4142131979695431
1.4142136248948696
1.4142135516460548
1.4142135642135643
1.4142135620573204
1.4142135624272734
1.4142135623637995
1.4142135623746899
1.4142135623728214
1.414213562373142
1.414213562373087
1.4142135623730965
1.4142135623730947
Oppgave 6.3#
Her er \(f(x)= \dfrac{x+N}{1+x}\).
Jeg vet at \(f\) er en strengt avtagende funksjon og at \(f(x)>1\) for alle \(x>-1\). Derfor vil \(f(x)\in I=[1, N]\) for alle \(x\in I\). Videre er
\( f'(x) = \dfrac{1-N}{(1+x)^2} > 0\) og \(\mid f'(x)\mid = \dfrac{\mid N-1\mid}{(1+x)^2} \leq N-1\) for alle \(x\in I\).
Altså er begge kriteriene i fikspunktteoremet oppfylt og det finnes et fikspunkt som følgen \(x_{n+1}=f(x_n)\) konvergerer mot.
Oppgave 6.4 b)#
Her kan vi bruke at \(\sqrt{402}=\sqrt{400 \cdot 1.004} = 20 \sqrt{1.004}\). Det går mye raskere å regne ut \(\sqrt{1.004}\) enn \(\sqrt{402}\):
x = 1 # startverdien til x
for i in range(10):
x = (x+1.005)/(1+x) # regn ut neste verdi av x
print(20*x) # skriv ut x
20.049999999999997
20.049937578027468
20.049937655860347
20.0499376557633
20.049937655763422
20.049937655763422
20.049937655763422
20.049937655763422
20.049937655763422
20.049937655763422
Hadde vi brukt \(N=402\) i algoritmen ville vi fått en hastighet på
\(k = \frac{\sqrt{402}+1}{\sqrt{402}-1} \approx 1.105\)
Dersom vi bruker \(N=1.005\) får vi en hastighet på
\(k = \frac{\sqrt{1.005}+1}{\sqrt{1.005}-1} \approx 802.0\)
Altså er den siste algoritmen over 700 ganger raskere enn om vi ikke hadde faktorisert ut 400.
Oppgave 6.5#
x = 20 # startverdien til x
for i in range(7):
x = (1222/x+x)/2 # regn ut neste verdi av x
print(x) # skriv ut x
40.55
35.342817509247844
34.95922118893607
34.95711664924737
34.95711658589707
34.95711658589707
34.95711658589707