Hopp til hovedinnholdet
Lær Matte R2

Programmering i R2: numerikk og rekker i Matte R2

Python brukes til å tilnærme integraler med Riemann-summer, løse differensialligninger med Eulers metode og regne ut rekker. Du må kunne lese kode og forutsi utskriften.

Forutsi utskriften: løkker og rekursjon

Les koden linje for linje og hold styr på variablene. En -løkke kjører så lenge betingelsen er sann.```pythoni = 1s = 0while i <= 4:s = s + ii = i + 1print(s)```Etter tur legges 1, 2, 3, 4 til . Utskriften blir 10.En rekursiv funksjon kaller seg selv til den treffer et grunntilfelle.```pythondef f(n):if n == 0:return 1return n * f(n - 1)print(f(4))```Dette regner , så utskriften blir 24.

Riemann-sum: numerisk integral

Et bestemt integral tilnærmes ved å dele intervallet i like biter med bredde og summere rektangelarealer.Venstre Riemann-sum: .```pythondef f(x):return x**2a, b, n = 0, 1, 1000h = (b - a) / ns = 0for i in range(n):s = s + f(a + i * h) * hprint(s)```Programmet tilnærmer . Med blir utskriften nær 0.333. Større gir bedre nøyaktighet.

Eulers metode for differensialligninger

Når med ikke kan løses eksakt, tar Eulers metode små steg: .```pythondef f(x, y):return x + yx, y, h = 0, 1, 0.1for k in range(10):y = y + h * f(x, y)x = x + hprint(y)```Dette løser , , frem til i ti steg. Hvert steg oppdaterer med stigningen ganger steglengden. Mindre gir bedre tilnærming.

Rekursiv rekke

En rekursiv følge defineres ved startledd og en regel som gir neste ledd. Fibonacci: og .```pythona, b = 1, 1sum = a + bfor k in range(8):a, b = b, a + bsum = sum + bprint(sum)```Løkken bygger følgen 1, 1, 2, 3, 5, ... og legger hvert nytt ledd til . Slik kan du regne ut en delsum av en rekursivt definert rekke uten en lukket formel.
Om eksempeloppgavene
Eksempelet er kode som regner en Riemann-sum, og du skal tolke hva den tilnærmer. Du leser koden, du skriver den ikke.

Alle teknikkene i Matte R2 står på Lær Matte R2.