R2 eksamenVår 2024LK20

Matematikk R2 eksamen – vår 2024

ifingo
Norsk (Bokmål)

ifingo · Matematikk R2

Matematikk R2 - eksamen vår 2024 (LK20)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 / Oppgave 1aBestemt integral

Oppgave 1a

Oppgave: Funksjonen er gitt ved \(f(x)=-x^3+3x\). Regn ut \(\displaystyle\int_{-1}^{0}f(x)\,dx\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal finne en antiderivert og bruke analysens fundamentalteorem. Fortegnet må tolkes ut fra at grafen ligger under x-aksen på intervallet.

  1. Finn en antiderivert
    \[F(x)=-\frac{x^4}{4}+\frac{3x^2}{2}\]
  2. Sett inn øvre grense
    \(F(0)=0\).
  3. Sett inn nedre grense
    \[F(-1)=-\frac14+\frac32=\frac54\]
  4. Trekk nedre verdi fra øvre
    \[\int_{-1}^{0}f(x)\,dx=0-\frac54=-\frac54\]
  5. Kontroller fortegnet
    For \(-10\), så \(f(x)=x(3-x^2)<0\).
  6. Tolk svaret
    Integralverdien er negativ fordi hele grafstykket ligger under x-aksen.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Integral(-x^3+3x,x,-1,0)
Resultat: \(-\frac54\)
Tolkning: CAS gir den eksakte integralverdien og bekrefter fortegnet.
Visualisering for Oppgave 1a
Det bestemte integralet på [-1,0] er negativt, mens det geometriske arealet på [-1,1] summerer begge sidene positivt.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, integrate, factor, Rational, simplify
x = symbols('x', real=True)
f = -x**3 + 3*x
F = integrate(f, x)
value = integrate(f, (x, -1, 0))
print("f(x) =", f)
print("Faktorisert f(x) =", factor(f))
print("Antiderivert F(x) =", F)
print("F(0) =", F.subs(x, 0))
print("F(-1) =", F.subs(x, -1))
print("Bestemt integral =", value)
print("Kontroll mot -5/4 =", simplify(value + Rational(5,4)))
assert value == -Rational(5,4)
Kjørt utskriftf(x) = -x**3 + 3*x
Faktorisert f(x) = -x*(x**2 - 3)
Antiderivert F(x) = -x**4/4 + 3*x**2/2
F(0) = 0
F(-1) = 5/4
Bestemt integral = -5/4
Kontroll mot -5/4 = 0

Fasit: \(\displaystyle -\frac54\).

Vanlig feil: Å glemme at bestemt integral er \(F(0)-F(-1)\), eller å gjøre integralverdien positiv fordi oppgaven senere spør om areal.
Sensorpunkt: Sensor ser etter riktig antiderivert, korrekt grenseinnsetting og eksakt svar.
Del 1 / Oppgave 1bGeometrisk areal

Oppgave 1b

Oppgave: Bestem arealet av området som er avgrenset av grafen til \(f(x)=-x^3+3x\), x-aksen og linjene \(x=-1\) og \(x=1\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal beregne geometrisk areal. Derfor må den negative delen på venstre side tas med som en positiv størrelse.

  1. Finn nullpunktet i intervallet
    \(f(x)=x(3-x^2)\), og det eneste nullpunktet i \([-1,1]\) er \(x=0\).
  2. Bruk oddesymmetri
    Funksjonen er odde, så arealene på hver side av y-aksen er like store.
  3. Sett opp arealet
    \[A=2\int_0^1(-x^3+3x)\,dx\]
  4. Bruk antideriverten
    \[A=2\left[-\frac{x^4}{4}+\frac{3x^2}{2}\right]_0^1\]
  5. Regn ut
    \[A=2\left(-\frac14+\frac32\right)=2\cdot\frac54=\frac52\]
  6. Oppgi arealenhet
    Arealet er \(\frac52\) kvadratenheter.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Integral(abs(-x^3+3x),x,-1,1)
Resultat: \(\frac52\)
Tolkning: Absoluttverdien gjør at bidraget under x-aksen teller positivt.
Visualisering for Oppgave 1b
Det bestemte integralet på [-1,0] er negativt, mens det geometriske arealet på [-1,1] summerer begge sidene positivt.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, integrate, Abs, Rational, simplify
x = symbols('x', real=True)
f = -x**3 + 3*x
right_area = integrate(f, (x, 0, 1))
left_area = integrate(-f, (x, -1, 0))
total = simplify(left_area + right_area)
absolute_check = integrate(Abs(f), (x, -1, 1))
print("Areal på venstre side =", left_area)
print("Areal på høyre side =", right_area)
print("Totalt geometrisk areal =", total)
print("Kontroll med absoluttverdi =", absolute_check)
print("Kontroll mot 5/2 =", simplify(total - Rational(5,2)))
assert total == Rational(5,2)
assert absolute_check == total
Kjørt utskriftAreal på venstre side = 5/4
Areal på høyre side = 5/4
Totalt geometrisk areal = 5/2
Kontroll med absoluttverdi = 5/2
Kontroll mot 5/2 = 0

Fasit: \(\displaystyle A=\frac52=2{,}5\) kvadratenheter.

Vanlig feil: Å bruke integralet fra -1 til 1 direkte. Siden funksjonen er odde, ville det gitt 0 og ikke geometrisk areal.
Sensorpunkt: Sensor ser etter oppdeling ved x=0 eller korrekt bruk av symmetri og absoluttverdi.
Del 1 / Oppgave 2Substitusjon i integral

Oppgave 2

Oppgave: Regn ut \(\displaystyle\int \sin^3(x)\cos(x)\,dx\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal gjenkjenne at den deriverte av \(\sin x\) er \(\cos x\), slik at substitusjon gir et enkelt potensintegral.

  1. Velg substitusjon
    Sett \(u=\sin x\).
  2. Finn differensialet
    \(du=\cos x\,dx\).
  3. Skriv om integralet
    \[\int\sin^3x\cos x\,dx=\int u^3\,du\]
  4. Integrer potensfunksjonen
    \[\int u^3\,du=\frac{u^4}{4}+C\]
  5. Sett tilbake
    \[\frac{\sin^4x}{4}+C\]
  6. Deriver som kontroll
    \(\frac{d}{dx}(\sin^4x/4)=\sin^3x\cos x\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Integral(sin(x)^3*cos(x),x)
Resultat: \(\frac14\sin^4x\)
Tolkning: CAS returnerer en stamfunksjon; den generelle løsningen må ha med konstanten C.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, sin, cos, integrate, diff, simplify
x = symbols('x', real=True)
integrand = sin(x)**3*cos(x)
F = integrate(integrand, x)
expected = sin(x)**4/4
print("Integrand =", integrand)
print("Stamfunksjon fra SymPy =", F)
print("Forventet form =", expected)
print("Derivert tilbake =", diff(expected, x))
print("Kontroll =", simplify(diff(expected, x) - integrand))
assert simplify(diff(expected, x) - integrand) == 0
Kjørt utskriftIntegrand = sin(x)**3*cos(x)
Stamfunksjon fra SymPy = sin(x)**4/4
Forventet form = sin(x)**4/4
Derivert tilbake = sin(x)**3*cos(x)
Kontroll = 0

Fasit: \(\displaystyle\frac14\sin^4x+C\).

Vanlig feil: Å integrere \(\sin^3x\) og \(\cos x\) hver for seg. Produktet krever substitusjon eller en ekvivalent metode.
Sensorpunkt: Sensor ser etter en tydelig substitusjon og korrekt integrasjonskonstant.
Del 1 / Oppgave 3aProgramforståelse og summer

Oppgave 3a

Oppgave: Programmet starter med \(n=0\), \(S=0\), og gjentar \(n=n+1\), \(S=S+4n-2\) så lenge \(S\le200\). Forklar hva eleven prøver å finne ut.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal tolke løkken matematisk og identifisere rekken som summeres.

  1. Finn leddene som legges til
    Når \(n=1,2,3,\ldots\), legges \(2,6,10,14,\ldots\) til S.
  2. Identifiser leddformelen
    Det n-te leddet er \(a_n=4n-2\).
  3. Beskriv summen
    Etter n runder er \(S_n=\sum_{k=1}^{n}(4k-2)\).
  4. Forenkle summen
    \[S_n=4\frac{n(n+1)}2-2n=2n^2\]
  5. Tolk while-betingelsen
    Løkken fortsetter så lenge den gamle verdien av S er høyst 200.
  6. Formuler hensikten
    Programmet finner det første antallet ledd som gjør at summen blir større enn 200.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Sum(4*k-2,k,1,n)
Resultat: \(2n^2\)
Tolkning: CAS viser den eksplisitte summen som programmet bygger opp.
Visualisering for Oppgave 3a
Ved n=10 er S akkurat 200, så løkken kjører én gang til og skriver ut n=11.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, summation, simplify
k, n = symbols('k n', integer=True, positive=True)
term = 4*k - 2
sum_formula = summation(term, (k, 1, n))
print("Det k-te leddet =", term)
print("Summen av de n første leddene =", sum_formula)
print("Forenklet kontroll mot 2*n**2 =", simplify(sum_formula - 2*n**2))
print("Første ledd =", term.subs(k, 1))
print("Andre ledd =", term.subs(k, 2))
print("Tredje ledd =", term.subs(k, 3))
assert simplify(sum_formula - 2*n**2) == 0
Kjørt utskriftDet k-te leddet = 4*k - 2
Summen av de n første leddene = 2*n**2
Forenklet kontroll mot 2*n**2 = 0
Første ledd = 2
Andre ledd = 6
Tredje ledd = 10

Fasit: Programmet finner det minste \(n\) slik at \(2+6+10+\cdots+(4n-2)>200\).

Vanlig feil: Å si at programmet finner når summen er lik 200. Betingelsen gjør at programmet kjører én gang til når S akkurat er 200.
Sensorpunkt: Sensor ser etter tolkning av både leddformelen, summen og while-betingelsen.
Del 1 / Oppgave 3bSporing av while-løkke

Oppgave 3b

Oppgave: Finn verdien som blir skrevet ut når programmet kjøres.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal enten spore løkken eller bruke den eksplisitte summen \(S_n=2n^2\).

  1. Finn når summen når 200
    \(2n^2=200\) gir \(n^2=100\), altså \(n=10\).
  2. Kontroller løkkebetingelsen
    Etter runde 10 er \(S=200\), og betingelsen \(S\le200\) er fortsatt sann.
  3. Kjør én runde til
    Da blir \(n=11\).
  4. Oppdater summen
    \[S=200+(4\cdot11-2)=200+42=242\]
  5. Stopp løkken
    Nå er \(S=242>200\), så neste test er usann.
  6. Les utskriften
    Programmet skriver ut \(n=11\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(2*n^2=200,n)
Resultat: \(n=10\)
22*11^2
Resultat: \(242\)
Tolkning: CAS bekrefter terskelverdien, men løkkelogikken avgjør at utskriften blir 11.
Visualisering for Oppgave 3b
Ved n=10 er S akkurat 200, så løkken kjører én gang til og skriver ut n=11.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
n = 0
S = 0
history = []
while S <= 200:
    n = n + 1
    S = S + 4*n - 2
    history.append((n, S))
print("De siste tre rundene:")
for row in history[-3:]:
    print("n =", row[0], "S =", row[1])
print("Utskrevet verdi n =", n)
print("Sluttverdi S =", S)
assert history[-2] == (10, 200)
assert history[-1] == (11, 242)
assert n == 11
Kjørt utskriftDe siste tre rundene:
n = 9 S = 162
n = 10 S = 200
n = 11 S = 242
Utskrevet verdi n = 11
Sluttverdi S = 242

Fasit: Programmet skriver ut \(11\).

Vanlig feil: Å stoppe ved n=10 fordi S da er 200. Betingelsen er \(S\le200\), ikke \(S<200\).
Sensorpunkt: Sensor ser etter korrekt sporing av minst de to siste rundene.
Del 1 / Oppgave 4aAreal av trekant i rommet

Oppgave 4a

Oppgave: Punktene er \(A(1,1,0)\), \(B(4,1,1)\) og \(C(2,0,-1)\). Bestem arealet av \(\triangle ABC\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal bruke halvparten av lengden til kryssproduktet av to sidevektorer.

  1. Finn sidevektorene
    \[\overrightarrow{AB}=(3,0,1),\qquad\overrightarrow{AC}=(1,-1,-1)\]
  2. Beregn kryssproduktet
    \[\overrightarrow{AB}\times\overrightarrow{AC}=(1,4,-3)\]
  3. Finn lengden
    \[\sqrt{1^2+4^2+(-3)^2}=\sqrt{26}\]
  4. Bruk trekantformelen
    \[A_{\triangle}=\frac12\left|\overrightarrow{AB}\times\overrightarrow{AC}\right|\]
  5. Sett inn
    \[A_{\triangle}=\frac{\sqrt{26}}2\]
  6. Oppgi tilnærming
    \(\sqrt{26}/2\approx2{,}55\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Cross((3,0,1),(1,-1,-1))
Resultat: \((1,4,-3)\)
2Length((1,4,-3))/2
Resultat: \(\frac{\sqrt{26}}2\)
Tolkning: Kryssproduktet er normalvektor til trekantplanet og har areal lik parallellogrammet.
Visualisering for Oppgave 4a
Kryssproduktet AB × AC gir både trekantarealet og en normalvektor til planet gjennom A, B og C.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, sqrt, simplify
A = Matrix([1,1,0]); B = Matrix([4,1,1]); C = Matrix([2,0,-1])
AB = B - A
AC = C - A
cross = AB.cross(AC)
parallelogram_area = sqrt(cross.dot(cross))
triangle_area = parallelogram_area/2
print("AB =", AB.T)
print("AC =", AC.T)
print("AB x AC =", cross.T)
print("Parallellogramareal =", parallelogram_area)
print("Trekantareal =", triangle_area)
print("Desimalverdi =", triangle_area.evalf(10))
assert cross == Matrix([1,4,-3])
assert simplify(triangle_area - sqrt(26)/2) == 0
Kjørt utskriftAB = Matrix([[3, 0, 1]])
AC = Matrix([[1, -1, -1]])
AB x AC = Matrix([[1, 4, -3]])
Parallellogramareal = sqrt(26)
Trekantareal = sqrt(26)/2
Desimalverdi = 2.549509757

Fasit: \(\displaystyle\frac{\sqrt{26}}2\approx2{,}55\).

Vanlig feil: Å glemme faktoren 1/2 og dermed oppgi arealet av parallellogrammet.
Sensorpunkt: Sensor ser etter riktige sidevektorer, kryssprodukt og halvering.
Del 1 / Oppgave 4bAvstand fra punkt til linje

Oppgave 4b

Oppgave: Bestem avstanden fra punktet C til linja gjennom A og B.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal bruke høydeformelen \(d=|\overrightarrow{AC} imes\overrightarrow{AB}|/|\overrightarrow{AB}|\).

  1. Bruk vektorene fra forrige del
    \(\overrightarrow{AB}=(3,0,1)\) og \(\overrightarrow{AC}=(1,-1,-1)\).
  2. Finn kryssproduktlengden
    \(|\overrightarrow{AC}\times\overrightarrow{AB}|=\sqrt{26}\).
  3. Finn lengden av AB
    \[|\overrightarrow{AB}|=\sqrt{3^2+0^2+1^2}=\sqrt{10}\]
  4. Bruk avstandsformelen
    \[d=\frac{\sqrt{26}}{\sqrt{10}}\]
  5. Forenkle
    \[d=\sqrt{\frac{13}{5}}=\frac{\sqrt{65}}5\]
  6. Oppgi desimalverdi
    \(d\approx1{,}61\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Distance((2,0,-1),Line((1,1,0),(4,1,1)))
Resultat: \(\frac{\sqrt{65}}5\)
Tolkning: GeoGebra beregner den korteste avstanden vinkelrett på linja.
Visualisering for Oppgave 4b
Kryssproduktet AB × AC gir både trekantarealet og en normalvektor til planet gjennom A, B og C.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, sqrt, simplify
A = Matrix([1,1,0]); B = Matrix([4,1,1]); C = Matrix([2,0,-1])
AB = B-A; AC = C-A
cross = AC.cross(AB)
distance = sqrt(cross.dot(cross))/sqrt(AB.dot(AB))
print("AB =", AB.T)
print("AC =", AC.T)
print("AC x AB =", cross.T)
print("Avstand =", distance)
print("Forenklet avstand =", simplify(distance))
print("Desimalverdi =", distance.evalf(10))
assert simplify(distance - sqrt(65)/5) == 0
Kjørt utskriftAB = Matrix([[3, 0, 1]])
AC = Matrix([[1, -1, -1]])
AC x AB = Matrix([[-1, -4, 3]])
Avstand = sqrt(65)/5
Forenklet avstand = sqrt(65)/5
Desimalverdi = 1.612451550

Fasit: \(\displaystyle d=\frac{\sqrt{65}}5\approx1{,}61\).

Vanlig feil: Å bruke avstanden AC direkte. Den korteste avstanden går vinkelrett på linja AB.
Sensorpunkt: Sensor ser etter korrekt punkt-linje-formel eller en ekvivalent projeksjonsmetode.
Del 1 / Oppgave 4cNormal til plan

Oppgave 4c

Oppgave: Punktene A, B og C ligger i planet \(\alpha\). Punktet er \(P(-2,1,4)\). Lag en parameterframstilling for linja gjennom P som står vinkelrett på \(\alpha\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal bruke kryssproduktet fra del a som normalvektor til planet.

  1. Finn en normalvektor
    \(\vec n=\overrightarrow{AB}\times\overrightarrow{AC}=(1,4,-3)\).
  2. Bruk normalvektoren som linjeretning
    En linje vinkelrett på planet må være parallell med \(\vec n\).
  3. Bruk punkt-retningsform
    \[\vec r(t)=\vec{OP}+t\vec n\]
  4. Sett inn
    \[\vec r(t)=(-2,1,4)+t(1,4,-3)\]
  5. Skriv koordinatvis
    \[x=-2+t,\quad y=1+4t,\quad z=4-3t\]
  6. Kontroller
    Retningsvektoren er normal til både AB og AC, og dermed til hele planet.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Line((-2,1,4),(-1,5,1))
Resultat: \((x,y,z)=(-2,1,4)+t(1,4,-3)\)
Tolkning: Det andre punktet er P pluss normalvektoren.
Visualisering for Oppgave 4c
Kryssproduktet AB × AC gir både trekantarealet og en normalvektor til planet gjennom A, B og C.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, symbols
P = Matrix([-2,1,4])
normal = Matrix([1,4,-3])
t = symbols('t', real=True)
line = P + t*normal
AB = Matrix([3,0,1]); AC = Matrix([1,-1,-1])
print("Normalvektor =", normal.T)
print("Normal · AB =", normal.dot(AB))
print("Normal · AC =", normal.dot(AC))
print("Parameterframstilling =", line.T)
print("Punkt ved t=1 =", line.subs(t,1).T)
assert normal.dot(AB) == 0
assert normal.dot(AC) == 0
assert line.subs(t,0) == P
Kjørt utskriftNormalvektor = Matrix([[1, 4, -3]])
Normal · AB = 0
Normal · AC = 0
Parameterframstilling = Matrix([[t - 2, 4*t + 1, 4 - 3*t]])
Punkt ved t=1 = Matrix([[-1, 5, 1]])

Fasit: \((x,y,z)=(-2,1,4)+t(1,4,-3)\), \(t\in\mathbb R\).

Vanlig feil: Å bruke AB eller AC som retningsvektor. De ligger i planet og gir ikke en normal linje.
Sensorpunkt: Sensor ser etter en gyldig normalvektor og korrekt punkt-retningsform.
Del 1 / Oppgave 4dLinje parallell med plan

Oppgave 4d

Oppgave: En linje m går gjennom P, er parallell med planet \(\alpha\) og skjærer z-aksen i D. Bestem koordinatene til D.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal skrive \(D=(0,0,d)\) og kreve at retningsvektoren fra P til D er vinkelrett på normalvektoren til planet.

  1. Skriv punktet på z-aksen
    La \(D=(0,0,d)\).
  2. Finn retningsvektoren PD
    \[\overrightarrow{PD}=D-P=(2,-1,d-4)\]
  3. Bruk parallellitetskravet
    En retningsvektor parallell med planet må være vinkelrett på \(\vec n=(1,4,-3)\).
  4. Sett skalarproduktet lik null
    \[(2,-1,d-4)\cdot(1,4,-3)=0\]
  5. Løs likningen
    \[2-4-3(d-4)=0\Rightarrow10-3d=0\Rightarrow d=\frac{10}{3}\]
  6. Oppgi punktet
    \[D=\left(0,0,\frac{10}{3}\right)\]

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve((2,-1,d-4)·(1,4,-3)=0,d)
Resultat: \(d=\frac{10}{3}\)
Tolkning: CAS løser ortogonalitetsbetingelsen mellom linjeretningen og planens normalvektor.
Visualisering for Oppgave 4d
Kryssproduktet AB × AC gir både trekantarealet og en normalvektor til planet gjennom A, B og C.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, symbols, Eq, solve, Rational
P = Matrix([-2,1,4])
d = symbols('d', real=True)
D = Matrix([0,0,d])
normal = Matrix([1,4,-3])
direction = D-P
dot_product = direction.dot(normal)
solution = solve(Eq(dot_product,0),d)[0]
D_exact = D.subs(d,solution)
print("PD =", direction.T)
print("Skalarprodukt med normal =", dot_product)
print("Løsning for d =", solution)
print("Punkt D =", D_exact.T)
print("Kontroll skalarprodukt =", (D_exact-P).dot(normal))
assert solution == Rational(10,3)
assert (D_exact-P).dot(normal) == 0
Kjørt utskriftPD = Matrix([[2, -1, d - 4]])
Skalarprodukt med normal = 10 - 3*d
Løsning for d = 10/3
Punkt D = Matrix([[0, 0, 10/3]])
Kontroll skalarprodukt = 0

Fasit: \(\displaystyle D=\left(0,0,\frac{10}{3}\right)\).

Vanlig feil: Å kreve at PD er parallell med normalvektoren. Da ville linja stått vinkelrett på planet, ikke parallelt med det.
Sensorpunkt: Sensor ser etter z-aksebetingelsen og skalarprodukt lik null.
Del 1 / Oppgave 5aTrigonometrisk likning

Oppgave 5a

Oppgave: Funksjonen er \(f(x)=2\sin\left(\frac\pi6x-\frac\pi3\right)-1\), \(D_f=[0,20]\). Løs \(f(x)=0\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal løse en sinuslikning og filtrere løsningene til det oppgitte definisjonsområdet.

  1. Isoler sinusuttrykket
    \[2\sin u-1=0\Rightarrow\sin u=\frac12\]
  2. Skriv de generelle vinkel­løsningene
    \[u=\frac\pi6+2k\pi\quad\text{eller}\quad u=\frac{5\pi}{6}+2k\pi\]
  3. Sett inn \(u= rac\pi6x- rac\pi3\)
    Den første familien gir \(x=3+12k\).
  4. Løs den andre familien
    Den andre familien gir \(x=7+12k\).
  5. Filtrer til [0,20]
    Fra første familie får vi 3 og 15; fra andre får vi 7 og 19.
  6. Kontroller
    Alle fire verdiene gir \(\sin u=1/2\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(2*sin(pi*x/6-pi/3)-1=0,0≤x≤20)
Resultat: \(x=3,7,15,19\)
Tolkning: CAS må få oppgitt intervallet for å returnere alle fire relevante løsninger.
Visualisering for Oppgave 5a
Grafen viser nullpunktene 3, 7, 15 og 19, samt periode og likevektslinje.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, sin, pi, solveset, Interval, simplify
x = symbols('x', real=True)
f = 2*sin(pi*x/6 - pi/3) - 1
solutions = solveset(f, x, domain=Interval(0,20))
print("f(x) =", f)
print("Løsninger på [0,20] =", solutions)
for value in sorted(list(solutions)):
    print("f(%s) =" % value, simplify(f.subs(x,value)))
assert solutions == {3,7,15,19}
Kjørt utskriftf(x) = -2*cos(pi*x/6 + pi/6) - 1
Løsninger på [0,20] = {3, 7, 15, 19}
f(3) = 0
f(7) = 0
f(15) = 0
f(19) = 0

Fasit: \(x=3,7,15,19\).

Vanlig feil: Å finne bare én av de to sinusfamiliene, eller å glemme definisjonsområdet.
Sensorpunkt: Sensor ser etter begge løsningsfamilier og korrekt filtrering.
Del 1 / Oppgave 5bAmplitude, periode og faseforskyvning

Oppgave 5b

Oppgave: Finn amplituden, likevektslinja, perioden og forskyvningen langs likevektslinja for funksjonen.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal sammenligne funksjonen med standardformen \(a\sin(b(x-c))+d\).

  1. Skriv funksjonen i forskjøvet form
    \[\frac\pi6x-\frac\pi3=\frac\pi6(x-2)\]
  2. Finn amplituden
    \(A=|2|=2\).
  3. Finn likevektslinja
    Den vertikale forskyvningen er -1, så likevektslinja er \(y=-1\).
  4. Finn perioden
    \[P=\frac{2\pi}{\pi/6}=12\]
  5. Finn horisontal forskyvning
    Uttrykket \(x-2\) betyr 2 enheter mot høyre.
  6. Kontroller ekstremverdiene
    Maksimum er \(-1+2=1\), og minimum er \(-1-2=-3\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Period(2*sin(pi*x/6-pi/3)-1)
Resultat: \(12\)
2Extremum
Resultat: \(-3\le f(x)\le1\)
Tolkning: CAS bekrefter perioden; omskrivingen viser faseforskyvningen tydeligst.
Visualisering for Oppgave 5b
Grafen viser nullpunktene 3, 7, 15 og 19, samt periode og likevektslinje.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, pi, simplify
x = symbols('x', real=True)
a = 2
b = pi/6
c = 2
d = -1
period = 2*pi/abs(b)
print("Amplitude =", abs(a))
print("Likevektslinje: y =", d)
print("Periode =", period)
print("Horisontal forskyvning =", c, "mot høyre")
print("Maksimum =", d+abs(a))
print("Minimum =", d-abs(a))
print("Kontroll av faseuttrykk =", simplify(b*(x-c) - (pi*x/6-pi/3)))
assert period == 12
assert simplify(b*(x-c) - (pi*x/6-pi/3)) == 0
Kjørt utskriftAmplitude = 2
Likevektslinje: y = -1
Periode = 12
Horisontal forskyvning = 2 mot høyre
Maksimum = 1
Minimum = -3
Kontroll av faseuttrykk = 0

Fasit: Amplitude 2, likevektslinje \(y=-1\), periode 12 og forskyvning 2 mot høyre.

Vanlig feil: Å oppgi \(-\pi/3\) som horisontal forskyvning. Konstantleddet må deles på koeffisienten foran x.
Sensorpunkt: Sensor ser etter standardform og alle fire karakteristika.

Del 2 - med hjelpemidler

Del 2 / Oppgave 1aFartsvektor i rommet

Oppgave 1a

Oppgave: Ballens posisjon er \(\vec r(t)=(30t,5t,7t-4{,}9t^2)\). Hvor stor er farten idet ballen blir skutt?
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal derivere posisjonsvektoren og finne lengden av fartsvektoren ved t=0.

  1. Deriver posisjonen
    \[\vec v(t)=\vec r^{\prime}(t)=(30,5,7-9{,}8t)\]
  2. Sett t=0
    \[\vec v(0)=(30,5,7)\]
  3. Bruk lengdeformelen
    \[|\vec v(0)|=\sqrt{30^2+5^2+7^2}\]
  4. Regn ut under roten
    \(900+25+49=974\).
  5. Oppgi eksakt fart
    \(|\vec v(0)|=\sqrt{974}\).
  6. Oppgi desimalverdi
    \(\sqrt{974}\approx31{,}2\,\text{m/s}\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Derivative((30t,5t,7t-4.9t^2),t)
Resultat: \((30,5,7-9{,}8t)\)
2Length(v(0))
Resultat: \(\sqrt{974}\)
Tolkning: GeoGebra gir fartsvektoren og dens norm ved starttidspunktet.
Visualisering for Oppgave 1a
Ballbanen er en romkurve. Toppunktet oppstår når den vertikale farten er null.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, Matrix, Rational, diff, sqrt, simplify
t = symbols('t', real=True)
r = Matrix([30*t, 5*t, 7*t - Rational(49,10)*t**2])
v = r.diff(t)
v0 = v.subs(t,0)
speed0 = sqrt(v0.dot(v0))
print("r(t) =", r.T)
print("v(t) =", v.T)
print("v(0) =", v0.T)
print("Startfart eksakt =", speed0)
print("Startfart i m/s =", speed0.evalf(12))
print("Kontroll mot sqrt(974) =", simplify(speed0-sqrt(974)))
assert simplify(speed0-sqrt(974)) == 0
Kjørt utskriftr(t) = Matrix([[30*t, 5*t, -49*t**2/10 + 7*t]])
v(t) = Matrix([[30, 5, 7 - 49*t/5]])
v(0) = Matrix([[30, 5, 7]])
Startfart eksakt = sqrt(974)
Startfart i m/s = 31.2089730687
Kontroll mot sqrt(974) = 0

Fasit: \(\sqrt{974}\approx31{,}2\,\text{m/s}\).

Vanlig feil: Å bruke bare den vertikale komponenten 7 m/s eller å glemme å derivere posisjonen.
Sensorpunkt: Sensor ser etter fartsvektoren og normberegningen.
Del 2 / Oppgave 1bTreffpunkt og horisontal avstand

Oppgave 1b

Oppgave: Hvor langt fra hjørnemerket er ballen når den treffer fotballbanen igjen?
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal finne det positive tidspunktet der høyden z(t) blir 0 og deretter beregne avstanden fra origo i baneplanet.

  1. Sett høyden lik null
    \[7t-4{,}9t^2=t(7-4{,}9t)=0\]
  2. Velg positiv løsning
    \[t=\frac7{4{,}9}=\frac{10}{7}\,\text{s}\]
  3. Finn x- og y-koordinatene
    \[x=30\cdot\frac{10}{7}=\frac{300}{7},\qquad y=5\cdot\frac{10}{7}=\frac{50}{7}\]
  4. Beregn avstanden i planet
    \[d=\sqrt{x^2+y^2}\]
  5. Forenkle
    \[d=\frac1{7}\sqrt{300^2+50^2}=\frac{50\sqrt{37}}7\]
  6. Oppgi desimalverdi
    \(d\approx43{,}45\,\text{m}\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(7t-4.9t^2=0,t)
Resultat: \(t=0\) eller \(t=10/7\)
2Distance((0,0),(300/7,50/7))
Resultat: \(50\sqrt{37}/7\)
Tolkning: Den positive tiden gir det andre møtet med bakken.
Visualisering for Oppgave 1b
Ballbanen er en romkurve. Toppunktet oppstår når den vertikale farten er null.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, Rational, solve, sqrt, simplify
t = symbols('t', real=True)
z = 7*t - Rational(49,10)*t**2
times = solve(z,t)
t_hit = max(times)
x_hit = 30*t_hit
y_hit = 5*t_hit
distance = sqrt(x_hit**2+y_hit**2)
print("Løsninger av z(t)=0 =", times)
print("Trefftid =", t_hit)
print("Treffpunkt i banen =", (x_hit,y_hit))
print("Avstand eksakt =", simplify(distance))
print("Avstand i meter =", distance.evalf(12))
assert t_hit == Rational(10,7)
assert simplify(distance-50*sqrt(37)/7) == 0
Kjørt utskriftLøsninger av z(t)=0 = [0, 10/7]
Trefftid = 10/7
Treffpunkt i banen = (300/7, 50/7)
Avstand eksakt = 50*sqrt(37)/7
Avstand i meter = 43.4483037878

Fasit: \(\displaystyle\frac{50\sqrt{37}}7\approx43{,}45\,\text{m}\).

Vanlig feil: Å bruke romavstanden med z-komponenten før man har kontrollert at z=0, eller å velge t=0.
Sensorpunkt: Sensor ser etter positiv trefftid og horisontal avstand fra hjørnet.
Del 2 / Oppgave 1cToppunkt og fart

Oppgave 1c

Oppgave: Hvor stor er farten når ballen er på sitt høyeste, og hvor høyt over banen er ballen da?
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? På toppunktet er den vertikale farts­komponenten null. Vi finner tidspunktet, farten og høyden.

  1. Finn vertikal fart
    \(v_z(t)=7-9{,}8t\).
  2. Sett vertikal fart lik null
    \[7-9{,}8t=0\Rightarrow t=\frac57\,\text{s}\]
  3. Finn fartsvektoren
    På dette tidspunktet er \(\vec v=(30,5,0)\).
  4. Finn farten
    \[|\vec v|=\sqrt{30^2+5^2}=\sqrt{925}=5\sqrt{37}\]
  5. Finn høyden
    \[z\left(\frac57\right)=7\cdot\frac57-4{,}9\left(\frac57\right)^2=2{,}5\]
  6. Oppgi svar med enheter
    Farten er ca. 30,4 m/s, og høyden er 2,5 m.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(7-9.8t=0,t)
Resultat: \(t=5/7\)
2Length(v(5/7))
Resultat: \(5\sqrt{37}\)
3z(5/7)
Resultat: \(5/2\)
Tolkning: CAS finner toppunktet fra den vertikale farts­komponenten.
Visualisering for Oppgave 1c
Ballbanen er en romkurve. Toppunktet oppstår når den vertikale farten er null.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, Matrix, Rational, solve, sqrt, simplify
t = symbols('t', real=True)
r = Matrix([30*t,5*t,7*t-Rational(49,10)*t**2])
v = r.diff(t)
t_top = solve(v[2],t)[0]
v_top = v.subs(t,t_top)
speed_top = sqrt(v_top.dot(v_top))
height = r[2].subs(t,t_top)
print("v(t) =", v.T)
print("Tid ved toppunkt =", t_top)
print("Fartsvektor ved toppunkt =", v_top.T)
print("Fart eksakt =", speed_top)
print("Fart i m/s =", speed_top.evalf(12))
print("Maksimal høyde =", height)
assert t_top == Rational(5,7)
assert simplify(speed_top-5*sqrt(37)) == 0
assert height == Rational(5,2)
Kjørt utskriftv(t) = Matrix([[30, 5, 7 - 49*t/5]])
Tid ved toppunkt = 5/7
Fartsvektor ved toppunkt = Matrix([[30, 5, 0]])
Fart eksakt = 5*sqrt(37)
Fart i m/s = 30.4138126515
Maksimal høyde = 5/2

Fasit: Farten er \(5\sqrt{37}\approx30{,}4\,\text{m/s}\), og høyden er \(2{,}5\,\text{m}\).

Vanlig feil: Å tro at hele farten er null i toppunktet. Bare den vertikale komponenten er null.
Sensorpunkt: Sensor ser etter toppunktbetingelsen, norm av horisontal fart og korrekt høyde.
Del 2 / Oppgave 2Numerisk rotasjonsvolum

Oppgave 2

Oppgave: Bruk informasjonen i bildet til å bestemme det omtrentlige volumet av pæra.
Vekting: Denne oppgaven vektes som to deloppgaver.
Vis løsning

Hva spør oppgaven om? Vi skal lese av radiusen til pæra langs x-aksen, lage en jevn profil og rotere profilen om x-aksen.

  1. Velg avlesningspunkter
    Vi leser av omtrentlige punkter \((x_i,y_i)\) langs den øvre kanten, fra \((0,1)\) til omtrent \((11{,}8,0)\).
  2. Tolk y som radius
    Bildet viser halve snittflaten. Når profilen roteres om x-aksen, er \(y(x)\) radiusen.
  3. Lag en jevn modell
    En formbevarende kubisk interpolasjon gjennom punktene følger konturen uten store svingninger.
  4. Sett opp volumformelen
    \[V=\pi\int_0^{11{,}8}y(x)^2\,dx\]
  5. Integrer numerisk
    Med de avleste punktene får vi omtrent \(V=325\,\text{cm}^3\).
  6. Vurder usikkerheten
    Avlesning fra et bilde gir noen centimeters kubikk usikkerhet. Et svar omkring 320–330 cm³ er rimelig.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1FitPoly(points,6)
Resultat: En jevn profil gjennom avleste punkter
2Integral(π*f(x)^2,0,11.8)
Resultat: Omtrent \(325\)
Tolkning: Resultatet avhenger litt av hvilke punkter som leses av, men metoden og størrelsesordenen er robuste.
Visualisering for Oppgave 2
Profilen er lest av fra eksamensbildet. Rotasjon om x-aksen gir et volum på omtrent 325 cm³.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
import numpy as np
from scipy.interpolate import PchipInterpolator
x = np.array([0,0.5,1,2,3,4,5,6,7,8,9,10,11,11.5,11.8], dtype=float)
y = np.array([1.0,2.2,2.8,3.4,3.75,3.95,3.9,3.65,3.2,2.65,2.1,1.55,0.85,0.4,0.0], dtype=float)
profile = PchipInterpolator(x,y)
grid = np.linspace(0,11.8,20001)
radius = profile(grid)
volume = np.pi*np.trapezoid(radius**2,grid)
volume_trapezoids = np.pi*np.trapezoid(y**2,x)
print("Antall avleste punkter =", len(x))
print("Største avleste radius =", y.max(), "cm")
print("Lengde langs x-aksen =", x[-1], "cm")
print("Volum med PCHIP-profil =", round(volume,3), "cm^3")
print("Volum med direkte trapesmetode =", round(volume_trapezoids,3), "cm^3")
print("Avrundet volum =", round(volume), "cm^3")
assert 315 < volume < 335
assert np.all(radius >= -1e-10)
Kjørt utskriftAntall avleste punkter = 15
Største avleste radius = 3.95 cm
Lengde langs x-aksen = 11.8 cm
Volum med PCHIP-profil = 325.159 cm^3
Volum med direkte trapesmetode = 323.548 cm^3
Avrundet volum = 325 cm^3

Fasit: Omtrent \(3{,}25\cdot10^2\,\text{cm}^3\), altså ca. \(325\,\text{cm}^3\).

Vanlig feil: Å integrere \(y(x)\) i stedet for \(\pi y(x)^2\), eller å glemme at profilen skal roteres.
Sensorpunkt: Sensor ser etter en dokumentert digital modell, korrekt rotasjonsformel og en rimelig usikkerhetsvurdering.
Del 2 / Oppgave 3aTolkning av sinusmodell

Oppgave 3a

Oppgave: Modellen er \(T(x)=4\sin(0{,}0055\pi x-0{,}5\pi)+19\). Forklar hvordan verdiene passer med opplysningene.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal tolke amplitude, likevektslinje, periode og faseforskyvning i konteksten tidspunkt etter midnatt.

  1. Tolk likevektslinjen
    Tallet 19 betyr at gjennomsnittstidspunktet er kl. 19:00.
  2. Tolk amplituden
    Amplituden 4 timer gir minimum \(19-4=15\) og maksimum \(19+4=23\).
  3. Finn perioden
    \[P=\frac{2\pi}{0{,}0055\pi}=\frac2{0{,}0055}\approx363{,}6\text{ dager}\]
  4. Knytt perioden til året
    363,6 dager er svært nær ett år.
  5. Tolk faseleddet
    Argumentet er null ved \(x=0{,}5/0{,}0055\approx90{,}9\), altså rundt slutten av mars.
  6. Kontroller 1. april
    For \(x=92\) gir modellen \(T(92)\approx19{,}08\), omtrent kl. 19:05, som passer med den avrundede opplysningen kl. 19:00.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Period(T)
Resultat: \(363{,}64\) dager
2T(92)
Resultat: \(19{,}075\) timer
Tolkning: Modellen er avrundet, så 1. april gir omtrent, ikke nøyaktig, kl. 19.
Visualisering for Oppgave 3a
Modellen varierer mellom kl. 15 og kl. 23 med en periode på omtrent ett år.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import pi, sin, N
amplitude = 4
equilibrium = 19
omega = 0.0055*pi
period = 2*pi/omega
phase_day = (0.5*pi)/omega
T92 = 4*sin(omega*92-0.5*pi)+19
print("Amplitude =", amplitude, "timer")
print("Minimum =", equilibrium-amplitude)
print("Maksimum =", equilibrium+amplitude)
print("Periode =", N(period,12), "dager")
print("Dag der argumentet er 0 =", N(phase_day,12))
print("T(92) =", N(T92,12), "timer")
print("T(92) uttrykt i klokkeslett: ca. 19:%02d" % round((float(T92)-19)*60))
assert abs(float(period)-363.63636) < 1e-4
Kjørt utskriftAmplitude = 4 timer
Minimum = 15
Maksimum = 23
Periode = 363.636363636 dager
Dag der argumentet er 0 = 90.9090909091
T(92) = 19.0753937589 timer
T(92) uttrykt i klokkeslett: ca. 19:05

Fasit: Amplitude 4, likevektslinje 19, periode ca. 364 dager og fase som plasserer passeringen av kl. 19 rundt 1. april.

Vanlig feil: Å tolke 0,0055π som perioden. Det er vinkelfrekvensen; perioden er \(2\pi/b\).
Sensorpunkt: Sensor ser etter kobling mellom alle parameterne og opplysningene i teksten.
Del 2 / Oppgave 3bDerivert av periodisk modell

Oppgave 3b

Oppgave: Når i 2024 vil tidspunktet flytte seg 3 minutter per dag?
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Tre minutter er 0,05 timer. Vi løser \(|T^{\prime}(x)|=0{,}05\) og oversetter dagnumrene til datoer.

  1. Deriver modellen
    \[T^{\prime}(x)=4\cdot0{,}0055\pi\cos(0{,}0055\pi x-0{,}5\pi)=0{,}022\pi\cos(\ldots)\]
  2. Konverter enheten
    3 minutter per dag er \(3/60=0{,}05\) timer per dag.
  3. Sett opp likningen
    \[|0{,}022\pi\cos(0{,}0055\pi x-0{,}5\pi)|=0{,}05\]
  4. Løs numerisk i 2024
    Løsningene er omtrent \(x=46{,}8,135{,}0,228{,}6,316{,}8\).
  5. Oversett til datoer
    Dette svarer omtrent til 15. februar, 14. mai, 15. august og 11. november.
  6. Tolk fortegnet
    På de to første datoene blir tidspunktet senere; på de to siste blir det tidligere, med 3 minutter per dag.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(abs(Derivative(T))=0.05,1≤x≤366)
Resultat: \(x\approx46{,}81,135{,}01,228{,}62,316{,}83\)
Tolkning: Numeriske løsninger må tolkes som datoer; avrunding til nærmeste dag er naturlig.
Visualisering for Oppgave 3b
Modellen varierer mellom kl. 15 og kl. 23 med en periode på omtrent ett år.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
import math
omega = 0.0055*math.pi
limit = 0.05
ratio = limit/(4*omega)
alpha = math.acos(ratio)
solutions = []
for sign_angle in (alpha,-alpha,math.pi-alpha,-math.pi+alpha):
    for k in range(-3,4):
        x = (sign_angle + 0.5*math.pi + 2*math.pi*k)/omega
        if 1 <= x <= 366:
            solutions.append(x)
solutions = sorted(set(round(x,12) for x in solutions))
# Fjern eventuelle dubletter og behold de fire i året
unique=[]
for x in solutions:
    if not unique or abs(x-unique[-1])>1e-6:
        unique.append(x)
print("|T'(x)| = 0.05 timer per dag")
print("Løsninger som dagnummer:")
for x in unique:
    derivative = 4*omega*math.cos(omega*x-0.5*math.pi)
    direction = "senere" if derivative > 0 else "tidligere"
    print("x = %.6f, T'(x) = %.6f, tidspunktet blir %s" % (x,derivative,direction))
assert len(unique) == 4
assert all(abs(abs(4*omega*math.cos(omega*x-0.5*math.pi))-0.05)<1e-9 for x in unique)
Kjørt utskrift|T'(x)| = 0.05 timer per dag
Løsninger som dagnummer:
x = 46.806594, T'(x) = 0.050000, tidspunktet blir senere
x = 135.011588, T'(x) = 0.050000, tidspunktet blir senere
x = 228.624776, T'(x) = -0.050000, tidspunktet blir tidligere
x = 316.829770, T'(x) = -0.050000, tidspunktet blir tidligere

Fasit: Omtrent 15. februar, 14. mai, 15. august og 11. november.

Vanlig feil: Å sette \(T(x)=0{,}05\). Det er endringsfarten, altså den deriverte, som skal være 0,05 timer per dag.
Sensorpunkt: Sensor ser etter enhetsomregning, derivert, fire løsninger og datotolkning.
Del 2 / Oppgave 3cMaksimal endringsfart

Oppgave 3c

Oppgave: Når endrer tidspunktet seg raskest, og hvor stor er endringen da?
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal maksimere absoluttverdien av den deriverte. For en cosinusfunksjon er maksimal absoluttverdi 1.

  1. Bruk den deriverte
    \(T^{\prime}(x)=0{,}022\pi\cos(0{,}0055\pi x-0{,}5\pi)\).
  2. Finn maksimal absoluttverdi
    \[\max|T^{\prime}(x)|=0{,}022\pi\text{ timer per dag}\]
  3. Konverter til minutter
    \[0{,}022\pi\cdot60\approx4{,}15\text{ minutter per dag}\]
  4. Finn når cosinus er ±1
    Argumentet må være \(k\pi\).
  5. Finn dagnumrene
    I 2024 gir dette \(x\approx90{,}91\) og \(x\approx272{,}73\).
  6. Oversett til datoer
    Det er omtrent 31. mars og 29. september. Første gang flyttes tidspunktet senere, andre gang tidligere.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Max(abs(Derivative(T)))
Resultat: \(0{,}022\pi\) timer/dag
2Solve(cos(argument)=±1)
Resultat: \(x\approx90{,}91,272{,}73\)
Tolkning: Maksimal endring oppstår ved passering av likevektslinjen, ikke ved topp og bunn.
Visualisering for Oppgave 3c
Modellen varierer mellom kl. 15 og kl. 23 med en periode på omtrent ett år.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
import math
omega = 0.0055*math.pi
max_hours = 4*omega
max_minutes = 60*max_hours
x_increasing = (0.5*math.pi)/omega
x_decreasing = (1.5*math.pi)/omega
print("Maksimal absoluttverdi av T'(x) =", max_hours, "timer per dag")
print("Maksimal endring =", max_minutes, "minutter per dag")
print("Raskest økning ved x =", x_increasing)
print("Raskest reduksjon ved x =", x_decreasing)
print("Kontroll T' første dato =", 4*omega*math.cos(omega*x_increasing-0.5*math.pi))
print("Kontroll T' andre dato =", 4*omega*math.cos(omega*x_decreasing-0.5*math.pi))
assert abs(max_minutes-4.1469023027)<1e-9
assert abs(x_increasing-90.9090909091)<1e-9
assert abs(x_decreasing-272.7272727273)<1e-9
Kjørt utskriftMaksimal absoluttverdi av T'(x) = 0.06911503837897544 timer per dag
Maksimal endring = 4.146902302738527 minutter per dag
Raskest økning ved x = 90.90909090909092
Raskest reduksjon ved x = 272.72727272727275
Kontroll T' første dato = 0.06911503837897544
Kontroll T' andre dato = -0.06911503837897544

Fasit: Rundt 31. mars og 29. september, med ca. \(4{,}15\) minutter per dag.

Vanlig feil: Å lete etter maksimum og minimum til T. Der er den deriverte null, så tidspunktet endrer seg langsomst.
Sensorpunkt: Sensor ser etter maksimum av |T^{\prime}|, korrekt enhet og datoer.
Del 2 / Oppgave 4aRekursiv og eksplisitt kubikksum

Oppgave 4a

Oppgave: La \(S_n\) være summen av de n første kubikktallene. Beskriv den rekursive sammenhengen og bestem en eksplisitt formel.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal formulere hvordan neste kubikktall legges til og gjenkjenne den klassiske formelen for kubikksummen.

  1. Skriv definisjonen
    \(S_n=1^3+2^3+\cdots+n^3\).
  2. Beskriv neste sum
    \[S_{n+1}=S_n+(n+1)^3\]
  3. Oppgi startverdi
    \(S_1=1\), eventuelt \(S_0=0\).
  4. Gjenkjenn trekanttallet
    Summen av de n første heltallene er \(n(n+1)/2\).
  5. Skriv eksplisitt formel
    \[S_n=\left(\frac{n(n+1)}2\right)^2\]
  6. Kontroller for n=5
    Formelen gir \(15^2=225\), og \(1+8+27+64+125=225\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Sum(k^3,k,1,n)
Resultat: \(n^2(n+1)^2/4\)
Tolkning: CAS forenkler kubikksummen til kvadratet av det n-te trekanttallet.
Visualisering for Oppgave 4a
Den eksplisitte formelen gir S50 = 1 625 625.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, summation, simplify, factor
k,n = symbols('k n', integer=True, positive=True)
S = summation(k**3,(k,1,n))
formula = (n*(n+1)/2)**2
recursive_check = simplify(formula.subs(n,n+1)-formula-(n+1)**3)
print("Symbolsk kubikksum =", S)
print("Faktorisert =", factor(S))
print("Eksplisitt formel =", formula)
print("Rekursiv kontroll =", recursive_check)
print("S5 =", S.subs(n,5))
assert simplify(S-formula)==0
assert recursive_check==0
assert S.subs(n,5)==225
Kjørt utskriftSymbolsk kubikksum = n**4/4 + n**3/2 + n**2/4
Faktorisert = n**2*(n + 1)**2/4
Eksplisitt formel = n**2*(n + 1)**2/4
Rekursiv kontroll = 0
S5 = 225

Fasit: \(S_{n+1}=S_n+(n+1)^3\), \(S_1=1\), og \(S_n=\left(\frac{n(n+1)}2\right)^2\).

Vanlig feil: Å skrive \(S_{n+1}=S_n+n^3\). Det nye leddet ved overgangen er \((n+1)^3\).
Sensorpunkt: Sensor ser etter startverdi, korrekt rekursjon og eksplisitt formel.
Del 2 / Oppgave 4bProgrammering med rekursjon

Oppgave 4b

Oppgave: Lag et program som regner ut \(S_{50}\) ved å bruke den rekursive sammenhengen.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Programmet skal faktisk bygge summen ledd for ledd, ikke bare sette n=50 inn i den eksplisitte formelen.

  1. Initialiser summen
    Start med \(S=0\).
  2. Gjenta for n=1 til 50
    I hver runde legges \(n^3\) til S.
  3. Bruk rekursjonen direkte
    Kodelinjen \(S=S+n^3\) tilsvarer \(S_n=S_{n-1}+n^3\).
  4. Skriv ut resultatet
    Etter siste runde er variabelen S lik \(S_{50}\).
  5. Kontroller med formelen
    \[S_{50}=\left(\frac{50\cdot51}{2}\right)^2=1275^2\]
  6. Regn ut
    \(S_{50}=1\,625\,625\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Iteration(S=S+n^3,n,1,50)
Resultat: \(1\,625\,625\)
Tolkning: GeoGebra kan bruke en sekvens eller sumkommando; Python-koden dokumenterer den rekursive iterasjonen.
Visualisering for Oppgave 4b
Den eksplisitte formelen gir S50 = 1 625 625.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
S = 0
print("Start: S =", S)
for n in range(1,51):
    S = S + n**3
    if n in (1,2,3,10,25,50):
        print("Etter n = %2d er S = %d" % (n,S))
formula_value = (50*51//2)**2
print("S50 fra rekursjonen =", S)
print("S50 fra eksplisitt formel =", formula_value)
print("Forskjell =", S-formula_value)
assert S == 1625625
assert S == formula_value
Kjørt utskriftStart: S = 0
Etter n =  1 er S = 1
Etter n =  2 er S = 9
Etter n =  3 er S = 36
Etter n = 10 er S = 3025
Etter n = 25 er S = 105625
Etter n = 50 er S = 1625625
S50 fra rekursjonen = 1625625
S50 fra eksplisitt formel = 1625625
Forskjell = 0

Fasit: \(S_{50}=1\,625\,625\).

Vanlig feil: Å bruke \(S=50^3\) eller å stoppe løkken på 49.
Sensorpunkt: Sensor ser etter programkode som faktisk bruker den rekursive oppdateringen og gir riktig utskrift.
Del 2 / Oppgave 4cInduksjonsbevis

Oppgave 4c

Oppgave: Bruk induksjonsbevis til å bevise \(S_n=\left(\frac{n(n+1)}2\right)^2\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal vise basissteget og at sannhet for n=k medfører sannhet for n=k+1.

  1. Basissteg n=1
    Venstre side er \(1^3=1\), og høyre side er \((1\cdot2/2)^2=1\).
  2. Induksjonshypotese
    Anta at \(1^3+\cdots+k^3=\left(\frac{k(k+1)}2\right)^2\).
  3. Legg til neste ledd
    \[S_{k+1}=\left(\frac{k(k+1)}2\right)^2+(k+1)^3\]
  4. Faktoriser
    \[S_{k+1}=(k+1)^2\left(\frac{k^2}{4}+k+1\right)\]
  5. Fullfør kvadratet
    \[\frac{k^2+4k+4}{4}=\frac{(k+2)^2}{4}\]
  6. Få ønsket form
    \[S_{k+1}=\left(\frac{(k+1)(k+2)}2\right)^2\]
  7. Konkluder
    Formelen gjelder derfor for alle positive heltall n.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Factor((k(k+1)/2)^2+(k+1)^3)
Resultat: \(((k+1)(k+2)/2)^2\)
Tolkning: CAS kan kontrollere algebraen, men selve induksjonsargumentet må forklares logisk.
Visualisering for Oppgave 4c
Den eksplisitte formelen gir S50 = 1 625 625.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, simplify, factor
k = symbols('k', integer=True, positive=True)
hypothesis = (k*(k+1)/2)**2
next_sum = hypothesis + (k+1)**3
target = ((k+1)*(k+2)/2)**2
print("Induksjonshypotese for S_k =", hypothesis)
print("S_k + (k+1)^3 =", next_sum)
print("Faktorisert uttrykk =", factor(next_sum))
print("Målform for S_(k+1) =", target)
print("Symbolsk differanse =", simplify(next_sum-target))
print("Basissteg n=1:", (1*2//2)**2)
assert simplify(next_sum-target)==0
assert (1*2//2)**2==1
Kjørt utskriftInduksjonshypotese for S_k = k**2*(k + 1)**2/4
S_k + (k+1)^3 = k**2*(k + 1)**2/4 + (k + 1)**3
Faktorisert uttrykk = (k + 1)**2*(k + 2)**2/4
Målform for S_(k+1) = (k + 1)**2*(k + 2)**2/4
Symbolsk differanse = 0
Basissteg n=1: 1

Fasit: Formelen er bevist for alle \(n\in\mathbb N\) ved induksjon.

Vanlig feil: Å bare kontrollere noen få n-verdier. Det er ikke et induksjonsbevis.
Sensorpunkt: Sensor ser etter basis, hypotese, overgang og tydelig konklusjon.
Del 2 / Oppgave 5aAvstand mellom kule og plan

Oppgave 5a

Oppgave: A(1,2,1) og B(3,0,-3) er endepunkter i en diameter. Planet er \(\gamma:x+2y+2z=14\). Finn minste avstand fra kuleflaten til planet.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal finne kulens sentrum og radius, deretter avstanden fra sentrum til planet og trekke fra radiusen.

  1. Finn sentrum
    Midtpunktet er \[M=\left(\frac{1+3}{2},\frac{2+0}{2},\frac{1-3}{2}\right)=(2,1,-1).\]
  2. Finn diameterlengden
    \[|AB|=\sqrt{2^2+(-2)^2+(-4)^2}=\sqrt{24}=2\sqrt6\]
  3. Finn radius
    \(r=\sqrt6\).
  4. Finn sentrum-plan-avstanden
    \[d(M,\gamma)=\frac{|2+2\cdot1+2(-1)-14|}{\sqrt{1^2+2^2+2^2}}=\frac{12}{3}=4\]
  5. Trekk fra radiusen
    Planets avstand til kuleflaten er \(4-\sqrt6\).
  6. Oppgi desimalverdi
    \(4-\sqrt6\approx1{,}55\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Midpoint(A,B)
Resultat: \((2,1,-1)\)
2Distance(M,γ)-Radius
Resultat: \(4-\sqrt6\)
Tolkning: Siden sentrum-plan-avstanden er større enn radiusen, skjærer ikke planet kula.
Visualisering for Oppgave 5a
Sentrum er M=(2,1,-1), radiusen er √6, og det andre parallelle planet ligger på motsatt side av kula.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, sqrt, simplify
A=Matrix([1,2,1]);B=Matrix([3,0,-3])
M=(A+B)/2
AB=B-A
radius=sqrt(AB.dot(AB))/2
center_plane=abs(M[0]+2*M[1]+2*M[2]-14)/sqrt(1+4+4)
surface_plane=simplify(center_plane-radius)
print("Sentrum M =", M.T)
print("Diametervektor AB =", AB.T)
print("Radius =", radius)
print("Avstand sentrum-plan =", center_plane)
print("Minste avstand kuleflate-plan =", surface_plane)
print("Desimalverdi =", surface_plane.evalf(12))
assert M==Matrix([2,1,-1])
assert radius==sqrt(6)
assert center_plane==4
assert simplify(surface_plane-(4-sqrt(6)))==0
Kjørt utskriftSentrum M = Matrix([[2, 1, -1]])
Diametervektor AB = Matrix([[2, -2, -4]])
Radius = sqrt(6)
Avstand sentrum-plan = 4
Minste avstand kuleflate-plan = 4 - sqrt(6)
Desimalverdi = 1.55051025722

Fasit: \(\displaystyle4-\sqrt6\approx1{,}55\).

Vanlig feil: Å oppgi 4, som er avstanden fra sentrum til planet, uten å trekke fra radiusen.
Sensorpunkt: Sensor ser etter sentrum, radius, punkt-plan-avstand og geometrisk subtraksjon.
Del 2 / Oppgave 5bParallelt plan på motsatt side

Oppgave 5b

Oppgave: Et plan \(\alpha\) har samme avstand til kuleflaten og er parallelt med \(\gamma\). Bestem en likning for \(\alpha\).
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Et parallelt plan har samme normalvektor. Vi finner konstantleddet slik at sentrum-plan-avstanden igjen blir 4, men på motsatt side av kula.

  1. Skriv generell parallell planlikning
    \[\alpha:x+2y+2z=c\]
  2. Sett inn sentrum
    For \(M=(2,1,-1)\) er venstresiden \(2+2-2=2\).
  3. Krev sentrum-plan-avstand 4
    \[\frac{|2-c|}{3}=4\]
  4. Løs absoluttverdilikningen
    \(|2-c|=12\), så \(c=14\) eller \(c=-10\).
  5. Velg det andre planet
    \(c=14\) er det opprinnelige planet \(\gamma\). Det andre er \(c=-10\).
  6. Oppgi planlikningen
    \[\alpha:x+2y+2z=-10\]

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(abs(2-c)/3=4,c)
Resultat: \(c=-10\) eller \(c=14\)
Tolkning: Det nye planet velges som løsningen som ikke er det opprinnelige planet.
Visualisering for Oppgave 5b
Sentrum er M=(2,1,-1), radiusen er √6, og det andre parallelle planet ligger på motsatt side av kula.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, Eq, solve, Abs
c=symbols('c',real=True)
solutions=solve(Eq((2-c)**2,12**2),c)
print("Parallell planfamilie: x + 2y + 2z = c")
print("Krav: |2-c|/3 = 4")
print("Mulige konstanter =", solutions)
other=[value for value in solutions if value != 14][0]
print("Opprinnelig plan har c = 14")
print("Det andre planet har c =", other)
print("Plan alpha: x + 2y + 2z =", other)
assert set(solutions)=={-10,14}
assert other==-10
Kjørt utskriftParallell planfamilie: x + 2y + 2z = c
Krav: |2-c|/3 = 4
Mulige konstanter = [-10, 14]
Opprinnelig plan har c = 14
Det andre planet har c = -10
Plan alpha: x + 2y + 2z = -10

Fasit: \(\alpha:x+2y+2z=-10\).

Vanlig feil: Å endre koeffisientene foran x, y og z. Parallelle plan må ha parallelle normalvektorer.
Sensorpunkt: Sensor ser etter planfamilien, avstandskravet og valg av den andre løsningen.
Del 2 / Oppgave 6Geometrisk rekke med integral som kvotient

Oppgave 6

Oppgave: La \(a_1>0\) og \(S(x)=\sum_{n=0}^{\infty}a_1\left(\int_0^x e^{-t}\,dt\right)^n\). Bestem \(a_1\) slik at den minste mulige summen blir 1.
Vekting: Alle deloppgavene vektes likt.
Vis løsning

Hva spør oppgaven om? Vi skal finne kvotienten, konvergensområdet og sumfunksjonen. Det er viktig å skille mellom et faktisk minimum og en nedre grense.

  1. Beregn integralet
    \[q(x)=\int_0^xe^{-t}\,dt=1-e^{-x}\]
  2. Finn konvergensområdet
    \(|q(x)|<1\) gir \(|1-e^{-x}|<1\), altså \(x>-\ln2\).
  3. Bruk sumformelen
    \[S(x)=\frac{a_1}{1-q(x)}=\frac{a_1}{e^{-x}}=a_1e^x\]
  4. Undersøk minste verdi
    På \(x>-\ln2\) er \(S(x)\) voksende, og den nærmer seg \(a_1/2\) når \(x\to(-\ln2)^+\).
  5. Sett nedre grense lik 1
    \[\frac{a_1}{2}=1\Rightarrow a_1=2\]
  6. Presiser matematisk språk
    Fordi endepunktet ikke inngår, er 1 egentlig infimum og ikke en oppnådd minimumsverdi. I eksamensoppgavens formulering er den tilsiktede verdien \(a_1=2\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Integral(exp(-t),t,0,x)
Resultat: \(1-e^{-x}\)
2Sum(a1*(1-exp(-x))^n,n,0,∞)
Resultat: \(a_1e^x\)
3Limit(a1*exp(x),x,-ln(2),Right)
Resultat: \(a_1/2\)
Tolkning: CAS bekrefter sumfunksjonen og den høyresidige grenseverdien ved konvergensgrensen.
Visualisering for Oppgave 6
Rekken konvergerer for x>-ln2. For a₁=2 har summen nedre grense 1.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, exp, integrate, Abs, solve_univariate_inequality, log, limit, oo, simplify
x,t,a1=symbols('x t a1',real=True,positive=False)
q=integrate(exp(-t),(t,0,x))
condition=solve_univariate_inequality(Abs(q)<1,x)
S=simplify(a1/(1-q))
lower_limit=limit(S,x,-log(2),dir='+')
print("Kvotient q(x) =", q)
print("Konvergensområde =", condition)
print("Sumfunksjon S(x) =", S)
print("Høyresidig grense ved x=-ln(2) =", lower_limit)
print("Krav a1/2 = 1 gir a1 = 2")
print("Kontroll for a1=2, nedre grense =", lower_limit.subs(a1,2))
assert simplify(q-(1-exp(-x)))==0
assert simplify(S-a1*exp(x))==0
assert lower_limit==a1/2
assert lower_limit.subs(a1,2)==1
Kjørt utskriftKvotient q(x) = 1 - exp(-x)
Konvergensområde = -log(2) < x
Sumfunksjon S(x) = a1*exp(x)
Høyresidig grense ved x=-ln(2) = a1/2
Krav a1/2 = 1 gir a1 = 2
Kontroll for a1=2, nedre grense = 1

Fasit: \(a_1=2\), når «minste mulige sum» tolkes som den nedre grensen (infimum) til summen.

Vanlig feil: Å bruke kvotienten \(e^{-x}\) i stedet for integralet \(1-e^{-x}\), eller å ignorere konvergensområdet.
Sensorpunkt: Sensor ser etter integral, konvergenskrav, geometrisk sum og begrunnelse for \(a_1=2\).