R2 eksamenHøst 2023LK20

Matematikk R2 eksamen – høst 2023

ifingo
Norsk (Bokmål)

ifingo · Matematikk R2

Matematikk R2 - eksamen høst 2023 (LK20)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 / Oppgave 1Bestemt integral og fortegnet areal

Oppgave 1

Oppgave: Regn ut integralet \(\displaystyle\int_{-1}^{1}(x^3+2x)\,dx\). Hva forteller svaret deg?
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal beregne et bestemt integral og tolke hvorfor resultatet blir null selv om grafen ikke ligger på x-aksen.

  1. Undersøk symmetrien
    Funksjonen \(f(x)=x^3+2x\) er odde fordi \(f(-x)=-f(x)\).
  2. Bruk symmetriregelen
    Integral av en odde funksjon over et symmetrisk intervall er null.
  3. Finn en antiderivert som kontroll
    \[F(x)=\frac{x^4}{4}+x^2\]
  4. Sett inn grensene
    \[F(1)-F(-1)=\left(\frac14+1\right)-\left(\frac14+1\right)=0\]
  5. Tolk fortegnet
    Området til venstre for y-aksen bidrar negativt, mens området til høyre bidrar positivt.
  6. Skill integral fra geometrisk areal
    Svaret 0 betyr at de to fortegnede arealene er like store, ikke at det geometriske arealet er 0.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Integral(x^3+2x,x,-1,1)
Resultat: \(0\)
2IsOdd(x^3+2x)
Resultat: true
Tolkning: CAS bekrefter både integralverdien og oddesymmetrien.

Digital kontroll i Python

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

Fasit: Integralverdien er \(0\). Det fortegnede arealet under x-aksen er like stort som det fortegnede arealet over x-aksen.

Vanlig feil: Å tolke integralverdien 0 som at grafen ikke omslutter noe geometrisk areal.
Sensorpunkt: Sensor ser etter korrekt integral og en tydelig tolkning av kansellering mellom negativt og positivt areal.
Del 1 / Oppgave 2Areal mellom to trigonometriske grafer

Oppgave 2

Oppgave: Figuren viser \(f(x)=\cos x\) og \(g(x)=\sin x\). Bestem arealet av det fargelagte området.
Vekting: Denne oppgaven vektes som to deloppgaver.
Vis løsning

Hva spør oppgaven om? Vi skal finne de to naboskjæringspunktene som avgrenser området og integrere øvre funksjon minus nedre funksjon.

  1. Finn skjæringspunktene
    Likningen \(\cos x=\sin x\) gir \(\tan x=1\), altså \(x=\frac\pi4+k\pi\).
  2. Velg grensene fra figuren
    De aktuelle naboskjæringspunktene er \(x=-\frac{3\pi}{4}\) og \(x=\frac\pi4\).
  3. Bestem hvilken graf som ligger øverst
    Ved \(x=0\) er \(\cos0=1\) og \(\sin0=0\), så cosinus ligger øverst i hele området.
  4. Sett opp arealintegralet
    \[A=\int_{-3\pi/4}^{\pi/4}(\cos x-\sin x)\,dx\]
  5. Integrer
    En antiderivert er \(\sin x+\cos x\).
  6. Sett inn grensene
    \[A=(\sqrt2)-(-\sqrt2)=2\sqrt2\]
  7. Kontroller positivitet
    \(2\sqrt2\approx2{,}828\), som er et positivt og rimelig areal.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(cos(x)=sin(x),x)
Resultat: \(x=\frac\pi4+k\pi\)
2Integral(cos(x)-sin(x),x,-3π/4,π/4)
Resultat: \(2\sqrt2\)
Tolkning: Skjæringspunktene fra figuren gir ett helt område der cosinus ligger over sinus.
Visualisering for Oppgave 2
Skjæringspunktene er x = -3π/4 og x = π/4. I intervallet ligger cos x over sin x.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, sin, cos, pi, integrate, simplify, sqrt, N
x = symbols('x', real=True)
left = -3*pi/4
right = pi/4
difference = cos(x) - sin(x)
area = integrate(difference, (x, left, right))
print("Venstre grense =", left)
print("Høyre grense =", right)
print("Forskjell ved x=0 =", difference.subs(x, 0))
print("Arealintegral =", area)
print("Forenklet areal =", simplify(area))
print("Desimalverdi =", N(area, 12))
print("Kontroll mot 2*sqrt(2) =", simplify(area - 2*sqrt(2)))
assert simplify(area - 2*sqrt(2)) == 0
assert difference.subs(x, 0) > 0
Kjørt utskriftVenstre grense = -3*pi/4
Høyre grense = pi/4
Forskjell ved x=0 = 1
Arealintegral = 2*sqrt(2)
Forenklet areal = 2*sqrt(2)
Desimalverdi = 2.82842712475
Kontroll mot 2*sqrt(2) = 0

Fasit: Det fargelagte arealet er \(2\sqrt2\approx2{,}83\).

Vanlig feil: Å integrere fra feil skjæringspunkter eller glemme å bruke øvre funksjon minus nedre funksjon.
Sensorpunkt: Sensor ser etter riktige grenser, korrekt arealintegral og eksakt svar.
Del 1 / Oppgave 3aUendelig geometrisk rekke

Oppgave 3a

Oppgave: En uendelig geometrisk rekke konvergerer mot 8. Bestem summen av de fire første leddene når \(a_1=4\).
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal bruke summen av en uendelig geometrisk rekke til å finne kvotienten og deretter summere de fire første leddene.

  1. Bruk sumformelen for en uendelig rekke
    \[S_\infty=\frac{a_1}{1-k}=8\]
  2. Sett inn første ledd
    \[\frac4{1-k}=8\]
  3. Finn kvotienten
    \(4=8-8k\), så \(k=\frac12\).
  4. Skriv de fire første leddene
    \[4,\ 2,\ 1,\ \frac12\]
  5. Summer leddene
    \[S_4=4+2+1+\frac12=\frac{15}{2}\]
  6. Kontroller mot delsumformelen
    \[S_4=4\frac{1-(1/2)^4}{1-1/2}=\frac{15}{2}\]

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(4/(1-k)=8,k)
Resultat: \(k=\frac12\)
2Sum(4*(1/2)^n,n,0,3)
Resultat: \(\frac{15}{2}\)
Tolkning: Kvotienten har absoluttverdi mindre enn 1, så den uendelige rekken konvergerer.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, Eq, solve, Rational, summation, simplify
k = symbols('k', real=True)
solutions = solve(Eq(4/(1-k), 8), k)
ratio = solutions[0]
terms = [4*ratio**i for i in range(4)]
partial_sum = sum(terms)
n = symbols('n', integer=True, nonnegative=True)
formula_sum = summation(4*ratio**n, (n, 0, 3))
print("Løsning for kvotienten =", ratio)
print("De fire første leddene =", terms)
print("Sum ved direkte addisjon =", partial_sum)
print("Sum ved summasjon =", formula_sum)
print("Kontroll =", simplify(partial_sum - Rational(15,2)))
assert ratio == Rational(1,2)
assert partial_sum == Rational(15,2)
assert formula_sum == partial_sum
Kjørt utskriftLøsning for kvotienten = 1/2
De fire første leddene = [4, 2, 1, 1/2]
Sum ved direkte addisjon = 15/2
Sum ved summasjon = 15/2
Kontroll = 0

Fasit: Summen av de fire første leddene er \(\frac{15}{2}=7{,}5\).

Vanlig feil: Å bruke 8 som summen av de fire første leddene. Tallet 8 er grenseverdien for hele den uendelige rekken.
Sensorpunkt: Sensor ser etter at kvotienten først bestemmes fra uendelig sum, og deretter brukes i en endelig delsum.
Del 1 / Oppgave 3bAritmetisk rekke og symmetri

Oppgave 3b

Oppgave: I en aritmetisk rekke er \(a_1+a_4+a_7=114\). Bestem \(a_4\).
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal utnytte at ledd som ligger like langt på hver side av et midtledd, har gjennomsnitt lik midtleddet.

  1. Skriv leddene med første ledd og differanse
    \(a_4=a_1+3d\) og \(a_7=a_1+6d\).
  2. Se symmetrien
    \[a_1+a_7=2(a_1+3d)=2a_4\]
  3. Sett inn i den gitte summen
    \[a_1+a_4+a_7=2a_4+a_4=3a_4\]
  4. Løs likningen
    \[3a_4=114\]
  5. Divider med 3
    \[a_4=38\]
  6. Kontroller med et eksempel
    For eksempel kan \(a_1=32\), \(d=2\), slik at leddene blir 32, 38 og 44 og summen er 114.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(3*a4=114,a4)
