Rekker - Matematikk R2 - NDLA

Hopp til innhald
Oppgave

Rekker

Her kan du jobbe med oppgåver om rekker.

1.1.20

teorisida om rekker har vi laga eit program som reknar ut summen av dei 20 første ledda i rekka  an=2n-1 ved hjelp av den eksplisitte formelen for an.

a) Lag eit program som reknar ut det same ved hjelp av ein rekursiv formel.

Løysing

Rekka vil vere gitt ved den rekursive formelen  an=2·an-1  og  a1=1.

Vi lagar ein variabel for dagslønna og ein variabel for den samla lønna. Her må vi køyre lykkja 19 gonger, sidan vi startar med lønna på dag 1.

python
1dagslonn = 1     #lønn per dag
2samlalonn = 1    #variabel for samla lønn
3dagar = 20       #tal på dagar
4
5
6for n in range(dager-1):   
7    dagslonn = dagslonn*2   
8    samlalonn = samlalonn + dagslonn  
9    
10print(f"Samla lønn blir {samlalonn} kr.")

b) Finn S20 i CAS i GeoGebra.

Løysing

Her må vi bruke den eksplisitte formelen.

1.1.21

Ledda i ei uendeleg rekke er gitt ved formelen an=1(1+n)2.

a) Finn dei tre første ledda for hand.

Løysing

an = 1(1+n)2a1 = 1(1+1)2=122=14a2 = 1(1+2)2=132=19a3 = 1(1+3)2=142=116

b) Lag eit program som skriv ut dei 20 første ledda.

Løysing
python
1a_n = 0
2antal = 1
3Ledda = []
4
5for n in range(1,21):
6    a_n = 1/(1+n)**2
7    Ledda.append(a_n)
8    antal = antal+1
9    
10print(Ledda)

c) Utvid programmet slik at det òg skriv ut dei 20 første summane, det vil seie S1, S2, S3 og så vidare.

Løysing
python
1a_n = 0
2Sum = 0
3antal = 1
4Ledda = []
5Summane = []
6
7for n in range(1,21):
8    a_n = 1/(1+n)**2
9    Sum = Sum + a_n
10    Ledda.append(a_n)
11    Summane.append(Sum)
12    antal = antal+1
13
14print(Ledda)
15print(Summane)

Legg merke til at desse programma berre er heilt grunnleggjande, og at utskriftene ikkje er lette å tyde.

Her kjem ein versjon med overskrifter og litt færre desimalar. Kanskje kan du nokre andre triks for å få det til å sjå betre ut?

Python
1a_n = 0
2Sum = 0
3antal = 1
4Ledda = ["a_n"]
5Summane = ["S_n"]
6
7for n in range(1,21):
8    a_n = 1/(1+n)**2
9    Sum = Sum + a_n
10    Ledda.append(a_n)
11    Summane.append(Sum)
12    antal = antal+1
13
14
15
16for i in range(0,21):
17    if i == 0:
18        print(f"{Ledda[i]:<6} {Summane[i]:<6}")
19    else:
20        print(f"{Ledda[i]:.4f} {Summane[i]:.4f}")
21        

I linje 18 har vi lagt inn ei formatering for å få rada med overskrifter til å bli like brei som radene med ledd og summar.

d) Finn summen, både eksakt og avrunda til 10 desimalar, når n ved hjelp av CAS i GeoGebra.

Løysing

e) Utvid programmet ditt frå c) slik at du får skrive ut ledda frå a290 til a300 og tilsvarande summar og ledda frå a990 til a1000 og tilsvarande summar. Beskriv samanhengen mellom desse og svaret du fekk i d).

Løysing
python
1a_n = 0
2Sum = 0
3antal = 1
4Ledda = ["a_n"]
5Summane = ["S_n"]
6
7for n in range(1,1001):
8    a_n = 1/(1+n)**2
9    Sum = Sum + a_n
10    Ledda.append(a_n)
11    Summane.append(Sum)
12    antal = antal+1
13
14print("a_290 - a_300")
15
16for i in range(291,301):
17    print(f"{Ledda[i]:.5f} {Summane[i]:.5f}")
18
19print("a_990 - a_1000")
20
21for i in range(991,1001):
22    print(f"{Ledda[i]:.6f} {Summane[i]:.5f}")

Resultatet av utskrifta blir slik (med 5 og 6 desimalar):

a290 - a3000.000010.641520.000010.641530.000010.641540.000010.641550.000010.641560.000010.641570.000010.641580.000010.641600.000010.641610.000010.64162

a990 - a10000.0000010.643930.0000010.643930.0000010.643930.0000010.643930.0000010.643930.0000010.643930.0000010.643930.0000010.643930.0000010.643930.0000010.64394

Vi ser at ledda blir mindre og mindre, og at summen nærmar seg sakte, men sikkert den summen vi fann i oppgåve d).

f) Utfordring: Kan du lage eit program som finn ut kor mange ledd du må ha for at summen skal vere lik den summen du fekk i oppgåve d) med ei nøyaktigheit på 7 desimalar?

Løysing

Dersom vi skal ha ei nøyaktigheit på 7 desimalar, altså ein sum på 0,6449340, må vi finne ut når summen passerer 0,64493405 (fordi vi då måtte ha runda opp til 0,6449341).

Programmet kan sjå slik ut:

python
1a_n = 0
2Sum = 0
3antal = 1
4
5
6while Sum < 0.64493405:
7    a_n = 1/(1+antal)**2
8    Sum = Sum + a_n
9    antal = antal+1
10
11print(f"Vi treng {antal-1} ledd for å få summen med ei nøyaktigheit på 7 desimalar.") 

Tok programmet langt tid å køyre? Ikkje så rart, kanskje, sidan vi treng heile 59 128 516 ledd i rekka for å komme til denne summen.

Kanskje du klarer å finne eit meir effektivt program?

1.1.22

Ledda i ei uendeleg rekke er gitt ved formelen an=1n2.

a) Skriv opp dei fem første ledda i rekka.

Løysing

an = 1n2a1 = 112=1a2 = 122=14a3 = 132=19a4 = 142=116a5 = 152=125

b) Finn S5 og S50.

Løysing

Vi bruker GeoGebra og rundar av:

c) Finn den eksakte summen av rekka når n.

Løysing

Vi bruker GeoGebra:


1.1.23

Ledda i ei uendeleg rekke er gitt ved formelen an=1n.

a) Skriv opp dei fem første ledda i rekka.

Løysing

an = 1na1 = 11=1a2 = 12a3 = 13a4 = 14a5 = 15

b) Finn S50 og S100.

Løysing

Vi bruker GeoGebra:

c) Finn summen av rekka når n.

Løysing

Vi bruker GeoGebra:

d) Samanlikn resultatet i c) med resultatet i 1.1.22 c). Beskriv kva som er forskjellen mellom desse to.

Løysing

I 1.1.22 c) var svaret eit tal, mens i denne oppgåva er svaret uendeleg. Det betyr at summen av rekka som er gitt ved an=1n, vil halde fram med å vekse, mens summen av rekka som er gitt ved an=1n2, vil gå mot ein bestemd sum.

Dette betyr at rekka i 1.1.22 konvergerer, mens rekka i 1.1.23 ikkje gjer det. Dette vil du lære meir om når du kjem til artikkelen "Konvergens og divergens i uendelege geometriske rekker".

Skrive av Tove Annette Holter, Olav Kristensen og Stein Aanensen.
Sist fagleg oppdatert 19.11.2021