Resultat: \(a_4=38\)
Tolkning: CAS-likningen bygger direkte på symmetrien i en aritmetisk rekke.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, simplify, Eq, solve
first, d, a4_symbol = symbols('a1 d a4', real=True)
a1 = first
a4 = first + 3*d
a7 = first + 6*d
symmetry = simplify(a1 + a7 - 2*a4)
relation = simplify(a1 + a4 + a7)
solution = solve(Eq(3*a4_symbol, 114), a4_symbol)
print("a1 =", a1)
print("a4 =", a4)
print("a7 =", a7)
print("Kontroll av a1+a7=2*a4:", symmetry)
print("a1+a4+a7 forenkles til:", relation)
print("Løsning av 3*a4=114:", solution)
assert symmetry == 0
assert relation == 3*a4
assert solution == [38]
Kjørt utskrifta1 = a1
a4 = a1 + 3*d
a7 = a1 + 6*d
Kontroll av a1+a7=2*a4: 0
a1+a4+a7 forenkles til: 3*a1 + 9*d
Løsning av 3*a4=114: [38]

Fasit: \(a_4=38\).

Vanlig feil: Å forsøke å bestemme både første ledd og differansen selv om oppgaven bare krever midtleddet.
Sensorpunkt: Sensor ser etter aritmetisk symmetri eller en ekvivalent algebraisk begrunnelse.
Del 1 / Oppgave 4aPlan, normalvektor og parameterframstilling

Oppgave 4a

Oppgave: Planet \(\alpha\) er gitt ved \(x-2y+2z+1=0\), og \(A(4,2,2)\). Bestem en parameterframstilling for linjen gjennom A som står normalt på planet.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal lese av planet sin normalvektor og bruke den som retningsvektor for linjen.

  1. Les av normalvektoren
    Fra planlikningen får vi \(\vec n=(1,-2,2)\).
  2. Velg punktet linjen skal gå gjennom
    Linjen skal gå gjennom \(A=(4,2,2)\).
  3. Bruk punkt-retningsform
    \[\vec r(t)=\vec{OA}+t\vec n\]
  4. Sett inn punkt og retning
    \[\vec r(t)=(4,2,2)+t(1,-2,2)\]
  5. Skriv koordinatvis
    \[x=4+t,\qquad y=2-2t,\qquad z=2+2t\]
  6. Kontroller normaliteten
    Retningsvektoren er identisk med planet sin normalvektor, så linjen står normalt på planet.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Line((4,2,2),(5,0,4))
Resultat: \((x,y,z)=(4,2,2)+t(1,-2,2)\)
Tolkning: Det andre punktet er A pluss normalvektoren, så GeoGebra-linjen får riktig retning.
Visualisering for Oppgave 4a
Normalvektoren (1,-2,2) er retningsvektor for linjen gjennom A.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, symbols
A = Matrix([4, 2, 2])
normal = Matrix([1, -2, 2])
t = symbols('t', real=True)
line = A + t*normal
second_point = A + normal
print("Punkt A =", A.T)
print("Normalvektor til planet =", normal.T)
print("Et annet punkt på linjen =", second_point.T)
print("Parameterframstilling =", line.T)
print("x(t) =", line[0])
print("y(t) =", line[1])
print("z(t) =", line[2])
assert line.subs(t, 0) == A
assert second_point == Matrix([5,0,4])
Kjørt utskriftPunkt A = Matrix([[4, 2, 2]])
Normalvektor til planet = Matrix([[1, -2, 2]])
Et annet punkt på linjen = Matrix([[5, 0, 4]])
Parameterframstilling = Matrix([[t + 4, 2 - 2*t, 2*t + 2]])
x(t) = t + 4
y(t) = 2 - 2*t
z(t) = 2*t + 2

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

Vanlig feil: Å bruke et vilkårlig retningsvektor i planet. En normal linje må ha en retningsvektor parallell med planet sin normalvektor.
Sensorpunkt: Sensor ser etter korrekt normalvektor, punktet A og en fullstendig parameterframstilling.
Del 1 / Oppgave 4bAvstand fra punkt til plan

Oppgave 4b

Oppgave: Bestem avstanden fra \(A(4,2,2)\) til planet \(\alpha:x-2y+2z+1=0\).
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal bruke avstandsformelen for punkt og plan og kan samtidig finne fotpunktet som kontroll.

  1. Identifiser koeffisientene
    Her er \(a=1\), \(b=-2\), \(c=2\) og \(d=1\).
  2. Sett punktet inn i telleren
    \[|4-2\cdot2+2\cdot2+1|=|5|=5\]
  3. Finn lengden av normalvektoren
    \[\sqrt{1^2+(-2)^2+2^2}=\sqrt9=3\]
  4. Bruk avstandsformelen
    \[d(A,\alpha)=\frac5{3}\]
  5. Finn fotpunktet som kontroll
    Normallinjen treffer planet når \(5+9t=0\), altså ved \(t=-\frac59\).
  6. Kontroller den geometriske lengden
    Avstanden langs linjen er \(|t|\,|\vec n|=\frac59\cdot3=\frac53\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Distance((4,2,2),x-2y+2z+1=0)
Resultat: \(\frac53\)
Tolkning: GeoGebra bruker samme punkt-plan-formel og gir den eksakte avstanden.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, symbols, Eq, solve, sqrt, Rational, simplify
A = Matrix([4, 2, 2])
normal = Matrix([1, -2, 2])
t = symbols('t', real=True)
line = A + t*normal
plane_value = line[0] - 2*line[1] + 2*line[2] + 1
t_hit = solve(Eq(plane_value, 0), t)[0]
foot = line.subs(t, t_hit)
distance_formula = abs(4 - 2*2 + 2*2 + 1)/sqrt(1**2 + (-2)**2 + 2**2)
distance_line = abs(t_hit)*sqrt(normal.dot(normal))
print("Planuttrykk langs normallinjen =", plane_value)
print("Parameter ved skjæring =", t_hit)
print("Fotpunkt på planet =", foot.T)
print("Avstand fra formelen =", distance_formula)
print("Avstand langs normallinjen =", distance_line)
print("Kontroll =", simplify(distance_formula - Rational(5,3)))
assert simplify(distance_formula - Rational(5,3)) == 0
assert simplify(distance_line - distance_formula) == 0
Kjørt utskriftPlanuttrykk langs normallinjen = 9*t + 5
Parameter ved skjæring = -5/9
Fotpunkt på planet = Matrix([[31/9, 28/9, 8/9]])
Avstand fra formelen = 5/3
Avstand langs normallinjen = 5/3
Kontroll = 0

Fasit: Avstanden er \(\frac53\approx1{,}67\).

Vanlig feil: Å glemme absoluttverdien i telleren eller å bruke summen av koeffisientene i stedet for normallengden.
Sensorpunkt: Sensor ser etter korrekt innsetting i avstandsformelen og et eksakt svar.
Del 1 / Oppgave 5aProgramforståelse og Riemannsum

Oppgave 5a

Oppgave: Koden deler intervallet \([-2,2]\) i 1000 deler og summerer \(\lvert f(x_i)\rvert\Delta x\) for \(f(x)=x^2-1\). Forklar hva eleven ønsker å regne ut.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal tolke hver variabel og identifisere summen som en numerisk tilnærming til et bestemt integral med absoluttverdi.

  1. Tolk intervallet
    Variablene start og slutt viser at beregningen gjelder \([-2,2]\).
  2. Tolk delingsbredden
    \(\Delta x=(2-(-2))/1000=0{,}004\).
  3. Tolk funksjonen
    Funksjonen er \(f(x)=x^2-1\).
  4. Tolk løkken
    Punktene \(x_i=-2+i\Delta x\) er venstre endepunkter i delintervallene.
  5. Tolk absoluttverdien
    Koden legger sammen \(|f(x_i)|\Delta x\), slik at alle bidrag blir positive.
  6. Identifiser grenseverdien
    Når N er stor, tilnærmer summen \(\int_{-2}^{2}|x^2-1|\,dx\).
  7. Gi geometrisk tolkning
    Eleven ønsker det samlede geometriske arealet mellom grafen til \(x^2-1\) og x-aksen fra -2 til 2.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Sum(abs((-2+i*4/1000)^2-1)*4/1000,i,0,999)
Resultat: Omtrent \(4{,}000008\)
Tolkning: Summen er en venstre Riemannsum og nærmer seg det eksakte arealet 4.
Visualisering for Oppgave 5a
Absoluttverdien gjør at arealet under x-aksen også teller positivt.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
N = 1000
start = -2
slutt = 2
dx = (slutt - start)/N

def f(x):
    return x**2 - 1

S = 0
for i in range(N):
    xi = start + i*dx
    S = S + abs(f(xi))*dx

print("N =", N)
print("start =", start, "slutt =", slutt)
print("dx =", dx)
print("første venstrepunkt =", start)
print("siste venstrepunkt =", start + (N-1)*dx)
print("Riemannsum S =", S)
print("Avvik fra 4 =", S - 4)
assert abs(S - 4) < 2e-5
Kjørt utskriftN = 1000
start = -2 slutt = 2
dx = 0.004
første venstrepunkt = -2
siste venstrepunkt = 1.996
Riemannsum S = 4.000000000000003
Avvik fra 4 = 2.6645352591003757e-15

Fasit: Koden tilnærmer \(\displaystyle\int_{-2}^{2}|x^2-1|\,dx\), altså det samlede arealet mellom grafen og x-aksen.

Vanlig feil: Å overse absoluttverdien og tro at koden beregner det fortegnede integralet av \(x^2-1\).
Sensorpunkt: Sensor ser etter intervall, funksjon, delingsbredde, absoluttverdi og arealtolkning.
Del 1 / Oppgave 5bEksakt integral med absoluttverdi

Oppgave 5b

Oppgave: Finn ved regning den verdien eleven ønsker å bestemme.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal beregne absoluttverdiintegralet eksakt ved å dele ved nullpunktene -1 og 1.

  1. Finn nullpunktene
    \(x^2-1=0\) gir \(x=-1\) og \(x=1\).
  2. Bestem fortegnet
    Funksjonen er positiv på \([-2,-1]\) og \([1,2]\), og negativ på \([-1,1]\).
  3. Del opp integralet
    \[A=\int_{-2}^{-1}(x^2-1)dx+\int_{-1}^{1}(1-x^2)dx+\int_{1}^{2}(x^2-1)dx\]
  4. Utnytt symmetrien
    \[A=2\int_1^2(x^2-1)dx+2\int_0^1(1-x^2)dx\]
  5. Beregn ytre del
    \(\int_1^2(x^2-1)dx=\frac43\).
  6. Beregn midtdelen
    \(\int_0^1(1-x^2)dx=\frac23\).
  7. Summer
    \[A=2\cdot\frac43+2\cdot\frac23=4\]

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Integral(abs(x^2-1),x,-2,2)
Resultat: \(4\)
Tolkning: CAS håndterer fortegnsskiftene automatisk og bekrefter den eksakte verdien.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, integrate, Abs, simplify, Rational
x = symbols('x', real=True)
f = x**2 - 1
left = integrate(f, (x, -2, -1))
middle = integrate(-f, (x, -1, 1))
right = integrate(f, (x, 1, 2))
total_piecewise = simplify(left + middle + right)
total_abs = integrate(Abs(f), (x, -2, 2))
print("Venstre positiv del =", left)
print("Midtre del etter absoluttverdi =", middle)
print("Høyre positiv del =", right)
print("Sum av delene =", total_piecewise)
print("Direkte absoluttverdiintegral =", total_abs)
print("Kontroll mot 4 =", simplify(total_abs - 4))
assert left == Rational(4,3)
assert middle == Rational(4,3)
assert right == Rational(4,3)
assert total_abs == 4
Kjørt utskriftVenstre positiv del = 4/3
Midtre del etter absoluttverdi = 4/3
Høyre positiv del = 4/3
Sum av delene = 4
Direkte absoluttverdiintegral = 4
Kontroll mot 4 = 0

Fasit: Den eksakte verdien er \(4\).

Vanlig feil: Å integrere \(x^2-1\) uten å skifte fortegn mellom -1 og 1.
Sensorpunkt: Sensor ser etter nullpunktene, korrekt oppdeling og eksakt sum.
Del 1 / Oppgave 6Vektorregning og areal av firkant i rommet

Oppgave 6

Oppgave: Den avkortede pyramiden har punktene \(B(4,4,0)\), \(C(0,4,0)\), \(F(3,3,3)\) og \(G(1,3,3)\). Bruk vektorregning til å bestemme arealet av sideflaten BCGF.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal dele sideflaten i to trekanter og bruke lengden av kryssproduktene.

  1. Del firkanten
    Del BCGF langs diagonalen BG i trekantene BCG og BGF.
  2. Finn vektorer i første trekant
    \(\overrightarrow{BC}=(-4,0,0)\) og \(\overrightarrow{BG}=(-3,-1,3)\).
  3. Finn første kryssprodukt
    \[\overrightarrow{BC}\times\overrightarrow{BG}=(0,12,4)\]
  4. Beregn første trekantareal
    \[A_{BCG}=\frac12\sqrt{12^2+4^2}=2\sqrt{10}\]
  5. Finn andre trekantareal
    Med \(\overrightarrow{BG}\) og \(\overrightarrow{BF}=(-1,-1,3)\) får vi \(A_{BGF}=\sqrt{10}\).
  6. Summer trekantene
    \[A_{BCGF}=2\sqrt{10}+\sqrt{10}=3\sqrt{10}\]
  7. Kontroller som trapes
    BC og GF er parallelle med lengder 4 og 2. Avstanden mellom dem i sideplanet er \(\sqrt{10}\), så trapesformelen gir samme svar.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
10.5*Length(Cross(Vector(B,C),Vector(B,G)))
Resultat: \(2\sqrt{10}\)
20.5*Length(Cross(Vector(B,G),Vector(B,F)))
Resultat: \(\sqrt{10}\)
Tolkning: De to trekantarealene summeres til hele sideflaten.
Visualisering for Oppgave 6
Sideflaten BCGF kan deles i trekantene BCG og BGF.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Matrix, sqrt, simplify, N
B = Matrix([4, 4, 0])
C = Matrix([0, 4, 0])
F = Matrix([3, 3, 3])
G = Matrix([1, 3, 3])
BC = C - B
BG = G - B
BF = F - B
cross_1 = BC.cross(BG)
cross_2 = BG.cross(BF)
area_1 = sqrt(cross_1.dot(cross_1))/2
area_2 = sqrt(cross_2.dot(cross_2))/2
total = simplify(area_1 + area_2)
print("BC =", BC.T)
print("BG =", BG.T)
print("BF =", BF.T)
print("BC x BG =", cross_1.T)
print("BG x BF =", cross_2.T)
print("Areal trekant BCG =", area_1)
print("Areal trekant BGF =", area_2)
print("Areal BCGF =", total, "=", N(total, 12))
assert simplify(total - 3*sqrt(10)) == 0
Kjørt utskriftBC = Matrix([[-4, 0, 0]])
BG = Matrix([[-3, -1, 3]])
BF = Matrix([[-1, -1, 3]])
BC x BG = Matrix([[0, 12, 4]])
BG x BF = Matrix([[0, 6, 2]])
Areal trekant BCG = 2*sqrt(10)
Areal trekant BGF = sqrt(10)
Areal BCGF = 3*sqrt(10) = 9.48683298050

Fasit: Arealet av sideflaten er \(3\sqrt{10}\approx9{,}49\).

Vanlig feil: Å bruke lengden av kryssproduktet som trekantareal uten faktoren \(\frac12\).
Sensorpunkt: Sensor ser etter gyldige vektorer, to trekantarealer og korrekt sum.

Del 2 - med hjelpemidler

Del 2 / Oppgave 1aSinusregresjon for tidevann

Oppgave 1a

Oppgave: Tabellen gir vannstanden ved Stord verft 24. april 2023. Lag en modell \(f\) for vannstanden i den aktuelle perioden.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal tilpasse en sinusfunksjon til måledataene fordi tidevannet varierer periodisk.

  1. Velg modelltype
    En egnet modell er \(f(t)=A\sin(\omega t+\varphi)+d\).
  2. Registrer dataene
    Tidene 1, 3, ..., 19 timer kobles til de ti målte vannstandene.
  3. Utfør sinusregresjon
    En numerisk regresjon gir omtrent \(A=31{,}044\), \(\omega=0{,}51436\), \(\varphi=0{,}18977\) og \(d=83{,}588\).
  4. Skriv modellen
    \[f(t)=31{,}044\sin(0{,}51436t+0{,}18977)+83{,}588\]
  5. Finn perioden
    \[T=\frac{2\pi}{0{,}51436}\approx12{,}22\text{ timer}\]
  6. Vurder tilpasningen
    RMSE er omtrent 3,33 cm, som er rimelig sammenlignet med variasjonen i dataene.
  7. Oppgi variabeltolkningen
    Her er t antall timer etter midnatt 24. april, og f(t) måles i centimeter.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1FitSin({(1,99.6),(3,119),(5,94.3),(7,60.5),(9,53.4),(11,76),(13,96.7),(15,115),(17,99.9),(19,68.1)})
Resultat: \(f(t)\approx31{,}044\sin(0{,}51436t+0{,}18977)+83{,}588\)
Tolkning: Andre regresjonsverktøy kan gi små avrundingsforskjeller, men samme periode og omtrent samme prognoser.
Visualisering for Oppgave 1a
Modellen er periodisk med periode omtrent 12,22 timer og kan brukes til å undersøke 25. april.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
import numpy as np
from scipy.optimize import curve_fit

hours = np.array([1,3,5,7,9,11,13,15,17,19], dtype=float)
levels = np.array([99.6,119,94.3,60.5,53.4,76.0,96.7,115,99.9,68.1], dtype=float)

def model(t, A, omega, phi, d):
    return A*np.sin(omega*t + phi) + d

initial = [33.0, 2*np.pi/12.4, 0.0, 85.0]
parameters, covariance = curve_fit(model, hours, levels, p0=initial, maxfev=100000)
A, omega, phi, d = parameters
predicted = model(hours, *parameters)
residuals = levels - predicted
rmse = np.sqrt(np.mean(residuals**2))
period = 2*np.pi/omega
print(f"A = {A:.8f}")
print(f"omega = {omega:.8f}")
print(f"phi = {phi:.8f}")
print(f"d = {d:.8f}")
print(f"Periode = {period:.8f} timer")
print("Predikerte verdier =", np.round(predicted, 3))
print("Residualer =", np.round(residuals, 3))
print(f"RMSE = {rmse:.8f} cm")
assert 12.0 < period < 12.5
assert rmse < 4.0
Kjørt utskriftA = 31.04442136
omega = 0.51436316
phi = 0.18976663
d = 83.58789978
Periode = 12.21546533 timer
Predikerte verdier = [103.685 114.226  95.103  64.832  52.72   70.494 100.945 114.592  98.221
  67.683]
Residualer = [-4.085  4.774 -0.803 -4.332  0.68   5.506 -4.245  0.408  1.679  0.417]
RMSE = 3.32952413 cm

Fasit: En egnet modell er \(f(t)\approx31{,}044\sin(0{,}51436t+0{,}18977)+83{,}588\), der t er timer etter midnatt 24. april.

Vanlig feil: Å bruke en lineær modell selv om målingene tydelig viser periodiske svingninger.
Sensorpunkt: Sensor ser etter dokumentert sinusregresjon, tydelig modell og tolkning av variablene.
Del 2 / Oppgave 1bStørst vekstfart i en sinusmodell

Oppgave 1b

Oppgave: Når vil vannstanden øke raskest den 25. april, ifølge modellen?
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal maksimere den deriverte til sinusmodellen i tidsintervallet som svarer til 25. april.

  1. Deriver modellen
    \[f\prime(t)=A\omega\cos(\omega t+\varphi)\]
  2. Finn maksimal positiv derivert
    Siden \(A\omega>0\), er vekstfarten størst når \(\cos(\omega t+\varphi)=1\).
  3. Sett opp likningen
    \[\omega t+\varphi=2\pi k\]
  4. Løs for t
    \[t=\frac{2\pi k-\varphi}{\omega}\]
  5. Velg tidene på 25. april
    25. april svarer til \(24\le t<48\). Dette gir \(t\approx24{,}062\) og \(t\approx36{,}277\).
  6. Gjør om til klokkeslett
    Dette er omtrent 00:04 og 12:17 den 25. april.
  7. Kontroller at det er maksimum
    Den andrederiverte til f er 0 der, og den deriverte skifter fra voksende til avtakende.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Extremum(Derivative(f),24,48)
Resultat: Maksimal vekstfart ved \(t\approx24{,}062\) og \(t\approx36{,}277\)
Tolkning: Den omtrent 12,22 timer lange perioden gir to tidspunkt med maksimal stigefart i løpet av døgnet.
Visualisering for Oppgave 1b
Modellen er periodisk med periode omtrent 12,22 timer og kan brukes til å undersøke 25. april.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
import math
A = 31.04442210
omega = 0.51436318
phi = 0.18976623

def clock_from_absolute(t):
    local = t - 24
    hour = int(local) % 24
    minute = round((local - int(local))*60)
    if minute == 60:
        hour = (hour + 1) % 24
        minute = 0
    return f"{hour:02d}:{minute:02d}"

candidates = []
for k in range(-10, 20):
    t = (2*math.pi*k - phi)/omega
    if 24 <= t < 48:
        candidates.append(t)

max_growth = A*omega
print("Tidspunkter t etter midnatt 24. april:")
for t in candidates:
    print(f"t = {t:.9f}, klokkeslett 25. april = {clock_from_absolute(t)}")
print(f"Maksimal vekstfart = {max_growth:.9f} cm/time")
assert len(candidates) == 2
assert abs(candidates[0] - 24.0619952) < 1e-5
assert abs(candidates[1] - 36.2774600) < 1e-5
Kjørt utskriftTidspunkter t etter midnatt 24. april:
t = 24.061995231, klokkeslett 25. april = 00:04
t = 36.277460007, klokkeslett 25. april = 12:17
Maksimal vekstfart = 15.968107673 cm/time

Fasit: Vannstanden øker raskest omtrent kl. 00:04 og kl. 12:17 den 25. april.

Vanlig feil: Å finne når vannstanden er høyest. Oppgaven spør når den deriverte er størst, ikke når funksjonen er størst.
Sensorpunkt: Sensor ser etter derivasjon, maksimum av vekstfarten og korrekt omregning til klokkeslett.
Del 2 / Oppgave 1cTerskelintervall og seneste starttid

Oppgave 1c

Oppgave: Det tar 2 timer å slepe ut plattformen, og vannstanden må være mer enn 90 cm. Ved hvilket klokkeslett kan de senest starte 25. april?
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal finne det siste sammenhengende tidsintervallet der modellen er over 90 cm og trekke fra to timer fra sluttidspunktet.

  1. Løs terskellikningen
    Vi løser \(f(t)=90\) for \(24\le t<48\).
  2. Finn skjæringstidene
    Modellen gir omtrent \(t=24{,}466\), \(29{,}765\), \(36{,}682\) og \(41{,}981\).
  3. Finn intervallene over 90 cm
    På 25. april er f over 90 omtrent 00:28–05:46 og 12:41–17:59.
  4. Velg siste mulige periode
    Det siste intervallet slutter rundt kl. 17:59.
  5. Trekk fra transporttiden
    \[17{:}59-2\text{ timer}=15{:}59\]
  6. Ta hensyn til strengt krav
    Fordi vannstanden skal være mer enn 90 cm, bør starten i praksis være litt før 15:59.
  7. Gi praktisk svar
    De kan senest starte omtrent kl. 15:59, altså før kl. 16:00.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1NSolve({f(t)=90,24<t<48},t)
Resultat: \(t\approx24{,}466,29{,}765,36{,}682,41{,}981\)
Tolkning: Den siste nedadgående kryssingen er rundt 17:59, og to timer tidligere er rundt 15:59.
Visualisering for Oppgave 1c
Modellen er periodisk med periode omtrent 12,22 timer og kan brukes til å undersøke 25. april.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
import numpy as np
from scipy.optimize import brentq

A = 31.04442210
omega = 0.51436318
phi = 0.18976623
d = 83.58789950

def f(t):
    return A*np.sin(omega*t + phi) + d

grid = np.linspace(24, 48, 20001)
roots = []
for left, right in zip(grid[:-1], grid[1:]):
    if (f(left)-90)*(f(right)-90) < 0:
        root = brentq(lambda t: f(t)-90, left, right)
        if not roots or abs(root-roots[-1]) > 1e-6:
            roots.append(root)

intervals = []
points = [24] + roots + [48]
for left, right in zip(points[:-1], points[1:]):
    if f((left+right)/2) > 90:
        intervals.append((left, right))

last_end = intervals[-1][1]
latest_start = last_end - 2
local_start = latest_start - 24
hour = int(local_start)
minute = round((local_start-hour)*60)
print("Skjæringer med 90 cm =", [round(r, 9) for r in roots])
print("Intervaller med f(t)>90 =", [(round(a,6), round(b,6)) for a,b in intervals])
print(f"Siste sluttid absolutt t = {last_end:.9f}")
print(f"Seneste start absolutt t = {latest_start:.9f}")
print(f"Lokalt klokkeslett = {hour:02d}:{minute:02d}")
print(f"Kontroll f(start) = {f(latest_start):.6f} cm")
print(f"Kontroll f(slutt) = {f(last_end):.6f} cm")
assert len(roots) == 4
assert 15.9 < local_start < 16.1
Kjørt utskriftSkjæringer med 90 cm = [24.46646332, 29.76525953, 36.681928096, 41.980724306]
Intervaller med f(t)>90 = [(24.466463, 29.76526), (36.681928, 41.980724)]
Siste sluttid absolutt t = 41.980724306
Seneste start absolutt t = 39.980724306
Lokalt klokkeslett = 15:59
Kontroll f(start) = 112.916494 cm
Kontroll f(slutt) = 90.000000 cm

Fasit: Seneste start er omtrent kl. 15:59 den 25. april; praktisk bør de starte før kl. 16:00.

Vanlig feil: Å bare kontrollere vannstanden ved start og ikke sikre at den holder seg over 90 cm i hele totimersperioden.
Sensorpunkt: Sensor ser etter terskelløsninger, riktig sammenhengende intervall og fratrekk av to timer.
Del 2 / Oppgave 2aRekursiv sammenheng for figurtall

Oppgave 2a

Oppgave: De fem første figurtallene er 1, 6, 16, 31 og 51. Beskriv en rekursiv sammenheng mellom \(P_n\) og \(P_{n-1}\).
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal undersøke differansene og knytte økningen til fem ytterkanter som hver får én ny kule.

  1. Finn differansene
    \[6-1=5,\quad16-6=10,\quad31-16=15,\quad51-31=20\]
  2. Se mønsteret
    Fra figur \(n-1\) til figur n legges det til \(5(n-1)\) kuler.
  3. Oppgi startverdi
    \[P_1=1\]
  4. Skriv den rekursive regelen
    \[P_n=P_{n-1}+5(n-1),\qquad n\ge2\]
  5. Kontroller for n=2
    \(P_2=1+5=6\).
  6. Kontroller for n=5
    \(P_5=31+20=51\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Sequence(P(n)-P(n-1),n,2,5)
Resultat: \(5,10,15,20\)
Tolkning: Differansene vokser med 5 og svarer til de fem nye ytterkantbidragene.
Visualisering for Oppgave 2a
Differansene er 5, 10, 15, 20, ... og gir en kvadratisk eksplisitt formel.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
values = [1, 6, 16, 31, 51]
differences = [values[i] - values[i-1] for i in range(1, len(values))]
expected = [5*(n-1) for n in range(2, 6)]
print("Figurtall P1 til P5 =", values)
print("Første differanser =", differences)
print("Forventede differanser 5(n-1) =", expected)
for n in range(2, 6):
    recursive_value = values[n-2] + 5*(n-1)
    print(f"n={n}: P_(n-1)+5(n-1) = {recursive_value}, observert P_n = {values[n-1]}")
assert differences == expected
assert all(values[n-1] == values[n-2] + 5*(n-1) for n in range(2,6))
Kjørt utskriftFigurtall P1 til P5 = [1, 6, 16, 31, 51]
Første differanser = [5, 10, 15, 20]
Forventede differanser 5(n-1) = [5, 10, 15, 20]
n=2: P_(n-1)+5(n-1) = 6, observert P_n = 6
n=3: P_(n-1)+5(n-1) = 16, observert P_n = 16
n=4: P_(n-1)+5(n-1) = 31, observert P_n = 31
n=5: P_(n-1)+5(n-1) = 51, observert P_n = 51

Fasit: \(P_1=1\) og \(P_n=P_{n-1}+5(n-1)\) for \(n\ge2\).

Vanlig feil: Å skrive en regel uten startverdi. En rekursiv følge må ha både startverdi og overgangsregel.
Sensorpunkt: Sensor ser etter differansemønsteret 5(n-1) og korrekt startverdi.
Del 2 / Oppgave 2bProgrammering av rekursiv følge

Oppgave 2b

Oppgave: Lag et program som regner ut \(P_{100}\) ved å bruke den rekursive sammenhengen.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal implementere startverdien og oppdatere P én gang for hvert figurnummer fra 2 til 100.

  1. Start med første figurtall
    Sett \(P=1\), som er \(P_1\).
  2. Lag riktig løkke
    Løkken skal gå gjennom \(n=2,3,\ldots,100\).
  3. Bruk rekursjonen
    I hver runde oppdateres \(P\leftarrow P+5(n-1)\).
  4. Skriv ut kontrollverdier
    De første verdiene skal bli 6, 16, 31 og 51.
  5. Kjør til n=100
    Programmet gir \(P_{100}=24751\).
  6. Kontroller mot en lukket sum
    \(1+5(1+2+\cdots+99)=1+5\cdot4950=24751\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
11+Sum(5k,k,1,99)
Resultat: \(24751\)
Tolkning: CAS-summen er en uavhengig kontroll av den rekursive løkken.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
P = 1
print("P_1 =", P)
for n in range(2, 101):
    increment = 5*(n-1)
    P = P + increment
    if n <= 5 or n in (10, 25, 50, 75, 100):
        print(f"n={n:3d}: tillegg={increment:3d}, P_{n}={P}")

control = 1 + 5*sum(range(1, 100))
print("Rekursivt beregnet P_100 =", P)
print("Kontroll med summen 1+5*(1+...+99) =", control)
print("Forskjell =", P-control)
assert P == 24751
assert P == control
Kjørt utskriftP_1 = 1
n=  2: tillegg=  5, P_2=6
n=  3: tillegg= 10, P_3=16
n=  4: tillegg= 15, P_4=31
n=  5: tillegg= 20, P_5=51
n= 10: tillegg= 45, P_10=226
n= 25: tillegg=120, P_25=1501
n= 50: tillegg=245, P_50=6126
n= 75: tillegg=370, P_75=13876
n=100: tillegg=495, P_100=24751
Rekursivt beregnet P_100 = 24751
Kontroll med summen 1+5*(1+...+99) = 24751
Forskjell = 0

Fasit: Programmet gir \(P_{100}=24751\).

Vanlig feil: Å starte løkken med n=1 og dermed legge til feil differanse, eller å stoppe før n=100.
Sensorpunkt: Sensor ser etter faktisk bruk av den rekursive regelen og korrekt programresultat.
Del 2 / Oppgave 2cEksplisitt formel og induksjonsbevis

Oppgave 2c

Oppgave: Bestem en eksplisitt formel for \(P_n\), og vis ved induksjon at formelen stemmer.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal summere differansene for å finne en kvadratisk formel og deretter bevise den med induksjon.

  1. Summer differansene
    \[P_n=1+5\sum_{j=1}^{n-1}j\]
  2. Bruk summen av de første heltallene
    \[\sum_{j=1}^{n-1}j=\frac{n(n-1)}2\]
  3. Skriv eksplisitt formel
    \[P_n=1+\frac52n(n-1)=\frac{5n^2-5n+2}{2}\]
  4. Grunnsteg
    For \(n=1\) gir formelen \(P_1=1\), som stemmer.
  5. Induksjonsantakelse
    Anta at \(P_k=1+\frac52k(k-1)\).
  6. Induksjonstrinn
    \[P_{k+1}=P_k+5k=1+\frac52k(k-1)+5k=1+\frac52k(k+1)\]
  7. Konkluder
    Dette er formelen med \(n=k+1\), så påstanden gjelder for alle \(n\ge1\).

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Simplify(1+5n(n-1)/2+5n-(1+5(n+1)n/2))
Resultat: \(0\)
Tolkning: CAS-forenklingen kontrollerer det algebraiske induksjonstrinnet.
Visualisering for Oppgave 2c
Differansene er 5, 10, 15, 20, ... og gir en kvadratisk eksplisitt formel.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, simplify
n, k = symbols('n k', integer=True, positive=True)
P_n = 1 + 5*n*(n-1)/2
base = simplify(P_n.subs(n, 1))
P_k = 1 + 5*k*(k-1)/2
from_recursion = simplify(P_k + 5*k)
formula_k_plus_1 = simplify(1 + 5*(k+1)*k/2)
induction_difference = simplify(from_recursion - formula_k_plus_1)
print("Eksplisitt P_n =", P_n)
print("Grunnsteg P_1 =", base)
print("Induksjonsantakelse P_k =", P_k)
print("P_(k+1) fra rekursjonen =", from_recursion)
print("Formelen for k+1 =", formula_k_plus_1)
print("Forskjell i induksjonstrinnet =", induction_difference)
print("P_100 fra formelen =", P_n.subs(n, 100))
assert base == 1
assert induction_difference == 0
assert P_n.subs(n, 100) == 24751
Kjørt utskriftEksplisitt P_n = 5*n*(n - 1)/2 + 1
Grunnsteg P_1 = 1
Induksjonsantakelse P_k = 5*k*(k - 1)/2 + 1
P_(k+1) fra rekursjonen = 5*k**2/2 + 5*k/2 + 1
Formelen for k+1 = 5*k*(k + 1)/2 + 1
Forskjell i induksjonstrinnet = 0
P_100 fra formelen = 24751

Fasit: \(\displaystyle P_n=1+\frac52n(n-1)=\frac{5n^2-5n+2}{2}\), og induksjonsbeviset viser at formelen gjelder for alle \(n\ge1\).

Vanlig feil: Å bare kontrollere noen få verdier. Oppgaven krever et generelt induksjonsbevis.
Sensorpunkt: Sensor ser etter eksplisitt formel, grunnsteg, induksjonsantakelse og korrekt induksjonstrinn.
Del 2 / Oppgave 3Parabelmodell og omdreiningsvolum

Oppgave 3

Oppgave: En tønne er 75 cm høy. Diameteren i bunnen og toppen er 45 cm, og største diameter er 52 cm. Siden er parabolsk. Bestem volumet ved blant annet integrasjon.
Vekting: Denne oppgaven vektes som to deloppgaver.
Vis løsning

Hva spør oppgaven om? Vi skal modellere radiusen som en symmetrisk parabel og rotere profilen rundt høydeaksen.

  1. Velg koordinatsystem
    La y være høyden i cm, med \(0\le y\le75\), og la \(r(y)\) være radiusen.
  2. Bruk symmetrien
    Maksimal radius er 26 cm ved \(y=37{,}5\), så skriv \(r(y)=26-a(y-37{,}5)^2\).
  3. Bestem a
    Enderadiusen er 22,5 cm: \(22{,}5=26-a(37{,}5)^2\), som gir \(a=\frac{14}{5625}\).
  4. Skriv radiusfunksjonen
    \[r(y)=26-\frac{14}{5625}(y-37{,}5)^2\]
  5. Sett opp skiveintegralet
    \[V=\pi\int_0^{75}r(y)^2\,dy\]
  6. Integrer
    \[V=\frac{185335\pi}{4}\text{ cm}^3\]
  7. Gjør om til liter
    \[V\approx145561{,}77\text{ cm}^3\approx145{,}56\text{ L}\]
  8. Vurder svaret
    Volumet ligger mellom volumene av sylindre med radius 22,5 cm og 26 cm, så størrelsesordenen er rimelig.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Integral(pi*(26-14/5625*(y-37.5)^2)^2,y,0,75)
Resultat: \(\frac{185335\pi}{4}\approx145561{,}77\)
Tolkning: Integralet summerer tverrsnittsarealene πr(y)² gjennom hele tønnehøyden.
Visualisering for Oppgave 3
Radiusen er 22,5 cm ved endene og 26 cm i midten.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, Rational, pi, integrate, simplify, N
y = symbols('y', real=True)
r = 26 - Rational(14,5625)*(y-Rational(75,2))**2
volume = simplify(pi*integrate(r**2, (y, 0, 75)))
volume_liters = volume/1000
print("Radiusfunksjon r(y) =", r.expand())
print("r(0) =", r.subs(y,0), "cm")
print("r(37.5) =", r.subs(y,Rational(75,2)), "cm")
print("r(75) =", r.subs(y,75), "cm")
print("Eksakt volum =", volume, "cm^3")
print("Volum i cm^3 =", N(volume, 15))
print("Volum i liter =", N(volume_liters, 12))
print("Kontroll enderadius =", simplify(r.subs(y,0)-Rational(45,2)))
assert simplify(volume - Rational(185335,4)*pi) == 0
assert simplify(r.subs(y,0)-Rational(45,2)) == 0
assert simplify(r.subs(y,75)-Rational(45,2)) == 0
Kjørt utskriftRadiusfunksjon r(y) = -14*y**2/5625 + 14*y/75 + 45/2
r(0) = 45/2 cm
r(37.5) = 26 cm
r(75) = 45/2 cm
Eksakt volum = 185335*pi/4 cm^3
Volum i cm^3 = 145561.768613266
Volum i liter = 145.561768613
Kontroll enderadius = 0

Fasit: Volumet er \(\frac{185335\pi}{4}\text{ cm}^3\approx145{,}6\text{ liter}\).

Vanlig feil: Å bruke diameteren som radius eller å integrere radiusen i stedet for tverrsnittsarealet \(\pi r^2\).
Sensorpunkt: Sensor ser etter en korrekt parabelmodell, skiveintegral, enheter og rimelig avrunding.
Del 2 / Oppgave 4aAmplitude, periode og midtlinje

Oppgave 4a

Oppgave: Luftforurensningen beskrives av \(M(t)=A\sin(ct+k)+d\). Maksimum er 31,2 μg/m³ og minimum er 18,2 μg/m³. Bestem A, c og d.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal finne amplitude og midtlinje fra maksimum og minimum, og vinkelhastigheten fra døgnperioden.

  1. Finn amplituden
    \[A=\frac{31{,}2-18{,}2}{2}=6{,}5\]
  2. Finn midtlinjen
    \[d=\frac{31{,}2+18{,}2}{2}=24{,}7\]
  3. Bruk døgnperioden
    Perioden er \(T=24\) timer.
  4. Koble periode og c
    \[T=\frac{2\pi}{c}\]
  5. Løs for c
    \[c=\frac{2\pi}{24}=\frac\pi{12}\]
  6. Skriv modellfamilien
    \[M(t)=6{,}5\sin\left(\frac\pi{12}t+k\right)+24{,}7\]
  7. Merk fasekonstanten
    Konstanten k bestemmer når topp og bunn opptrer, men er ikke etterspurt i del a.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1A=(31.2-18.2)/2
Resultat: \(6{,}5\)
2d=(31.2+18.2)/2
Resultat: \(24{,}7\)
3c=2π/24
Resultat: \(\frac\pi{12}\)
Tolkning: Maksimum d+A og minimum d-A blir nøyaktig 31,2 og 18,2.
Visualisering for Oppgave 4a
Nivået 27 μg/m³ passeres først kl. 13:00 og deretter omtrent kl. 22:14.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import Rational, pi, simplify
maximum = Rational(312,10)
minimum = Rational(182,10)
A = (maximum-minimum)/2
d = (maximum+minimum)/2
period = 24
c = 2*pi/period
print("Maksimum =", maximum)
print("Minimum =", minimum)
print("Amplitude A =", A)
print("Midtlinje d =", d)
print("Periode T =", period)
print("c = 2*pi/T =", c)
print("Kontroll d+A =", simplify(d+A))
print("Kontroll d-A =", simplify(d-A))
assert A == Rational(13,2)
assert d == Rational(247,10)
assert c == pi/12
assert d+A == maximum
assert d-A == minimum
Kjørt utskriftMaksimum = 156/5
Minimum = 91/5
Amplitude A = 13/2
Midtlinje d = 247/10
Periode T = 24
c = 2*pi/T = pi/12
Kontroll d+A = 156/5
Kontroll d-A = 91/5

Fasit: \(A=6{,}5\), \(c=\frac\pi{12}\) og \(d=24{,}7\).

Vanlig feil: Å bruke differansen maksimum minus minimum som amplitude uten å dele på 2.
Sensorpunkt: Sensor ser etter korrekt amplitude, midtlinje og sammenheng mellom periode og vinkelhastighet.
Del 2 / Oppgave 4bTrigonometrisk modell og andre tidspunkt

Oppgave 4b

Oppgave: Mengden er 27 μg/m³ ved to tidspunkter. Første gang er kl. 13:00. Når er det andre tidspunktet?
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal bruke at kl. 13:00 er den stigende løsningen, bestemme fasen og finne den andre løsningen i samme døgn.

  1. Sett inn nivået 27
    \[6{,}5\sin\left(\frac\pi{12}t+k\right)+24{,}7=27\]
  2. Isoler sinus
    \[\sin\left(\frac\pi{12}t+k\right)=\frac{2{,}3}{6{,}5}=\frac{23}{65}\]
  3. Definer hovedvinkelen
    La \(\alpha=\arcsin(23/65)\approx0{,}36168\).
  4. Bruk at første passering er stigende
    Ved \(t=13\) velger vi fasen \(\frac{13\pi}{12}+k=\alpha\), fordi cosinus da er positiv.
  5. Finn den synkende løsningen
    Den andre vinkelen i perioden er \(\pi-\alpha\).
  6. Finn tidsforskjellen
    \[\Delta t=\frac{(\pi-\alpha)-\alpha}{\pi/12}\approx9{,}237\text{ timer}\]
  7. Legg til 13 timer
    \[t_2\approx13+9{,}237=22{,}237\]
  8. Gjør om til klokkeslett
    0,237 timer er omtrent 14 minutter, så tidspunktet er ca. 22:14.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1NSolve(6.5*sin(π*t/12+k)+24.7=27,0<t<24)
Resultat: Med fasen fra kl. 13: \(t\approx13{,}000\) og \(t\approx22{,}237\)
Tolkning: De to løsningene ligger symmetrisk rundt tidspunktet for døgnets maksimum.
Visualisering for Oppgave 4b
Nivået 27 μg/m³ passeres først kl. 13:00 og deretter omtrent kl. 22:14.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
import math
A = 6.5
c = math.pi/12
d = 24.7
level = 27.0
alpha = math.asin((level-d)/A)
k = alpha - c*13
second = 13 + (math.pi - 2*alpha)/c
maximum_time = 13 + (math.pi/2-alpha)/c

def M(t):
    return A*math.sin(c*t+k)+d

def derivative(t):
    return A*c*math.cos(c*t+k)

hour = int(second)
minute = round((second-hour)*60)
print(f"alpha = {alpha:.12f} rad")
print(f"Fasekonstant k = {k:.12f} rad")
print(f"M(13) = {M(13):.12f}")
print(f"M'(13) = {derivative(13):.12f} (positiv)")
print(f"Tidspunkt for maksimum = {maximum_time:.12f}")
print(f"Andre løsning t = {second:.12f}")
print(f"Andre klokkeslett = {hour:02d}:{minute:02d}")
print(f"M(t2) = {M(second):.12f}")
print(f"M'(t2) = {derivative(second):.12f} (negativ)")
assert abs(M(13)-27) < 1e-10
assert abs(M(second)-27) < 1e-10
assert derivative(13) > 0 and derivative(second) < 0
Kjørt utskriftalpha = 0.361680119508 rad
Fasekonstant k = -3.041711921881 rad
M(13) = 27.000000000000
M'(13) = 1.591602482703 (positiv)
Tidspunkt for maksimum = 17.618483707894
Andre løsning t = 22.236967415788
Andre klokkeslett = 22:14
M(t2) = 27.000000000000
M'(t2) = -1.591602482703 (negativ)

Fasit: Det andre tidspunktet er omtrent kl. 22:14.

Vanlig feil: Å velge feil gren av sinuslikningen og dermed finne et tidspunkt før kl. 13 eller i et annet døgn.
Sensorpunkt: Sensor ser etter fasebestemmelse, to sinusløsninger og klokkeslett med rimelig avrunding.
Del 2 / Oppgave 5aRomkurve og tangent parallell med xy-planet

Oppgave 5a

Oppgave: Kurven er gitt ved \(\vec r_1(t)=[\sin t,t,\cos t]\), \(0\lt t\lt 2\pi\). Bestem punkter der tangenten er parallell med xy-planet.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal kreve at tangentvektoren har z-komponent 0, siden en vektor parallell med xy-planet ikke har vertikal komponent.

  1. Deriver posisjonsvektoren
    \[\vec r_1\prime(t)=[\cos t,1,-\sin t]\]
  2. Still krav til z-komponenten
    For parallellitet med xy-planet må \(-\sin t=0\).
  3. Løs likningen
    \(\sin t=0\) gir \(t=k\pi\).
  4. Bruk det åpne intervallet
    I \(0\lt t\lt 2\pi\) er bare \(t=\pi\) tillatt.
  5. Finn punktet
    \[\vec r_1(\pi)=[0,\pi,-1]\]
  6. Kontroller tangentvektoren
    \(\vec r_1\prime(\pi)=[-1,1,0]\), som ligger parallelt med xy-planet.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Solve(-sin(t)=0,0<t<2π)
Resultat: \(t=\pi\)
Tolkning: Endepunktene t=0 og t=2π er ikke med i definisjonsintervallet.
Visualisering for Oppgave 5a
Tangentvektoren (-1,1,0) har z-komponent 0 og ligger derfor parallelt med xy-planet.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, sin, cos, pi, Matrix, simplify
t = symbols('t', real=True)
r = Matrix([sin(t), t, cos(t)])
r_prime = r.diff(t)
t_value = pi
point = r.subs(t, t_value)
tangent = r_prime.subs(t, t_value)
print("r(t) =", r.T)
print("r'(t) =", r_prime.T)
print("Krav: z-komponenten -sin(t) = 0")
print("Tillatt løsning i (0,2*pi): t =", t_value)
print("Punktet r(pi) =", point.T)
print("Tangentvektor r'(pi) =", tangent.T)
print("z-komponent i tangent =", tangent[2])
assert point == Matrix([0,pi,-1])
assert tangent[2] == 0
assert tangent != Matrix([0,0,0])
Kjørt utskriftr(t) = Matrix([[sin(t), t, cos(t)]])
r'(t) = Matrix([[cos(t), 1, -sin(t)]])
Krav: z-komponenten -sin(t) = 0
Tillatt løsning i (0,2*pi): t = pi
Punktet r(pi) = Matrix([[0, pi, -1]])
Tangentvektor r'(pi) = Matrix([[-1, 1, 0]])
z-komponent i tangent = 0

Fasit: Det eneste punktet er \((0,\pi,-1)\).

Vanlig feil: Å ta med t=0 eller t=2π selv om intervallet er åpent.
Sensorpunkt: Sensor ser etter tangentvektoren, z-komponentkravet og korrekt punktkoordinat.
Del 2 / Oppgave 5bOrtogonalitet mellom fart og akselerasjon

Oppgave 5b

Oppgave: Vis at \(\vec r_1\prime(t)\perp\vec r_1\prime\prime(t)\) for alle t.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal derivere to ganger og vise at skalarproduktet er identisk lik null.

  1. Finn første derivert
    \[\vec r_1\prime(t)=[\cos t,1,-\sin t]\]
  2. Finn andre derivert
    \[\vec r_1\prime\prime(t)=[-\sin t,0,-\cos t]\]
  3. Sett opp skalarproduktet
    \[\vec r_1\prime\cdot\vec r_1\prime\prime=\cos t(-\sin t)+1\cdot0+(-\sin t)(-\cos t)\]
  4. Forenkle
    \[-\sin t\cos t+\sin t\cos t=0\]
  5. Bruk ortogonalitetskriteriet
    To ikke-null vektorer med skalarprodukt 0 står vinkelrett på hverandre.
  6. Kontroller at vektorene er relevante
    \(|\vec r_1\prime|=\sqrt2\), og \(|\vec r_1\prime\prime|=1\), så ingen av dem er null.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Dot((cos(t),1,-sin(t)),(-sin(t),0,-cos(t)))
Resultat: \(0\)
Tolkning: Skalarproduktet forenkles til null for alle t, ikke bare for enkelte parameterverdier.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, sin, cos, Matrix, simplify, sqrt
t = symbols('t', real=True)
r_prime = Matrix([cos(t), 1, -sin(t)])
r_double = Matrix([-sin(t), 0, -cos(t)])
dot_product = simplify(r_prime.dot(r_double))
speed = simplify(sqrt(r_prime.dot(r_prime)))
acceleration_norm = simplify(sqrt(r_double.dot(r_double)))
print("r'(t) =", r_prime.T)
print("r''(t) =", r_double.T)
print("Skalarprodukt =", dot_product)
print("|r'(t)| =", speed)
print("|r''(t)| =", acceleration_norm)
print("Ortogonal for alle t =", dot_product == 0)
assert dot_product == 0
assert speed == sqrt(2)
assert acceleration_norm == 1
Kjørt utskriftr'(t) = Matrix([[cos(t), 1, -sin(t)]])
r''(t) = Matrix([[-sin(t), 0, -cos(t)]])
Skalarprodukt = 0
|r'(t)| = sqrt(2)
|r''(t)| = 1
Ortogonal for alle t = True

Fasit: \(\vec r_1\prime(t)\cdot\vec r_1\prime\prime(t)=0\) for alle t, derfor er vektorene ortogonale.

Vanlig feil: Å vise ortogonalitet bare numerisk for noen utvalgte t-verdier.
Sensorpunkt: Sensor ser etter begge deriverte og en symbolsk skalarproduktberegning.
Del 2 / Oppgave 5cSmygplan og konstant vinkel

Oppgave 5c

Oppgave: Vis at vinkelen mellom smygplanet og y-aksen alltid er den samme for kurven C, og bestem vinkelen.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal finne en normalvektor til smygplanet og bruke formelen for vinkelen mellom en linje og et plan.

  1. Finn en normalvektor
    Smygplanet spennes av \(\vec r_1\prime\) og \(\vec r_1\prime\prime\), så en normal er kryssproduktet.
  2. Beregn kryssproduktet
    \[\vec n(t)=\vec r_1\prime\times\vec r_1\prime\prime=[-\cos t,1,\sin t]\]
  3. Finn normallengden
    \[|\vec n|=\sqrt{\cos^2t+1+\sin^2t}=\sqrt2\]
  4. Bruk y-aksens retningsvektor
    \(\vec e_y=(0,1,0)\).
  5. Bruk linje-plan-formelen
    For vinkelen \(\theta\) mellom linjen og planet gjelder \(\sin\theta=\frac{|\vec n\cdot\vec e_y|}{|\vec n||\vec e_y|}\).
  6. Sett inn
    \[\sin\theta=\frac1{\sqrt2}\]
  7. Bestem vinkelen
    \[\theta=45^\circ\]
  8. Forklar konstansen
    Både telleren 1 og normallengden \(\sqrt2\) er uavhengige av t.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Cross((cos(t),1,-sin(t)),(-sin(t),0,-cos(t)))
Resultat: \((-\cos t,1,\sin t)\)
2asin(abs(Dot(n,(0,1,0)))/(Length(n)))
Resultat: \(\frac\pi4\)
Tolkning: Normalvektoren varierer, men dens y-komponent og lengde gjør samme vinkel med y-aksen for alle t.
Visualisering for Oppgave 5c
Smygplanet spennes av tangentvektoren og akselerasjonsvektoren.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, sin, cos, Matrix, sqrt, simplify, asin, pi
t = symbols('t', real=True)
r_prime = Matrix([cos(t), 1, -sin(t)])
r_double = Matrix([-sin(t), 0, -cos(t)])
normal = simplify(r_prime.cross(r_double))
ey = Matrix([0,1,0])
normal_length = simplify(sqrt(normal.dot(normal)))
sin_theta = simplify(abs(normal.dot(ey))/(normal_length*sqrt(ey.dot(ey))))
theta = simplify(asin(sin_theta))
print("Normalvektor n(t) =", normal.T)
print("|n(t)| =", normal_length)
print("n(t) dot e_y =", simplify(normal.dot(ey)))
print("sin(theta) =", sin_theta)
print("theta =", theta)
print("theta i grader =", float(theta*180/pi))
assert normal == Matrix([-cos(t),1,sin(t)])
assert normal_length == sqrt(2)
assert theta == pi/4
Kjørt utskriftNormalvektor n(t) = Matrix([[-cos(t), 1, sin(t)]])
|n(t)| = sqrt(2)
n(t) dot e_y = 1
sin(theta) = sqrt(2)/2
theta = pi/4
theta i grader = 45.0

Fasit: Vinkelen mellom smygplanet og y-aksen er konstant og lik \(45^\circ\).

Vanlig feil: Å beregne vinkelen mellom normalvektoren og y-aksen uten å skille mellom linje-normal-vinkel og linje-plan-vinkel.
Sensorpunkt: Sensor ser etter kryssproduktet, korrekt vinkeldefinisjon og en begrunnelse for at resultatet er uavhengig av t.
Del 2 / Oppgave 5dPlan kurve og degenerert smygplan

Oppgave 5d

Oppgave: Den andre kurven er \(\vec r_2(t)=[\sin t,t,2\sin t+1]\). Undersøk smygplanet for ulike t og gi en tolkning.
Vekting: Alle deloppgavene vektes likt, med unntakene som er oppgitt i eksamensinformasjonen.
Vis løsning

Hva spør oppgaven om? Vi skal beregne kryssproduktet for flere t-verdier, identifisere et fast plan og håndtere parameterverdier der andrederiverten er null.

  1. Deriver kurven
    \[\vec r_2\prime=[\cos t,1,2\cos t],\qquad\vec r_2\prime\prime=[-\sin t,0,-2\sin t]\]
  2. Finn normalretningen
    \[\vec r_2\prime\times\vec r_2\prime\prime=\sin t[-2,0,1]\]
  3. Tolk for \(\sin t\ne0\)
    Normalretningen er alltid parallell med \((-2,0,1)\), uansett t.
  4. Finn planlikningen gjennom kurvepunktet
    \[-2(x-\sin t)+(z-(2\sin t+1))=0\]
  5. Forenkle planlikningen
    \[-2x+z-1=0\quad\Longleftrightarrow\quad z=2x+1\]
  6. Kontroller hele kurven
    Når \(x=\sin t\) og \(z=2\sin t+1\), er \(z-2x-1=0\) for alle t.
  7. Undersøk spesialverdiene
    Når \(t=k\pi\), er \(\vec r_2\prime\prime=\vec0\), så definisjonen i oppgaven gir ikke et unikt smygplan direkte.
  8. Gi tolkningen
    Kurven er en plan kurve som ligger fullstendig i det faste planet \(z=2x+1\). Det naturlige grenseplanet ved spesialverdiene er det samme planet.

Digital kontroll i GeoGebra/CAS

GeoGebra / CAS
1Cross((cos(t),1,2cos(t)),(-sin(t),0,-2sin(t)))
Resultat: \(\sin t(-2,0,1)\)
2Simplify((2sin(t)+1)-2sin(t)-1)
Resultat: \(0\)
Tolkning: Undersøkelsen viser at alle ikke-degenererte smygplan er det samme faste planet.
Visualisering for Oppgave 5d
Alle punkter på kurven oppfyller z-2x-1=0, så kurven er plan.

Digital kontroll i Python

Python 3.13 / SymPy 1.14 - faktisk kjørt
from sympy import symbols, sin, cos, Matrix, simplify, pi
t = symbols('t', real=True)
r = Matrix([sin(t), t, 2*sin(t)+1])
r_prime = r.diff(t)
r_double = r_prime.diff(t)
normal = simplify(r_prime.cross(r_double))
plane_residual = simplify(r[2] - 2*r[0] - 1)
print("r_2(t) =", r.T)
print("r_2'(t) =", r_prime.T)
print("r_2''(t) =", r_double.T)
print("Kryssprodukt =", normal.T)
print("Faktorisert normalretning = sin(t)*(-2,0,1)")
print("Kontroll z-2x-1 =", plane_residual)
for value in [pi/6, pi/2, 5*pi/6, pi, 3*pi/2]:
    print(f"t={value}: normal =", normal.subs(t,value).T, ", r'' =", r_double.subs(t,value).T)
assert normal == Matrix([-2*sin(t),0,sin(t)])
assert plane_residual == 0
assert r_double.subs(t,pi) == Matrix([0,0,0])
Kjørt utskriftr_2(t) = Matrix([[sin(t), t, 2*sin(t) + 1]])
r_2'(t) = Matrix([[cos(t), 1, 2*cos(t)]])
r_2''(t) = Matrix([[-sin(t), 0, -2*sin(t)]])
Kryssprodukt = Matrix([[-2*sin(t), 0, sin(t)]])
Faktorisert normalretning = sin(t)*(-2,0,1)
Kontroll z-2x-1 = 0
t=pi/6: normal = Matrix([[-1, 0, 1/2]]) , r'' = Matrix([[-1/2, 0, -1]])
t=pi/2: normal = Matrix([[-2, 0, 1]]) , r'' = Matrix([[-1, 0, -2]])
t=5*pi/6: normal = Matrix([[-1, 0, 1/2]]) , r'' = Matrix([[-1/2, 0, -1]])
t=pi: normal = Matrix([[0, 0, 0]]) , r'' = Matrix([[0, 0, 0]])
t=3*pi/2: normal = Matrix([[2, 0, -1]]) , r'' = Matrix([[1, 0, 2]])

Fasit: For alle \(t\) med \(\sin t\ne0\) er smygplanet \(z=2x+1\). Kurven ligger helt i dette faste planet. Ved \(t=k\pi\) er andrederiverten null, men grenseplanet er fortsatt det samme.

Vanlig feil: Å overse at kryssproduktet blir null når \(\sin t=0\), eller å tro at ulike skalarmultipler av normalvektoren gir ulike plan.
Sensorpunkt: Sensor ser etter en parameterundersøkelse, fast normalretning, planlikning og en nyansert tolkning av degenererte t-verdier.