R1 eksamenHøst 2017

Matematikk R1 eksamen – høst 2017

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - høsten 2017 (REA3022)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon - polynom

Oppgave 1a

Oppgave: Deriver funksjonen \[f(x)=3x^2-2x+1.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke potensregelen og derivere hvert ledd separat.

Steg 1 - Identifiser leddene

Funksjonen består av leddene \(3x^2\), \(-2x\) og konstanten \(1\).

Steg 2 - Bruk potensregelen

For \(ax^n\) gjelder \(\frac{d}{dx}(ax^n)=anx^{n-1}\).

Steg 3 - Deriver andregradsleddet

\[\frac{d}{dx}(3x^2)=3\cdot2x=6x.\]

Steg 4 - Deriver førstegradsleddet

\[\frac{d}{dx}(-2x)=-2.\]

Steg 5 - Deriver konstanten

\[\frac{d}{dx}(1)=0.\]

Steg 6 - Samle resultatet

\[f^{\prime}(x)=6x-2.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[3x^2-2x+1,x]
\(6x-2\)

Tolkning: CAS deriverer polynomet ledd for ledd.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = 3*x**2 - 2*x + 1
term_1 = sp.diff(3*x**2, x)
term_2 = sp.diff(-2*x, x)
term_3 = sp.diff(1, x)
derivative = sp.diff(f, x)
print("f(x) =", f)
print("Derivative of 3*x**2 =", term_1)
print("Derivative of -2*x =", term_2)
print("Derivative of 1 =", term_3)
print("f'(x) =", derivative)
print("Expanded check =", sp.expand(derivative))
Utskrift fra Python:
f(x) = 3*x**2 - 2*x + 1
Derivative of 3*x**2 = 6*x
Derivative of -2*x = -2
Derivative of 1 = 0
f'(x) = 6*x - 2
Expanded check = 6*x - 2

Fasit: \(f^{\prime}(x)=6x-2\).

Vanlig feil: Å la konstantleddet bli stående i den deriverte.
Sensorpunkt: Sensor forventer riktig bruk av potensregelen på alle tre ledd.
Del 1 - Oppgave 1bDerivasjon - produktregelen

Oppgave 1b

Oppgave: Deriver funksjonen \[g(x)=x^2e^x.\]
Vis løsning

Hva spør oppgaven om? Funksjonen er et produkt av to funksjoner, så vi må bruke produktregelen.

Steg 1 - Del produktet

Sett \(u(x)=x^2\) og \(v(x)=e^x\).

Steg 2 - Deriver faktorene

\[u^{\prime}(x)=2x,\qquad v^{\prime}(x)=e^x.\]

Steg 3 - Skriv produktregelen

\[(uv)^{\prime}=u^{\prime}v+uv^{\prime}.\]

Steg 4 - Sett inn

\[g^{\prime}(x)=2x e^x+x^2e^x.\]

Steg 5 - Faktoriser

Begge ledd inneholder \(xe^x\): \[g^{\prime}(x)=xe^x(x+2).\]

Steg 6 - Kontroller struktur

Den deriverte må inneholde bidrag fra både \(x^2\) og \(e^x\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^2 exp(x),x]
\(x(x+2)e^x\)
2
Factor[%]
\(x(x+2)e^x\)

Tolkning: CAS bekrefter både den utvidede og faktoriserte formen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
u = x**2
v = sp.exp(x)
u_prime = sp.diff(u, x)
v_prime = sp.diff(v, x)
product_rule = sp.expand(u_prime*v + u*v_prime)
factored = sp.factor(product_rule)
print("u(x) =", u)
print("v(x) =", v)
print("u'(x) =", u_prime)
print("v'(x) =", v_prime)
print("Product rule gives =", product_rule)
print("Factored derivative =", factored)
print("Direct SymPy derivative =", sp.diff(u*v, x))
Utskrift fra Python:
u(x) = x**2
v(x) = exp(x)
u'(x) = 2*x
v'(x) = exp(x)
Product rule gives = x**2*exp(x) + 2*x*exp(x)
Factored derivative = x*(x + 2)*exp(x)
Direct SymPy derivative = x**2*exp(x) + 2*x*exp(x)

Fasit: \(g^{\prime}(x)=e^x(x^2+2x)=xe^x(x+2)\).

Vanlig feil: Å derivere produktet som produktet av de deriverte.
Sensorpunkt: Produktregelen må vises eksplisitt før uttrykket faktoriseres.
Del 1 - Oppgave 1cDerivasjon - kjerneregelen

Oppgave 1c

Oppgave: Deriver funksjonen \[h(x)=\ln(x^3-1).\]
Vis løsning

Hva spør oppgaven om? Vi skal derivere en sammensatt logaritmefunksjon med kjerneregelen.

Steg 1 - Finn ytre og indre funksjon

Ytre funksjon er \(\ln u\), mens kjernen er \(u=x^3-1\).

Steg 2 - Deriver ytre funksjon

\[\frac{d}{du}\ln u=\frac1u.\]

Steg 3 - Deriver kjernen

\[u^{\prime}=3x^2.\]

Steg 4 - Bruk kjerneregelen

\[h^{\prime}(x)=\frac{1}{x^3-1}\cdot3x^2.\]

Steg 5 - Skriv samlet svar

\[h^{\prime}(x)=\frac{3x^2}{x^3-1}.\]

Steg 6 - Kontroller definisjonsmengden

For den opprinnelige funksjonen må \(x^3-1>0\), altså \(x>1\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[ln(x^3-1),x]
\(\frac{3x^2}{x^3-1}\)

Tolkning: CAS bruker kjerneregelen på logaritmen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
inner = x**3 - 1
h = sp.log(inner)
inner_prime = sp.diff(inner, x)
h_prime = sp.diff(h, x)
print("Inner function =", inner)
print("Derivative of inner function =", inner_prime)
print("h(x) =", h)
print("h'(x) =", h_prime)
print("Combined fraction =", sp.together(h_prime))
print("Domain condition: x**3 - 1 > 0")
print("Domain solution =", sp.solve_univariate_inequality(inner > 0, x))
Utskrift fra Python:
Inner function = x**3 - 1
Derivative of inner function = 3*x**2
h(x) = log(x**3 - 1)
h'(x) = 3*x**2/(x**3 - 1)
Combined fraction = 3*x**2/(x**3 - 1)
Domain condition: x**3 - 1 > 0
Domain solution = 1 < x

Fasit: \(h^{\prime}(x)=\frac{3x^2}{x^3-1}\), for \(x>1\).

Vanlig feil: Å glemme å multiplisere med den deriverte av kjernen.
Sensorpunkt: Både brøkformen og den relevante definisjonsmengden bør være korrekt.
Del 1 - Oppgave 2Logaritmeregler

Oppgave 2

Oppgave: Skriv så enkelt som mulig: \[2\ln b-\ln\!\left(\frac1b\right)-\ln(ab^2)+\ln\!\left(\frac{a}{b^2}\right).\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke produkt-, kvotient- og potensreglene for logaritmer. Uttrykket forutsetter \(a>0\) og \(b>0\).

Steg 1 - Skriv om den første brøken

\[\ln\!\left(\frac1b\right)=\ln1-\ln b=-\ln b.\]

Steg 2 - Skriv om produktet

\[\ln(ab^2)=\ln a+2\ln b.\]

Steg 3 - Skriv om den siste brøken

\[\ln\!\left(\frac{a}{b^2}\right)=\ln a-2\ln b.\]

Steg 4 - Sett alt inn

\[2\ln b-(-\ln b)-(\ln a+2\ln b)+(\ln a-2\ln b).\]

Steg 5 - Samle \(\ln a\)-leddene

Leddene \(-\ln a+\ln a\) kansellerer hverandre.

Steg 6 - Samle \(\ln b\)-leddene

\[(2+1-2-2)\ln b=-\ln b.\]

Steg 7 - Alternativ sluttform

\[-\ln b=\ln\!\left(\frac1b\right).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[2 ln(b)-ln(1/b)-ln(a b^2)+ln(a/b^2)]
\(-\ln b\)

Tolkning: Med antakelsene \(a>0\) og \(b>0\) reduseres uttrykket til én logaritme.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a, b = sp.symbols("a b", positive=True)
expression = 2*sp.log(b) - sp.log(1/b) - sp.log(a*b**2) + sp.log(a/b**2)
expanded = 2*sp.log(b) + sp.log(b) - (sp.log(a) + 2*sp.log(b)) + (sp.log(a) - 2*sp.log(b))
simplified = sp.simplify(expanded)
print("Original expression =", expression)
print("After applying log rules =", expanded)
print("Coefficient of log(a) =", -1 + 1)
print("Coefficient of log(b) =", 2 + 1 - 2 - 2)
print("Simplified expression =", simplified)
print("Equivalent form =", sp.log(1/b))
print("Difference check =", sp.simplify(simplified - sp.log(1/b)))
Utskrift fra Python:
Original expression = -log(1/b) + 2*log(b) + log(a/b**2) - log(a*b**2)
After applying log rules = -log(b)
Coefficient of log(a) = 0
Coefficient of log(b) = -1
Simplified expression = -log(b)
Equivalent form = log(1/b)
Difference check = 0

Fasit: Uttrykket blir \(-\ln b=\ln(1/b)\).

Vanlig feil: Å bruke \(\ln(u+v)=\ln u+\ln v\), som ikke er en gyldig regel.
Sensorpunkt: Fortegnene foran hele logaritmeuttrykk må håndteres riktig.
Del 1 - Oppgave 3aVektorer - lineær kombinasjon

Oppgave 3a

Oppgave: Vektorene \(\vec a=[3,1]\) og \(\vec b=[4,2]\) er gitt. Bestem \(\vec a-2\vec b\).
Vis løsning

Hva spør oppgaven om? Vi skal multiplisere \(\vec b\) med 2 og trekke komponentvis.

Steg 1 - Skriv vektorene

\[\vec a=[3,1],\qquad \vec b=[4,2].\]

Steg 2 - Multipliser \(\vec b\) med 2

\[2\vec b=[8,4].\]

Steg 3 - Trekk første komponent

\[3-8=-5.\]

Steg 4 - Trekk andre komponent

\[1-4=-3.\]

Steg 5 - Skriv resultatvektoren

\[\vec a-2\vec b=[-5,-3].\]

Steg 6 - Kontroller

Legger vi til \(2\vec b\) igjen, får vi \([-5,-3]+[8,4]=[3,1]=\vec a\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Vector[(3,1)]-2 Vector[(4,2)]
\((-5,-3)\)

Tolkning: GeoGebra trekker vektorene komponentvis.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a = sp.Matrix([3, 1])
b = sp.Matrix([4, 2])
two_b = 2*b
result = a - two_b
check = result + two_b
print("a =", list(a))
print("b =", list(b))
print("2*b =", list(two_b))
print("First component: 3 - 8 =", result[0])
print("Second component: 1 - 4 =", result[1])
print("a - 2*b =", list(result))
print("Check by adding 2*b =", list(check))
Utskrift fra Python:
a = [3, 1]
b = [4, 2]
2*b = [8, 4]
First component: 3 - 8 = -5
Second component: 1 - 4 = -3
a - 2*b = [-5, -3]
Check by adding 2*b = [3, 1]

Fasit: \(\vec a-2\vec b=[-5,-3]\).

Vanlig feil: Å trekke 2 bare fra én komponent.
Sensorpunkt: Begge komponentene i \(\vec b\) skal først multipliseres med 2.
Del 1 - Oppgave 3bVektorer - skalarprodukt

Oppgave 3b

Oppgave: Bestem \(\vec a\cdot\vec b\) når \(\vec a=[3,1]\) og \(\vec b=[4,2]\).
Vis løsning

Hva spør oppgaven om? Vi skal multiplisere samsvarende komponenter og summere produktene.

Steg 1 - Skriv formelen

For \([a_1,a_2]\) og \([b_1,b_2]\) er skalarproduktet \(a_1b_1+a_2b_2\).

Steg 2 - Sett inn komponentene

\[\vec a\cdot\vec b=3\cdot4+1\cdot2.\]

Steg 3 - Regn ut første produkt

\[3\cdot4=12.\]

Steg 4 - Regn ut andre produkt

\[1\cdot2=2.\]

Steg 5 - Summer

\[12+2=14.\]

Steg 6 - Tolk

Skalarproduktet er positivt, så vinkelen mellom vektorene er spiss.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Dot[(3,1),(4,2)]
\(14\)

Tolkning: CAS beregner summen av komponentproduktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a = sp.Matrix([3, 1])
b = sp.Matrix([4, 2])
first_product = a[0]*b[0]
second_product = a[1]*b[1]
dot_product = a.dot(b)
print("a =", list(a))
print("b =", list(b))
print("First component product =", first_product)
print("Second component product =", second_product)
print("Sum of component products =", first_product + second_product)
print("a dot b =", dot_product)
print("The dot product is positive =", dot_product > 0)
Utskrift fra Python:
a = [3, 1]
b = [4, 2]
First component product = 12
Second component product = 2
Sum of component products = 14
a dot b = 14
The dot product is positive = True

Fasit: \(\vec a\cdot\vec b=14\).

Vanlig feil: Å multiplisere lengdene i stedet for samsvarende komponenter.
Sensorpunkt: Mellomregningen \(3\cdot4+1\cdot2\) bør være synlig.
Del 1 - Oppgave 3cVektorer - parallelle vektorer

Oppgave 3c

Oppgave: Vektorene \(\vec b=[4,2]\) og \(\vec c=[t+1,3]\) er gitt. Bestem \(t\) slik at \(\vec b\parallel\vec c\).
Vis løsning

Hva spør oppgaven om? Parallelle vektorer er skalarmultipler av hverandre.

Steg 1 - Sett opp skalarmultiplikasjon

Det må finnes et tall \(k\) slik at \([t+1,3]=k[4,2]\).

Steg 2 - Bruk andre komponent

Fra \(3=2k\) får vi \[k=\frac32.\]

Steg 3 - Bruk første komponent

\[t+1=4k.\]

Steg 4 - Sett inn \(k\)

\[t+1=4\cdot\frac32=6.\]

Steg 5 - Løs for \(t\)

\[t=5.\]

Steg 6 - Kontroller

Når \(t=5\), er \(\vec c=[6,3]=\frac32[4,2]\), så vektorene er parallelle.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(t+1)/4=3/2,t]
\(t=5\)

Tolkning: Komponentforholdene må være like for parallelle vektorer.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t, k = sp.symbols("t k", real=True)
b = sp.Matrix([4, 2])
c = sp.Matrix([t + 1, 3])
solutions = sp.solve([sp.Eq(c[0], k*b[0]), sp.Eq(c[1], k*b[1])], [t, k], dict=True)
print("b =", list(b))
print("c =", list(c))
print("Equations: t + 1 = 4*k and 3 = 2*k")
print("Solutions =", solutions)
t_value = solutions[0][t]
k_value = solutions[0][k]
print("t =", t_value)
print("Scale factor k =", k_value)
print("c when t=5 =", list(c.subs(t, t_value)))
print("k*b =", list(k_value*b))
Utskrift fra Python:
b = [4, 2]
c = [t + 1, 3]
Equations: t + 1 = 4*k and 3 = 2*k
Solutions = [{k: 3/2, t: 5}]
t = 5
Scale factor k = 3/2
c when t=5 = [6, 3]
k*b = [6, 3]

Fasit: \(t=5\).

Vanlig feil: Å kreve at komponentene er like i stedet for proporsjonale.
Sensorpunkt: Det skal vises én felles skaleringsfaktor for begge komponenter.
Del 1 - Oppgave 3dVektorer - like lengder

Oppgave 3d

Oppgave: Vektorene \(\vec a=[3,1]\) og \(\vec c=[t+1,3]\) er gitt. Bestem \(t\) slik at \(|\vec c|=|\vec a|\).
Vis løsning

Hva spør oppgaven om? Vi kan sammenligne kvadratet av lengdene for å unngå kvadratrøtter.

Steg 1 - Finn \(|\vec a|^2\)

\[|\vec a|^2=3^2+1^2=10.\]

Steg 2 - Finn \(|\vec c|^2\)

\[|\vec c|^2=(t+1)^2+3^2=(t+1)^2+9.\]

Steg 3 - Sett lengdene like

\[(t+1)^2+9=10.\]

Steg 4 - Isoler kvadratet

\[(t+1)^2=1.\]

Steg 5 - Ta begge kvadratrøttene

\[t+1=1\quad\text{eller}\quad t+1=-1.\]

Steg 6 - Løs

\[t=0\quad\text{eller}\quad t=-2.\]

Steg 7 - Kontroller

Vektorene blir henholdsvis \([1,3]\) og \([-1,3]\); begge har lengde \(\sqrt{10}\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(t+1)^2+9=10,t]
\(t=-2,\ 0\)

Tolkning: Begge fortegnene gir samme vektorlengde.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
a = sp.Matrix([3, 1])
c = sp.Matrix([t + 1, 3])
a_length_squared = a.dot(a)
c_length_squared = sp.expand(c.dot(c))
equation = sp.Eq(c_length_squared, a_length_squared)
solutions = sp.solve(equation, t)
print("|a|**2 =", a_length_squared)
print("|c|**2 =", c_length_squared)
print("Equation =", equation)
print("Solutions for t =", solutions)
for value in solutions:
    current = c.subs(t, value)
    print("t =", value, "gives c =", list(current), "and |c|**2 =", current.dot(current))
Utskrift fra Python:
|a|**2 = 10
|c|**2 = t**2 + 2*t + 10
Equation = Eq(t**2 + 2*t + 10, 10)
Solutions for t = [-2, 0]
t = -2 gives c = [-1, 3] and |c|**2 = 10
t = 0 gives c = [1, 3] and |c|**2 = 10

Fasit: \(t=-2\) eller \(t=0\).

Vanlig feil: Å ta bare den positive kvadratroten.
Sensorpunkt: Begge løsningene må oppgis og kontrolleres.
Del 1 - Oppgave 4aFunksjoner - arealmodell

Oppgave 4a

Oppgave: Funksjonen er \(f(x)=2(x-3)^2\), der \(0<x<3\). En rettvinklet trekant har grunnlinje \(x\) og høyde \(f(x)\). Vis at arealet kan skrives \[F(x)=x^3-6x^2+9x.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke trekantarealet og forenkle uttrykket algebraisk.

Steg 1 - Finn grunnlinjen

Punktene \(A(0,0)\) og \(B(x,0)\) gir grunnlinjen \(AB=x\).

Steg 2 - Finn høyden

Punktene \(B(x,0)\) og \(C(x,f(x))\) gir høyden \(BC=f(x)=2(x-3)^2\).

Steg 3 - Bruk arealformelen

\[F(x)=\frac12\cdot AB\cdot BC.\]

Steg 4 - Sett inn grunnlinje og høyde

\[F(x)=\frac12\cdot x\cdot2(x-3)^2=x(x-3)^2.\]

Steg 5 - Kvadrer parentesen

\[(x-3)^2=x^2-6x+9.\]

Steg 6 - Multipliser med \(x\)

\[F(x)=x(x^2-6x+9)=x^3-6x^2+9x.\]

Illustrasjon til Oppgave 4a
Arealmodellen for trekanten.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Expand[x(x-3)^2]
\(x^3-6x^2+9x\)

Tolkning: CAS utvider arealuttrykket til formen oppgaven ber om.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = 2*(x - 3)**2
base = x
height = f
area_formula = sp.Rational(1, 2)*base*height
expanded_area = sp.expand(area_formula)
print("Base AB =", base)
print("Height BC =", height)
print("Triangle area = 1/2 * base * height")
print("Area before expansion =", area_formula)
print("Expansion of (x - 3)**2 =", sp.expand((x - 3)**2))
print("Expanded area F(x) =", expanded_area)
print("Difference from target =", sp.expand(expanded_area - (x**3 - 6*x**2 + 9*x)))
Utskrift fra Python:
Base AB = x
Height BC = 2*(x - 3)**2
Triangle area = 1/2 * base * height
Area before expansion = x*(x - 3)**2
Expansion of (x - 3)**2 = x**2 - 6*x + 9
Expanded area F(x) = x**3 - 6*x**2 + 9*x
Difference from target = 0

Fasit: \(F(x)=x^3-6x^2+9x\).

Vanlig feil: Å glemme faktoren \(\frac12\) i trekantarealet.
Sensorpunkt: Det må komme tydelig fram hvorfor grunnlinjen er \(x\) og høyden er \(f(x)\).
Del 1 - Oppgave 4bOptimering - største areal

Oppgave 4b

Oppgave: Bestem \(x\) slik at arealet \(F(x)=x^3-6x^2+9x\) blir størst mulig for \(0<x<3\).
Vis løsning

Hva spør oppgaven om? Vi skal finne kritiske punkt og bruke fortegnet til den deriverte.

Steg 1 - Deriver arealfunksjonen

\[F^{\prime}(x)=3x^2-12x+9.\]

Steg 2 - Faktoriser den deriverte

\[F^{\prime}(x)=3(x^2-4x+3)=3(x-1)(x-3).\]

Steg 3 - Finn kritiske verdier

\[F^{\prime}(x)=0\quad\Rightarrow\quad x=1\ \text{eller}\ x=3.\]

Steg 4 - Ta hensyn til intervallet

Intervallet er \(0<x<3\), så \(x=3\) er ikke et indre punkt.

Steg 5 - Undersøk fortegnet

For \(0<x<1\) er \(F^{\prime}(x)>0\), og for \(1<x<3\) er \(F^{\prime}(x)<0\).

Steg 6 - Konkluder maksimum

Funksjonen går fra voksende til avtakende ved \(x=1\), så arealet er størst der.

Steg 7 - Finn maksimalarealet

\[F(1)=1-6+9=4.\]

Illustrasjon til Oppgave 4b
Grafen og trekanten viser geometrien bak arealfunksjonen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^3-6x^2+9x,x]
\(3(x-1)(x-3)\)
2
Extremum[x^3-6x^2+9x,0,3]
\((1,4)\)

Tolkning: Grafen har toppunkt \((1,4)\) i det aktuelle intervallet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
F = x**3 - 6*x**2 + 9*x
F_prime = sp.diff(F, x)
critical_points = sp.solve(sp.Eq(F_prime, 0), x)
print("F(x) =", F)
print("F'(x) =", F_prime)
print("Factored derivative =", sp.factor(F_prime))
print("Critical points =", critical_points)
print("Sign at x=1/2 =", sp.sign(F_prime.subs(x, sp.Rational(1, 2))))
print("Sign at x=2 =", sp.sign(F_prime.subs(x, 2)))
print("F(1) =", F.subs(x, 1))
print("Limit as x approaches 0 from the right =", sp.limit(F, x, 0, dir='+'))
print("Limit as x approaches 3 from the left =", sp.limit(F, x, 3, dir='-'))
Utskrift fra Python:
F(x) = x**3 - 6*x**2 + 9*x
F'(x) = 3*x**2 - 12*x + 9
Factored derivative = 3*(x - 3)*(x - 1)
Critical points = [1, 3]
Sign at x=1/2 = 1
Sign at x=2 = -1
F(1) = 4
Limit as x approaches 0 from the right = 0
Limit as x approaches 3 from the left = 0

Fasit: Arealet er størst når \(x=1\), og maksimalarealet er \(4\).

Vanlig feil: Å velge \(x=3\) bare fordi den deriverte også er null der.
Sensorpunkt: Fortegnsskifte fra pluss til minus ved \(x=1\) må begrunne maksimumet.
Del 1 - Oppgave 4cLikninger - samme areal

Oppgave 4c

Oppgave: Bestem arealet når \(x=2\). Er det andre \(x\)-verdier i \(0<x<3\) som gir dette arealet?
Vis løsning

Hva spør oppgaven om? Vi finner først arealet og løser deretter likningen \(F(x)=F(2)\).

Steg 1 - Beregn arealet ved \(x=2\)

\[F(2)=2^3-6\cdot2^2+9\cdot2=8-24+18=2.\]

Steg 2 - Sett opp likningen

Andre verdier må oppfylle \[x^3-6x^2+9x=2.\]

Steg 3 - Flytt alt til én side

\[x^3-6x^2+9x-2=0.\]

Steg 4 - Bruk den kjente roten

Siden \(x=2\) er en løsning, er \((x-2)\) en faktor.

Steg 5 - Faktoriser

\[x^3-6x^2+9x-2=(x-2)(x^2-4x+1).\]

Steg 6 - Løs andregradslikningen

\[x^2-4x+1=0\Rightarrow x=2\pm\sqrt3.\]

Steg 7 - Bruk intervallet

\(2+\sqrt3>3\) er ikke tillatt. \(2-\sqrt3\) ligger i \((0,3)\).

Illustrasjon til Oppgave 4c
Arealfunksjonen har samme verdi på to steder i det aktuelle intervallet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[x^3-6x^2+9x-2]
\((x-2)(x^2-4x+1)\)
2
Solve[x^3-6x^2+9x=2,x]
\(2-\sqrt3,\ 2,\ 2+\sqrt3\)

Tolkning: Bare \(2-\sqrt3\) og \(2\) ligger i intervallet \(0<x<3\).

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
F = x**3 - 6*x**2 + 9*x
area_at_2 = sp.simplify(F.subs(x, 2))
equation_polynomial = sp.expand(F - area_at_2)
factored = sp.factor(equation_polynomial)
solutions = sp.solve(sp.Eq(F, area_at_2), x)
valid_solutions = [s for s in solutions if bool(s > 0) and bool(s < 3)]
print("F(x) =", F)
print("F(2) =", area_at_2)
print("Equation polynomial =", equation_polynomial)
print("Factored polynomial =", factored)
print("All exact solutions =", solutions)
print("Decimal solutions =", [sp.N(s, 10) for s in solutions])
print("Solutions in 0 < x < 3 =", valid_solutions)
for s in valid_solutions:
    print("Check F(", s, ") =", sp.simplify(F.subs(x, s)), sep="")
Utskrift fra Python:
F(x) = x**3 - 6*x**2 + 9*x
F(2) = 2
Equation polynomial = x**3 - 6*x**2 + 9*x - 2
Factored polynomial = (x - 2)*(x**2 - 4*x + 1)
All exact solutions = [2, 2 - sqrt(3), sqrt(3) + 2]
Decimal solutions = [2.000000000, 0.2679491924, 3.732050808]
Solutions in 0 < x < 3 = [2, 2 - sqrt(3)]
Check F(2) =2
Check F(2 - sqrt(3)) =2

Fasit: Arealet er \(2\). Den andre tillatte verdien er \(x=2-\sqrt3\approx0{,}268\).

Vanlig feil: Å oppgi \(2+\sqrt3\) uten å kontrollere intervallet.
Sensorpunkt: Alle algebraiske røtter må testes mot betingelsen \(0<x<3\).
Del 1 - Oppgave 5aKombinatorikk - ordnede valg med tilbakelegging

Oppgave 5a

Oppgave: En kode består av fire tall. Hvert tall velges blant 0 til 9, tall kan gjentas, og rekkefølgen betyr noe. Hvor mange koder finnes?
Vis løsning

Hva spør oppgaven om? Hver av de fire plassene har 10 uavhengige valgmuligheter.

Steg 1 - Første plass

Det finnes 10 valg: 0, 1, 2, ..., 9.

Steg 2 - Andre plass

Også her finnes 10 valg fordi gjentakelse er tillatt.

Steg 3 - Tredje og fjerde plass

Hver av disse har på samme måte 10 valg.

Steg 4 - Bruk produktregelen

\[10\cdot10\cdot10\cdot10=10^4.\]

Steg 5 - Beregn

\[10^4=10\,000.\]

Steg 6 - Tolk

Koder som 0000 og 0123 er begge tillatt, og 0123 er forskjellig fra 3210.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
10^4
\(10000\)

Tolkning: Produktregelen gir 10 valg for hver av fire posisjoner.

Python-kontroll med SymPy

Python 3 - SymPy
import itertools
symbols = list(range(10))
number_of_positions = 4
count_by_product_rule = len(symbols)**number_of_positions
all_codes = itertools.product(symbols, repeat=number_of_positions)
count_by_enumeration = sum(1 for _ in all_codes)
print("Available digits =", symbols)
print("Number of choices per position =", len(symbols))
print("Number of positions =", number_of_positions)
print("Product rule expression = 10**4")
print("Count by product rule =", count_by_product_rule)
print("Count by complete enumeration =", count_by_enumeration)
print("Repetition allowed =", True)
print("Order matters =", True)
Utskrift fra Python:
Available digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Number of choices per position = 10
Number of positions = 4
Product rule expression = 10**4
Count by product rule = 10000
Count by complete enumeration = 10000
Repetition allowed = True
Order matters = True

Fasit: Det finnes \(10^4=10\,000\) koder.

Vanlig feil: Å bruke kombinasjon når rekkefølgen faktisk betyr noe.
Sensorpunkt: Det må forklares hvorfor det er 10 valg i hver av fire posisjoner.
Del 1 - Oppgave 5bKombinatorikk - kombinasjoner

Oppgave 5b

Oppgave: En kode velges som fire forskjellige tall blant 0 til 9, og rekkefølgen betyr ikke noe. Hvor mange koder finnes?
Vis løsning

Hva spør oppgaven om? Vi skal velge 4 av 10 elementer uten rekkefølge og uten gjentakelse.

Steg 1 - Identifiser modellen

Orden spiller ingen rolle, så vi bruker kombinasjoner.

Steg 2 - Skriv binomialkoeffisienten

\[\binom{10}{4}.\]

Steg 3 - Skriv produktformen

\[\binom{10}{4}=\frac{10!}{4!6!}.\]

Steg 4 - Forkort

\[\frac{10\cdot9\cdot8\cdot7}{4\cdot3\cdot2\cdot1}.\]

Steg 5 - Beregn

\[\frac{5040}{24}=210.\]

Steg 6 - Tolk

Valget \(\{1,2,3,4\}\) telles bare én gang, uansett hvilken rekkefølge tallene stilles opp i.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
BinomialCoefficient[10,4]
\(210\)

Tolkning: GeoGebra beregner antall uordnede utvalg av fire tall.

Python-kontroll med SymPy

Python 3 - SymPy
import math
n = 10
r = 4
factorial_formula = math.factorial(n) // (math.factorial(r)*math.factorial(n-r))
combination_function = math.comb(n, r)
ordered_without_repetition = math.perm(n, r)
print("n =", n)
print("r =", r)
print("10! =", math.factorial(n))
print("4! =", math.factorial(r))
print("6! =", math.factorial(n-r))
print("Binomial coefficient by factorials =", factorial_formula)
print("math.comb(10, 4) =", combination_function)
print("Ordered count would be =", ordered_without_repetition)
print("Ordered count divided by 4! =", ordered_without_repetition // math.factorial(r))
Utskrift fra Python:
n = 10
r = 4
10! = 3628800
4! = 24
6! = 720
Binomial coefficient by factorials = 210
math.comb(10, 4) = 210
Ordered count would be = 5040
Ordered count divided by 4! = 210

Fasit: Det finnes \(\binom{10}{4}=210\) koder.

Vanlig feil: Å bruke \(10\cdot9\cdot8\cdot7\), som teller hver kode \(4!\) ganger.
Sensorpunkt: Fravær av rekkefølge må begrunne bruk av binomialkoeffisient.
Del 1 - Oppgave 5cKombinatorikk - maksimum av binomialkoeffisienter

Oppgave 5c

Oppgave: Hvor mange forskjellige tall må koden bestå av for at antallet mulige koder skal bli størst? Hvor mange koder er det da?
Vis løsning

Hva spør oppgaven om? For en kode med \(r\) forskjellige tall er antallet \(\binom{10}{r}\). Vi sammenligner verdiene.

Steg 1 - Skriv modellen

Antallet koder med \(r\) tall er \(N(r)=\binom{10}{r}\).

Steg 2 - Bruk symmetrien

\[\binom{10}{r}=\binom{10}{10-r}.\] Verdiene vokser mot midten og avtar etter midten.

Steg 3 - Finn midtverdien

Siden 10 er partall, ligger midten ved \(r=5\).

Steg 4 - Beregn naboverdier

\[\binom{10}{4}=210,\qquad \binom{10}{5}=252,\qquad \binom{10}{6}=210.\]

Steg 5 - Sammenlign

\(252\) er større enn naboverdiene, og symmetrien viser at ingen andre kan være større.

Steg 6 - Konkluder

Koden må bestå av 5 forskjellige tall, og det finnes 252 mulige koder.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Sequence[BinomialCoefficient[10,r],r,0,10]
\(1,10,45,120,210,252,210,120,45,10,1\)

Tolkning: Listen har entydig maksimum 252 ved \(r=5\).

Python-kontroll med SymPy

Python 3 - SymPy
import math
values = {r: math.comb(10, r) for r in range(11)}
maximum_count = max(values.values())
maximizing_r = [r for r, count in values.items() if count == maximum_count]
print("Counts C(10, r) for r = 0,...,10:")
for r, count in values.items():
    print("r =", r, "count =", count)
print("Maximum count =", maximum_count)
print("Value(s) of r giving the maximum =", maximizing_r)
print("C(10,4) =", values[4])
print("C(10,5) =", values[5])
print("C(10,6) =", values[6])
Utskrift fra Python:
Counts C(10, r) for r = 0,...,10:
r = 0 count = 1
r = 1 count = 10
r = 2 count = 45
r = 3 count = 120
r = 4 count = 210
r = 5 count = 252
r = 6 count = 210
r = 7 count = 120
r = 8 count = 45
r = 9 count = 10
r = 10 count = 1
Maximum count = 252
Value(s) of r giving the maximum = [5]
C(10,4) = 210
C(10,5) = 252
C(10,6) = 210

Fasit: Koden bør bestå av \(5\) tall. Da finnes det \(\binom{10}{5}=252\) koder.

Vanlig feil: Å anta at flere valgte tall alltid gir flere koder.
Sensorpunkt: Maksimumet må dokumenteres ved sammenligning eller ved binomialkoeffisientenes symmetri.
Del 1 - Oppgave 6aKoordinatgeometri - midtpunkt

Oppgave 6a

Oppgave: Trekanten har hjørnene \(A(3,-2)\), \(B(9,4)\) og \(C(1,4)\). Punktet \(M\) er midtpunktet på \(AC\). Vis ved vektorregning at \(M=(2,1)\).
Vis løsning

Hva spør oppgaven om? Vi skal uttrykke midtpunktet som startpunktet A pluss halvparten av vektoren fra A til C.

Steg 1 - Finn vektoren \(\overrightarrow{AC}\)

\[\overrightarrow{AC}=C-A=[1-3,\ 4-(-2)]=[-2,6].\]

Steg 2 - Halver vektoren

\[\frac12\overrightarrow{AC}=[-1,3].\]

Steg 3 - Gå fra A til midtpunktet

\[\overrightarrow{OM}=\overrightarrow{OA}+\frac12\overrightarrow{AC}.\]

Steg 4 - Sett inn

\[[3,-2]+[-1,3]=[2,1].\]

Steg 5 - Skriv koordinatene

\[M=(2,1).\]

Steg 6 - Kontroller med midtpunktsformelen

\[\left(\frac{3+1}{2},\frac{-2+4}{2}\right)=(2,1).\]

Illustrasjon til Oppgave 6a
Midtpunktet M og midtnormalene i trekanten.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Midpoint[(3,-2),(1,4)]
\((2,1)\)

Tolkning: GeoGebra beregner gjennomsnittet av endepunktenes koordinater.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Matrix([3, -2])
C = sp.Matrix([1, 4])
AC = C - A
half_AC = sp.Rational(1, 2)*AC
M_vector = A + half_AC
M_average = (A + C)/2
print("A =", list(A))
print("C =", list(C))
print("Vector AC =", list(AC))
print("Half of vector AC =", list(half_AC))
print("A + 1/2*AC =", list(M_vector))
print("Coordinate average =", list(M_average))
print("Both methods agree =", M_vector == M_average)
Utskrift fra Python:
A = [3, -2]
C = [1, 4]
Vector AC = [-2, 6]
Half of vector AC = [-1, 3]
A + 1/2*AC = [2, 1]
Coordinate average = [2, 1]
Both methods agree = True

Fasit: \(M=(2,1)\).

Vanlig feil: Å glemme at y-koordinaten til A er negativ når differansen beregnes.
Sensorpunkt: Løsningen skal bruke vektorargumentet eller en korrekt midtpunktsformel.
Del 1 - Oppgave 6bKoordinatgeometri - parameterframstilling

Oppgave 6b

Oppgave: La \(\ell\) være midtnormalen til \(AC\). Forklar at \[\ell:\begin{cases}x=2+3t\\y=1+t\end{cases}\] er en parameterframstilling for \(\ell\).
Vis løsning

Hva spør oppgaven om? Vi må vise at linjen går gjennom midtpunktet M og at retningsvektoren er vinkelrett på AC.

Steg 1 - Les av et punkt på linjen

Når \(t=0\), får vi \((x,y)=(2,1)=M\). Linjen går altså gjennom midtpunktet på \(AC\).

Steg 2 - Les av retningsvektoren

Parameterframstillingen har retningsvektor \(\vec r=[3,1]\).

Steg 3 - Finn \(\overrightarrow{AC}\)

Fra del a har vi \(\overrightarrow{AC}=[-2,6]\).

Steg 4 - Beregn skalarproduktet

\[[-2,6]\cdot[3,1]=-6+6=0.\]

Steg 5 - Tolk skalarproduktet

Skalarprodukt 0 betyr at retningsvektoren er vinkelrett på \(AC\).

Steg 6 - Konkluder

Linjen går gjennom midtpunktet M og står normalt på AC. Derfor er den midtnormalen.

Illustrasjon til Oppgave 6b
Parameterlinjen gjennom M er vinkelrett på AC.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Line[(2,1),(5,2)]
Linje gjennom \((2,1)\) med retning \((3,1)\)
2
Dot[(-2,6),(3,1)]
\(0\)

Tolkning: Punkt- og vinkelretthetskravet er begge oppfylt.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
M = sp.Matrix([2, 1])
AC = sp.Matrix([-2, 6])
direction = sp.Matrix([3, 1])
dot_product = AC.dot(direction)
point_at_t0 = M + 0*direction
point_at_t1 = M + direction
print("Midpoint M =", list(M))
print("Direction vector of the parameter line =", list(direction))
print("Vector AC =", list(AC))
print("AC dot direction =", dot_product)
print("Point at t=0 =", list(point_at_t0))
print("Point at t=1 =", list(point_at_t1))
print("Passes through M =", point_at_t0 == M)
print("Perpendicular to AC =", dot_product == 0)
Utskrift fra Python:
Midpoint M = [2, 1]
Direction vector of the parameter line = [3, 1]
Vector AC = [-2, 6]
AC dot direction = 0
Point at t=0 = [2, 1]
Point at t=1 = [5, 2]
Passes through M = True
Perpendicular to AC = True

Fasit: Parameterframstillingen beskriver midtnormalen fordi den går gjennom \(M=(2,1)\) og har retning \([3,1]\), som er vinkelrett på \(AC\).

Vanlig feil: Å kontrollere bare at linjen er vinkelrett, men ikke at den går gjennom midtpunktet.
Sensorpunkt: Begge definisjonsegenskapene til en midtnormal må begrunnes.
Del 1 - Oppgave 6cParameterframstilling - punkt på linje

Oppgave 6c

Oppgave: Avgjør om punktet \(\left(12,\frac92\right)\) ligger på \(\ell\), der \(x=2+3t\) og \(y=1+t\).
Vis løsning

Hva spør oppgaven om? Et punkt ligger på linjen bare dersom samme parameterverdi gir både x- og y-koordinaten.

Steg 1 - Bruk x-koordinaten

\[12=2+3t\Rightarrow 3t=10\Rightarrow t=\frac{10}{3}.\]

Steg 2 - Beregn y for denne parameteren

\[y=1+\frac{10}{3}=\frac{13}{3}.\]

Steg 3 - Sammenlign

\[\frac{13}{3}\neq\frac92.\]

Steg 4 - Alternativ kontroll med y-koordinaten

Fra \(\frac92=1+t\) får vi \(t=\frac72\).

Steg 5 - Sammenlign parameterverdiene

\(\frac{10}{3}\neq\frac72\), så det finnes ingen felles t-verdi.

Steg 6 - Konkluder

Punktet ligger ikke på \(\ell\).

Illustrasjon til Oppgave 6c
Punktet kan kontrolleres mot parameterlinjen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Substitute[x=12,y=9/2,{x=2+3t,y=1+t}]
Gir henholdsvis \(t=10/3\) og \(t=7/2\)

Tolkning: Ulike parameterverdier betyr at punktet ikke oppfyller begge likningene samtidig.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
point_x = sp.Integer(12)
point_y = sp.Rational(9, 2)
t_from_x = sp.solve(sp.Eq(point_x, 2 + 3*t), t)[0]
t_from_y = sp.solve(sp.Eq(point_y, 1 + t), t)[0]
y_from_x_parameter = 1 + t_from_x
x_from_y_parameter = 2 + 3*t_from_y
print("Point =", (point_x, point_y))
print("t from x equation =", t_from_x)
print("Corresponding y =", y_from_x_parameter)
print("Required y =", point_y)
print("t from y equation =", t_from_y)
print("Corresponding x =", x_from_y_parameter)
print("Required x =", point_x)
print("Same parameter value =", sp.simplify(t_from_x - t_from_y) == 0)
Utskrift fra Python:
Point = (12, 9/2)
t from x equation = 10/3
Corresponding y = 13/3
Required y = 9/2
t from y equation = 7/2
Corresponding x = 25/2
Required x = 12
Same parameter value = False

Fasit: Punktet \(\left(12,\frac92\right)\) ligger ikke på \(\ell\).

Vanlig feil: Å teste x- og y-likningen med forskjellige t-verdier og likevel si at punktet ligger på linjen.
Sensorpunkt: Den samme parameterverdien må tilfredsstille begge koordinatlikningene.
Del 1 - Oppgave 6dKoordinatgeometri - skjæring av midtnormaler

Oppgave 6d

Oppgave: Bestem koordinatene til skjæringspunktet mellom \(\ell\) og midtnormalen til \(AB\).
Vis løsning

Hva spør oppgaven om? Vi lager en parameterframstilling for midtnormalen til AB og løser et ligningssystem.

Steg 1 - Finn midtpunktet på AB

\[N=\left(\frac{3+9}{2},\frac{-2+4}{2}\right)=(6,1).\]

Steg 2 - Finn retningen til AB

\[\overrightarrow{AB}=[9-3,4-(-2)]=[6,6].\]

Steg 3 - Velg en normal retning

Vektoren \([1,-1]\) er vinkelrett på \([6,6]\) fordi \(6-6=0\).

Steg 4 - Parameterframstill midtnormalen

\[m:\ (x,y)=(6,1)+s(1,-1).\]

Steg 5 - Sett linjene like

\[2+3t=6+s,\qquad 1+t=1-s.\]

Steg 6 - Løs systemet

Andre likning gir \(s=-t\). Da blir \(2+3t=6-t\), altså \(t=1\).

Steg 7 - Finn skjæringspunktet

\[(x,y)=(2+3\cdot1,1+1)=(5,2).\]

Steg 8 - Tolk

Skjæringspunktet er trekantens omsenter, siden det ligger på to midtnormaler.

Illustrasjon til Oppgave 6d
De to midtnormalene møtes i omsenteret S=(5,2).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Intersect[Line[(2,1),(5,2)],Line[(6,1),(7,0)]]
\((5,2)\)

Tolkning: GeoGebra finner det felles punktet til de to midtnormalene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t, s = sp.symbols("t s", real=True)
A = sp.Matrix([3, -2])
B = sp.Matrix([9, 4])
N = (A + B)/2
AB = B - A
normal_direction = sp.Matrix([1, -1])
l_point = sp.Matrix([2 + 3*t, 1 + t])
m_point = N + s*normal_direction
solution = sp.solve([sp.Eq(l_point[0], m_point[0]), sp.Eq(l_point[1], m_point[1])], [t, s], dict=True)[0]
intersection = sp.simplify(l_point.subs(t, solution[t]))
print("Midpoint N of AB =", list(N))
print("Vector AB =", list(AB))
print("Chosen normal direction =", list(normal_direction))
print("Dot product AB with normal direction =", AB.dot(normal_direction))
print("Parameter solution =", solution)
print("Intersection point =", list(intersection))
print("Distance to A squared =", sp.expand((intersection-A).dot(intersection-A)))
print("Distance to B squared =", sp.expand((intersection-B).dot(intersection-B)))
print("Distance to C squared =", sp.expand((intersection-sp.Matrix([1,4])).dot(intersection-sp.Matrix([1,4]))))
Utskrift fra Python:
Midpoint N of AB = [6, 1]
Vector AB = [6, 6]
Chosen normal direction = [1, -1]
Dot product AB with normal direction = 0
Parameter solution = {s: -1, t: 1}
Intersection point = [5, 2]
Distance to A squared = 20
Distance to B squared = 20
Distance to C squared = 20

Fasit: Skjæringspunktet er \((5,2)\).

Vanlig feil: Å bruke \([1,1]\) som normalretning til AB; den er parallell med AB.
Sensorpunkt: Midtpunkt, vinkelrett retning og løsning av systemet må alle være korrekte.
Del 1 - Oppgave 7aLogikk - implikasjon

Oppgave 7a

Oppgave: Sett inn \(\Leftarrow\), \(\Rightarrow\) eller \(\Leftrightarrow\): \[x^2=1\quad\Box\quad x=1.\]
Vis løsning

Hva spør oppgaven om? Vi må undersøke hvilken retning av påstanden som alltid er sann.

Steg 1 - Løs venstre utsagn

\[x^2=1\Rightarrow x=1\ \text{eller}\ x=-1.\]

Steg 2 - Test venstre mot høyre

Venstre utsagn medfører ikke nødvendigvis \(x=1\), fordi \(x=-1\) er et moteksempel.

Steg 3 - Test høyre mot venstre

Hvis \(x=1\), er \(x^2=1^2=1\). Denne retningen er alltid sann.

Steg 4 - Velg symbol

Høyre utsagn impliserer venstre utsagn, så boksen skal vise en pil mot venstre.

Steg 5 - Skriv ferdig

\[x^2=1\ \Leftarrow\ x=1.\]

Steg 6 - Forklar hvorfor ikke ekvivalens

Ekvivalens krever at begge retninger er sanne, men \(x=-1\) bryter den ene retningen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[x^2=1,x]
\(x=-1,1\)

Tolkning: Løsningsmengden til venstre er større enn løsningsmengden til høyre.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
left_solutions = sp.solve(sp.Eq(x**2, 1), x)
right_solutions = [sp.Integer(1)]
print("Solutions of x**2 = 1 =", left_solutions)
print("Solutions of x = 1 =", right_solutions)
print("Does x=1 imply x**2=1? =", sp.simplify(1**2) == 1)
print("Counterexample to the opposite direction: x = -1")
print("At x=-1, x**2 =", (-1)**2)
print("At x=-1, x=1 is", -1 == 1)
print("Correct relation: x**2 = 1  <=  x = 1")
Utskrift fra Python:
Solutions of x**2 = 1 = [-1, 1]
Solutions of x = 1 = [1]
Does x=1 imply x**2=1? = True
Counterexample to the opposite direction: x = -1
At x=-1, x**2 = 1
At x=-1, x=1 is False
Correct relation: x**2 = 1  <=  x = 1

Fasit: \(x^2=1\Leftarrow x=1\).

Vanlig feil: Å velge ekvivalens og glemme løsningen \(x=-1\).
Sensorpunkt: Et konkret moteksempel bør brukes for å avvise feil implikasjonsretning.
Del 1 - Oppgave 7bLogikk - funksjon og derivert

Oppgave 7b

Oppgave: Sett inn \(\Leftarrow\), \(\Rightarrow\) eller \(\Leftrightarrow\): \[f(x)=5x^2-1\quad\Box\quad f^{\prime}(x)=10x.\]
Vis løsning

Hva spør oppgaven om? Vi undersøker hva som følger av derivasjon, og hva som tapes når en funksjon deriveres.

Steg 1 - Deriver venstre side

Hvis \(f(x)=5x^2-1\), får vi \[f^{\prime}(x)=10x.\]

Steg 2 - Første implikasjonsretning

Venstre utsagn medfører derfor høyre utsagn.

Steg 3 - Undersøk motsatt retning

Hvis \(f^{\prime}(x)=10x\), kan vi integrere og få \[f(x)=5x^2+C.\]

Steg 4 - Konstanten er ukjent

Den deriverte bestemmer ikke konstanten \(C\). Vi kan for eksempel ha \(f(x)=5x^2+7\).

Steg 5 - Velg symbol

Bare implikasjonen fra venstre mot høyre er alltid sann.

Steg 6 - Skriv ferdig

\[f(x)=5x^2-1\ \Rightarrow\ f^{\prime}(x)=10x.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[5x^2-1,x]
\(10x\)
2
Integral[10x,x]
\(5x^2+C\)

Tolkning: Derivasjon fjerner konstantleddet, så motsatt retning er ikke entydig.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
C = sp.symbols("C", real=True)
f_left = 5*x**2 - 1
derivative = sp.diff(f_left, x)
general_antiderivative = sp.integrate(10*x, x) + C
counterexample = 5*x**2 + 7
print("Given function =", f_left)
print("Derivative of given function =", derivative)
print("General function with derivative 10*x =", general_antiderivative)
print("A counterexample function =", counterexample)
print("Derivative of counterexample =", sp.diff(counterexample, x))
print("Counterexample equals 5*x**2 - 1 =", sp.simplify(counterexample - f_left) == 0)
print("Correct relation: f(x)=5*x**2-1  =>  f'(x)=10*x")
Utskrift fra Python:
Given function = 5*x**2 - 1
Derivative of given function = 10*x
General function with derivative 10*x = C + 5*x**2
A counterexample function = 5*x**2 + 7
Derivative of counterexample = 10*x
Counterexample equals 5*x**2 - 1 = False
Correct relation: f(x)=5*x**2-1  =>  f'(x)=10*x

Fasit: \(f(x)=5x^2-1\Rightarrow f^{\prime}(x)=10x\).

Vanlig feil: Å tro at en derivert bestemmer konstantleddet i den opprinnelige funksjonen.
Sensorpunkt: Motsatt retning skal avvises ved å vise den vilkårlige konstanten.
Del 1 - Oppgave 8Tangenter - gjennom origo

Oppgave 8

Oppgave: Funksjonen er \(f(x)=e^{1-x}\). Grafen har en tangent som går gjennom origo. Bestem likningen for tangenten.
Vis løsning

Hva spør oppgaven om? Vi lar \(x=a\) være berøringspunktets x-koordinat og bruker at tangentlinjen går gjennom \((0,0)\).

Steg 1 - Deriver funksjonen

\[f^{\prime}(x)=-e^{1-x}.\]

Steg 2 - Skriv punkt og stigningstall ved \(x=a\)

Berøringspunktet er \((a,e^{1-a})\), og stigningstallet er \(-e^{1-a}\).

Steg 3 - Skriv tangentlikningen

\[y-e^{1-a}=-e^{1-a}(x-a).\]

Steg 4 - Forenkle

\[y=e^{1-a}(1+a-x).\]

Steg 5 - Bruk at tangenten går gjennom origo

Sett \(x=0\) og \(y=0\): \[0=e^{1-a}(1+a).\]

Steg 6 - Løs for a

Eksponentialfaktoren er alltid positiv, så \(1+a=0\), altså \(a=-1\).

Steg 7 - Finn tangentens stigningstall

\[f^{\prime}(-1)=-e^{1-(-1)}=-e^2.\]

Steg 8 - Skriv likningen

Linjen går gjennom origo, så \[y=-e^2x.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Tangent[-1,exp(1-x)]
\(y=-e^2x\)

Tolkning: Tangenten i \(x=-1\) passerer gjennom origo.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, a = sp.symbols("x a", real=True)
f = sp.exp(1 - x)
f_prime = sp.diff(f, x)
f_a = f.subs(x, a)
slope_a = f_prime.subs(x, a)
tangent = sp.expand(f_a + slope_a*(x - a))
condition_at_origin = sp.simplify(tangent.subs(x, 0))
a_solution = sp.solve(sp.Eq(condition_at_origin, 0), a)
chosen_a = a_solution[0]
final_tangent = sp.simplify(tangent.subs(a, chosen_a))
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Tangent at x=a =", tangent)
print("Tangent value at x=0 =", condition_at_origin)
print("Solution for a =", a_solution)
print("Point of tangency =", (chosen_a, sp.simplify(f.subs(x, chosen_a))))
print("Slope at tangency =", sp.simplify(f_prime.subs(x, chosen_a)))
print("Final tangent y =", final_tangent)
print("Check at origin =", final_tangent.subs(x, 0))
Utskrift fra Python:
f(x) = exp(1 - x)
f'(x) = -exp(1 - x)
Tangent at x=a = E*a*exp(-a) - E*x*exp(-a) + E*exp(-a)
Tangent value at x=0 = (a + 1)*exp(1 - a)
Solution for a = [-1]
Point of tangency = (-1, exp(2))
Slope at tangency = -exp(2)
Final tangent y = -x*exp(2)
Check at origin = 0

Fasit: Tangentens likning er \(y=-e^2x\).

Vanlig feil: Å sette tangentens stigningstall lik funksjonsverdien uten å bruke punkt-stigning-formen.
Sensorpunkt: Berøringspunktet må bestemmes fra kravet om at tangenten går gjennom origo.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aSannsynlighet - konstant sannsynlighet

Oppgave 1a

Oppgave: Jakob har 20 sanger, og 4 av dem er med Kygo. Avspilling skjer tilfeldig med tilbakelegging. Forklar at sannsynligheten alltid er \(p=0{,}2\) for at neste sang er med Kygo.
Vis løsning

Hva spør oppgaven om? Vi skal bruke forholdet mellom gunstige og mulige sanger og forklare betydningen av tilbakelegging.

Steg 1 - Tell gunstige utfall

Det finnes 4 Kygo-sanger.

Steg 2 - Tell mulige utfall

Det finnes totalt 20 sanger på spillelisten.

Steg 3 - Beregn sannsynligheten

\[p=\frac{4}{20}=\frac15=0{,}2.\]

Steg 4 - Bruk tilbakeleggingen

Etter hver avspilling er alle de 20 sangene fortsatt mulige ved neste trekning.

Steg 5 - Konstater uavhengighet

Hvilken sang som ble spilt sist, endrer derfor ikke sannsynligheten ved neste avspilling.

Steg 6 - Konkluder

Sannsynligheten er alltid \(0{,}2\) for hver avspilling.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
4/20
\(0.2\)

Tolkning: Forholdet mellom Kygo-sanger og alle sanger er 0,2 ved hver trekning.

Python-kontroll med SymPy

Python 3 - SymPy
from fractions import Fraction
total_songs = 20
kygo_songs = 4
probability_fraction = Fraction(kygo_songs, total_songs)
probability_decimal = kygo_songs / total_songs
print("Total number of songs =", total_songs)
print("Number of Kygo songs =", kygo_songs)
print("Probability as a fraction =", probability_fraction)
print("Probability as a decimal =", probability_decimal)
print("Sampling method = with replacement")
print("The playlist composition after each play remains 4 of 20")
print("Probability on every play =", probability_decimal)
Utskrift fra Python:
Total number of songs = 20
Number of Kygo songs = 4
Probability as a fraction = 1/5
Probability as a decimal = 0.2
Sampling method = with replacement
The playlist composition after each play remains 4 of 20
Probability on every play = 0.2

Fasit: \(p=4/20=0{,}2\) ved hver avspilling.

Vanlig feil: Å redusere antall mulige sanger etter en avspilling, selv om det er tilbakelegging.
Sensorpunkt: Forklaringen må knytte den konstante sannsynligheten til tilbakelegging.
Del 2 - Oppgave 1bBinomisk sannsynlighet

Oppgave 1b

Oppgave: Jakob hører på fem avspillinger. Bestem sannsynligheten for at nøyaktig to av sangene er med Kygo.
Vis løsning

Hva spør oppgaven om? Antall Kygo-sanger i fem uavhengige avspillinger er binomisk fordelt med \(n=5\) og \(p=0{,}2\).

Steg 1 - Definer hendelsen

Vi vil ha nøyaktig \(k=2\) treff i \(n=5\) forsøk.

Steg 2 - Skriv binomisk formel

\[P(X=k)=\binom nk p^k(1-p)^{n-k}.\]

Steg 3 - Sett inn

\[P(X=2)=\binom52(0{,}2)^2(0{,}8)^3.\]

Steg 4 - Beregn binomialkoeffisienten

\[\binom52=10.\]

Steg 5 - Beregn potensene

\[(0{,}2)^2=0{,}04,\qquad(0{,}8)^3=0{,}512.\]

Steg 6 - Multipliser

\[10\cdot0{,}04\cdot0{,}512=0{,}2048.\]

Steg 7 - Tolk

Sannsynligheten er omtrent \(20{,}48\%\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
BinomialDist[5,0.2,2]
\(0.2048\)

Tolkning: GeoGebra gir punkt-sannsynligheten for nøyaktig to treff.

Python-kontroll med SymPy

Python 3 - SymPy
import math
n = 5
k = 2
p = 0.2
q = 1 - p
combinations = math.comb(n, k)
power_success = p**k
power_failure = q**(n-k)
probability = combinations*power_success*power_failure
print("n =", n)
print("k =", k)
print("p =", p)
print("q =", q)
print("C(5,2) =", combinations)
print("p**2 =", power_success)
print("q**3 =", power_failure)
print("P(X=2) =", probability)
print("Percentage =", 100*probability)
Utskrift fra Python:
n = 5
k = 2
p = 0.2
q = 0.8
C(5,2) = 10
p**2 = 0.04000000000000001
q**3 = 0.5120000000000001
P(X=2) = 0.2048000000000001
Percentage = 20.48000000000001

Fasit: \(P(X=2)=0{,}2048\approx20{,}48\%\).

Vanlig feil: Å glemme binomialkoeffisienten, som teller plasseringene av de to treffene.
Sensorpunkt: Verdiene \(n=5\), \(k=2\) og \(p=0{,}2\) må identifiseres korrekt.
Del 2 - Oppgave 1cKomplementær sannsynlighet og logaritmer

Oppgave 1c

Oppgave: Hvor mange avspillinger må Jakob høre på for at sannsynligheten for minst én Kygo-sang skal være større enn \(90\%\)?
Vis løsning

Hva spør oppgaven om? Det er enklest å bruke komplementet: ingen Kygo-sanger.

Steg 1 - Skriv komplementet

Sannsynligheten for ingen Kygo-sang i \(n\) avspillinger er \((0{,}8)^n\).

Steg 2 - Skriv ønsket sannsynlighet

\[P(X\ge1)=1-(0{,}8)^n.\]

Steg 3 - Sett opp ulikheten

\[1-(0{,}8)^n>0{,}90.\]

Steg 4 - Isoler potensen

\[(0{,}8)^n<0{,}10.\]

Steg 5 - Ta logaritmen

\[n\ln(0{,}8)<\ln(0{,}1).\]

Steg 6 - Del på et negativt tall

Siden \(\ln(0{,}8)<0\), snur ulikhetstegnet: \[n>\frac{\ln(0{,}1)}{\ln(0{,}8)}\approx10{,}319.\]

Steg 7 - Velg minste heltall

Det minste heltallet som oppfyller kravet er \(n=11\).

Steg 8 - Kontroller

For \(n=10\) er sannsynligheten ca. \(0{,}8926\), mens den for \(n=11\) er ca. \(0{,}9141\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[1-0.8^n>0.9,n]
\(n>10.3189\)

Tolkning: Siden n må være et helt antall avspillinger, velges n=11.

Python-kontroll med SymPy

Python 3 - SymPy
import math
threshold = math.log(0.1) / math.log(0.8)
minimum_n = math.floor(threshold) + 1
probability_n_minus_1 = 1 - 0.8**(minimum_n - 1)
probability_n = 1 - 0.8**minimum_n
print("Solve 1 - 0.8**n > 0.9")
print("Equivalent inequality: 0.8**n < 0.1")
print("log(0.1) =", math.log(0.1))
print("log(0.8) =", math.log(0.8))
print("Threshold n >", threshold)
print("Smallest integer n =", minimum_n)
print("Probability for n=10 =", probability_n_minus_1)
print("Probability for n=11 =", probability_n)
print("n=11 satisfies the strict inequality =", probability_n > 0.9)
Utskrift fra Python:
Solve 1 - 0.8**n > 0.9
Equivalent inequality: 0.8**n < 0.1
log(0.1) = -2.3025850929940455
log(0.8) = -0.2231435513142097
Threshold n > 10.318851158516171
Smallest integer n = 11
Probability for n=10 = 0.8926258175999999
Probability for n=11 = 0.91410065408
n=11 satisfies the strict inequality = True

Fasit: Jakob må høre på minst \(11\) avspillinger.

Vanlig feil: Å glemme å snu ulikhetstegnet når man deler på \(\ln(0{,}8)<0\).
Sensorpunkt: Både 10 og 11 bør kontrolleres fordi kravet er strengt større enn 90 %.
Del 2 - Oppgave 2aVektorer - lengder og vinkel

Oppgave 2a

Oppgave: Trekanten har hjørnene \(A(3,5)\), \(B(6,5)\) og \(C(7,9)\). Bestem \(AB\), \(AC\) og bruk vektorregning til å bestemme \(\angle BAC\).
Vis løsning

Hva spør oppgaven om? Vi finner vektorene fra A, beregner lengdene og bruker skalarproduktformelen for vinkelen.

Steg 1 - Finn \(\overrightarrow{AB}\)

\[\overrightarrow{AB}=[6-3,5-5]=[3,0].\]

Steg 2 - Finn \(\overrightarrow{AC}\)

\[\overrightarrow{AC}=[7-3,9-5]=[4,4].\]

Steg 3 - Finn lengden AB

\[AB=\sqrt{3^2+0^2}=3.\]

Steg 4 - Finn lengden AC

\[AC=\sqrt{4^2+4^2}=\sqrt{32}=4\sqrt2.\]

Steg 5 - Finn skalarproduktet

\[\overrightarrow{AB}\cdot\overrightarrow{AC}=3\cdot4+0\cdot4=12.\]

Steg 6 - Bruk vinkelformelen

\[\cos\theta=\frac{12}{3\cdot4\sqrt2}=\frac1{\sqrt2}.\]

Steg 7 - Finn vinkelen

\[\theta=45^{\circ}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Distance[(3,5),(6,5)]
\(3\)
2
Distance[(3,5),(7,9)]
\(4\sqrt2\)
3
Angle[(6,5),(3,5),(7,9)]
\(45^{\circ}\)

Tolkning: GeoGebra bekrefter begge lengdene og vinkelen ved A.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
AB = sp.Matrix([6-3, 5-5])
AC = sp.Matrix([7-3, 9-5])
length_AB = sp.sqrt(AB.dot(AB))
length_AC = sp.sqrt(AC.dot(AC))
dot_product = AB.dot(AC)
cos_angle = sp.simplify(dot_product/(length_AB*length_AC))
angle_radians = sp.acos(cos_angle)
angle_degrees = sp.simplify(angle_radians*180/sp.pi)
print("Vector AB =", list(AB))
print("Vector AC =", list(AC))
print("Length AB =", length_AB)
print("Length AC =", length_AC)
print("Dot product AB dot AC =", dot_product)
print("cos(angle BAC) =", cos_angle)
print("Angle in radians =", angle_radians)
print("Angle in degrees =", angle_degrees)
Utskrift fra Python:
Vector AB = [3, 0]
Vector AC = [4, 4]
Length AB = 3
Length AC = 4*sqrt(2)
Dot product AB dot AC = 12
cos(angle BAC) = sqrt(2)/2
Angle in radians = pi/4
Angle in degrees = 45

Fasit: \(AB=3\), \(AC=4\sqrt2\) og \(\angle BAC=45^{\circ}\).

Vanlig feil: Å bruke vektorene i motsatt retning slik at vinkelen blir feil.
Sensorpunkt: Begge vektorene skal ha startpunkt A før skalarproduktet brukes.
Del 2 - Oppgave 2bVektorer - tyngdepunkt

Oppgave 2b

Oppgave: Bestem koordinatene til tyngdepunktet \(T\) i trekanten med \(A(3,5)\), \(B(6,5)\) og \(C(7,9)\).
Vis løsning

Hva spør oppgaven om? Tyngdepunktets posisjonsvektor er gjennomsnittet av de tre hjørnenes posisjonsvektorer.

Steg 1 - Skriv formelen

\[\overrightarrow{OT}=\frac13(\overrightarrow{OA}+\overrightarrow{OB}+\overrightarrow{OC}).\]

Steg 2 - Summer x-koordinatene

\[3+6+7=16.\]

Steg 3 - Summer y-koordinatene

\[5+5+9=19.\]

Steg 4 - Del med 3

\[\overrightarrow{OT}=\left[\frac{16}{3},\frac{19}{3}\right].\]

Steg 5 - Skriv punktet

\[T=\left(\frac{16}{3},\frac{19}{3}\right).\]

Steg 6 - Desimalkontroll

Omtrent \((5{,}33,6{,}33)\), som ligger inne i trekanten.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Centroid[Polygon[(3,5),(6,5),(7,9)]]
\(\left(16/3,19/3\right)\)

Tolkning: Tyngdepunktet er koordinatgjennomsnittet av hjørnene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Matrix([3, 5])
B = sp.Matrix([6, 5])
C = sp.Matrix([7, 9])
sum_vector = A + B + C
T = sum_vector/3
print("A =", list(A))
print("B =", list(B))
print("C =", list(C))
print("A + B + C =", list(sum_vector))
print("Tyngdepunkt T =", list(T))
print("T as decimals =", [sp.N(value, 8) for value in T])
print("Average x-coordinate =", sp.Rational(3+6+7, 3))
print("Average y-coordinate =", sp.Rational(5+5+9, 3))
Utskrift fra Python:
A = [3, 5]
B = [6, 5]
C = [7, 9]
A + B + C = [16, 19]
Tyngdepunkt T = [16/3, 19/3]
T as decimals = [5.3333333, 6.3333333]
Average x-coordinate = 16/3
Average y-coordinate = 19/3

Fasit: \(T=\left(\frac{16}{3},\frac{19}{3}\right)\).

Vanlig feil: Å finne midtpunktet av bare to av hjørnene.
Sensorpunkt: Alle tre posisjonsvektorene må summeres før det deles på 3.
Del 2 - Oppgave 2cVektorer - ukjent hjørne fra tyngdepunkt

Oppgave 2c

Oppgave: I trekanten \(DEF\) er \(D(2,3)\), \(E(-3,5)\) og tyngdepunktet \(S(4,2)\). Bestem koordinatene til \(F\).
Vis løsning

Hva spør oppgaven om? Vi bruker tyngdepunktsformelen baklengs og løser for den ukjente posisjonsvektoren.

Steg 1 - Skriv tyngdepunktsformelen

\[\overrightarrow{OS}=\frac13(\overrightarrow{OD}+\overrightarrow{OE}+\overrightarrow{OF}).\]

Steg 2 - Multipliser med 3

\[3\overrightarrow{OS}=\overrightarrow{OD}+\overrightarrow{OE}+\overrightarrow{OF}.\]

Steg 3 - Isoler \(\overrightarrow{OF}\)

\[\overrightarrow{OF}=3\overrightarrow{OS}-\overrightarrow{OD}-\overrightarrow{OE}.\]

Steg 4 - Sett inn vektorene

\[\overrightarrow{OF}=3[4,2]-[2,3]-[-3,5].\]

Steg 5 - Regn ut

\[[12,6]-[2,3]-[-3,5]=[13,-2].\]

Steg 6 - Kontroller

Gjennomsnittet av \((2,3)\), \((-3,5)\) og \((13,-2)\) er \((4,2)\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
3(4,2)-(2,3)-(-3,5)
\((13,-2)\)

Tolkning: Den ukjente posisjonsvektoren isoleres direkte.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
D = sp.Matrix([2, 3])
E = sp.Matrix([-3, 5])
S = sp.Matrix([4, 2])
three_S = 3*S
F = three_S - D - E
centroid_check = (D + E + F)/3
print("D =", list(D))
print("E =", list(E))
print("S =", list(S))
print("3*S =", list(three_S))
print("F = 3*S - D - E =", list(F))
print("Centroid check =", list(centroid_check))
print("Check equals S =", centroid_check == S)
print("F coordinates =", (F[0], F[1]))
Utskrift fra Python:
D = [2, 3]
E = [-3, 5]
S = [4, 2]
3*S = [12, 6]
F = 3*S - D - E = [13, -2]
Centroid check = [4, 2]
Check equals S = True
F coordinates = (13, -2)

Fasit: \(F=(13,-2)\).

Vanlig feil: Å bruke \(D+E-S\) i stedet for å multiplisere tyngdepunktet med 3.
Sensorpunkt: Den isolerte vektorlikningen må være korrekt før koordinatene beregnes.
Del 2 - Oppgave 3aGraftegning - logaritmefunksjon

Oppgave 3a

Oppgave: Funksjonen er \[f(x)=2\ln(x^2+4)-\frac{1}{2}x.\] Bruk graftegner til å tegne grafen når \(x\in[-4,16]\).
Vis løsning

Hva spør oppgaven om? Vi skal angi korrekt inntasting, vindu og sentrale trekk som gjør grafen etterprøvbar.

Steg 1 - Kontroller definisjonsmengden

Siden \(x^2+4>0\) for alle reelle \(x\), er funksjonen definert på hele intervallet.

Steg 2 - Skriv grafkommandoen

I GeoGebra kan vi skrive \(f(x)=2\ln(x^2+4)-x/2\).

Steg 3 - Begrens intervallet

Vis grafen for \(-4\le x\le16\), for eksempel med kommandoen Funksjon.

Steg 4 - Velg et passende vindu

Et vindu omtrent \(x\in[-4,16]\) og \(y\in[0,8]\) viser utviklingen tydelig.

Steg 5 - Kontroller noen verdier

\[f(-4)\approx7{,}991,\quad f(0)=2\ln4\approx2{,}773,\quad f(16)\approx3{,}113.\]

Steg 6 - Beskriv formen

Grafen avtar først, får et lokalt bunnpunkt, vokser til et lokalt toppunkt og avtar deretter.

Steg 7 - Bruk figuren

Den innebygde figuren viser grafen og markerer de to stasjonære punktene som bestemmes i del b.

Illustrasjon til Oppgave 3a
Grafen til f på intervallet [-4,16].

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
f(x)=2 ln(x^2+4)-x/2
Funksjonen registreres
2
Function[f,-4,16]
Graf på det lukkede intervallet

Tolkning: Grafvinduet viser hele intervallet og begge stasjonære punkt.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = 2*sp.log(x**2 + 4) - x/2
sample_points = [-4, 0, 4, 8, 16]
print("f(x) =", f)
print("Domain check: x**2 + 4 is always positive for real x")
print("Plot interval = [-4, 16]")
for value in sample_points:
    exact = sp.simplify(f.subs(x, value))
    decimal = sp.N(exact, 10)
    print("x =", value, "exact f(x) =", exact, "decimal =", decimal)
f_prime = sp.simplify(sp.diff(f, x))
print("f'(x) =", f_prime)
print("Stationary x-values =", sp.solve(sp.Eq(f_prime, 0), x))
Utskrift fra Python:
f(x) = -x/2 + 2*log(x**2 + 4)
Domain check: x**2 + 4 is always positive for real x
Plot interval = [-4, 16]
x = -4 exact f(x) = 2 + 2*log(20) decimal = 7.991464547
x = 0 exact f(x) = log(16) decimal = 2.772588722
x = 4 exact f(x) = -2 + 2*log(20) decimal = 3.991464547
x = 8 exact f(x) = -4 + 2*log(68) decimal = 4.439015410
x = 16 exact f(x) = -8 + 2*log(260) decimal = 3.121363262
f'(x) = (-x**2 + 8*x - 4)/(2*(x**2 + 4))
Stationary x-values = [4 - 2*sqrt(3), 2*sqrt(3) + 4]

Fasit: Grafen til \(f\) på \([-4,16]\) er vist i figuren, med et lokalt bunnpunkt nær \(x=0{,}536\) og et lokalt toppunkt nær \(x=7{,}464\).

Vanlig feil: Å skrive \(\ln(x)^2+4\) i stedet for \(\ln(x^2+4)\).
Sensorpunkt: Grafen må tegnes på riktig intervall med korrekt parentesbruk.
Del 2 - Oppgave 3bDerivasjon - topp- og bunnpunkt

Oppgave 3b

Oppgave: Bestem eventuelle topp- og bunnpunkt på grafen til \(f(x)=2\ln(x^2+4)-\frac{1}{2}x\).
Vis løsning

Hva spør oppgaven om? Vi finner nullpunktene til den deriverte og undersøker fortegnsskiftet.

Steg 1 - Deriver logaritmeleddet

\[\frac{d}{dx}\bigl(2\ln(x^2+4)\bigr)=2\cdot\frac{2x}{x^2+4}=\frac{4x}{x^2+4}.\]

Steg 2 - Skriv den deriverte

\[f^{\prime}(x)=\frac{4x}{x^2+4}-\frac12.\]

Steg 3 - Samle i én brøk

\[f^{\prime}(x)=\frac{-x^2+8x-4}{2(x^2+4)}.\]

Steg 4 - Finn stasjonære x-verdier

Nevneren er positiv, så vi løser \(-x^2+8x-4=0\): \[x=4\pm2\sqrt3.\]

Steg 5 - Bestem fortegnsskiftet

Den deriverte er negativ før \(4-2\sqrt3\), positiv mellom røttene og negativ etter \(4+2\sqrt3\).

Steg 6 - Klassifiser

Dermed er \(x=4-2\sqrt3\) et bunnpunkt og \(x=4+2\sqrt3\) et toppunkt.

Steg 7 - Finn y-verdiene

\[f(4-2\sqrt3)\approx2{,}643,\qquad f(4+2\sqrt3)\approx4{,}447.\]

Steg 8 - Skriv punktene

Bunnpunktet er omtrent \((0{,}536,2{,}643)\), og toppunktet er omtrent \((7{,}464,4{,}447)\).

Illustrasjon til Oppgave 3b
Grafen viser bunn- og toppunktet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[2 ln(x^2+4)-x/2,x]
\(\frac{4x}{x^2+4}-\frac12\)
2
Extremum[2 ln(x^2+4)-x/2]
\((0.5359,2.6433),(7.4641,4.4470)\)

Tolkning: Fortegnsskiftet gir først lokalt minimum og deretter lokalt maksimum.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = 2*sp.log(x**2 + 4) - x/2
f_prime = sp.factor(sp.diff(f, x))
stationary = sp.solve(sp.Eq(f_prime, 0), x)
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Stationary x-values =", stationary)
for value in stationary:
    y_value = sp.simplify(f.subs(x, value))
    second_derivative = sp.simplify(sp.diff(f, x, 2).subs(x, value))
    classification = "minimum" if second_derivative > 0 else "maximum"
    print("x =", value)
    print("  y exact =", y_value)
    print("  y decimal =", sp.N(y_value, 12))
    print("  f''(x) =", sp.N(second_derivative, 12))
    print("  classification =", classification)
Utskrift fra Python:
f(x) = -x/2 + 2*log(x**2 + 4)
f'(x) = -(x**2 - 8*x + 4)/(2*(x**2 + 4))
Stationary x-values = [4 - 2*sqrt(3), 2*sqrt(3) + 4]
x = 4 - 2*sqrt(3)
  y exact = -2 + sqrt(3) + log(256*(2 - sqrt(3))**2)
  y decimal = 2.64331245820
  f''(x) = 0.808012701892
  classification = minimum
x = 2*sqrt(3) + 4
  y exact = -2 - sqrt(3) + log(256*(sqrt(3) + 2)**2)
  y decimal = 4.44704243076
  f''(x) = -0.0580127018922
  classification = maximum

Fasit: Bunnpunkt: \(\bigl(4-2\sqrt3,\,f(4-2\sqrt3)\bigr)\approx(0{,}536,2{,}643)\). Toppunkt: \(\bigl(4+2\sqrt3,\,f(4+2\sqrt3)\bigr)\approx(7{,}464,4{,}447)\).

Vanlig feil: Å klassifisere punktene uten å kontrollere fortegn eller andrederivert.
Sensorpunkt: Eksakte x-verdier og tilstrekkelig presise y-verdier bør oppgis.
Del 2 - Oppgave 3cParameter og ekstremalpunkt

Oppgave 3c

Oppgave: Funksjonen er \[g(x)=2\ln(x^2+k)-\frac{1}{2}x,\qquad k>0.\] Bestem \(k\) slik at \(g\) har et ekstremalpunkt i \(x=1\).
Vis løsning

Hva spør oppgaven om? Et nødvendig vilkår for ekstremalpunkt i et indre punkt er at den deriverte er null.

Steg 1 - Deriver g

\[g^{\prime}(x)=\frac{4x}{x^2+k}-\frac12.\]

Steg 2 - Bruk \(x=1\)

\[g^{\prime}(1)=\frac{4}{1+k}-\frac12.\]

Steg 3 - Sett den deriverte lik null

\[\frac{4}{1+k}-\frac12=0.\]

Steg 4 - Løs likningen

\[\frac4{1+k}=\frac12\Rightarrow8=1+k\Rightarrow k=7.\]

Steg 5 - Kontroller parameterkravet

\(k=7>0\), så funksjonen er definert for alle reelle x.

Steg 6 - Kontroller at punktet er et ekstremalpunkt

For \(k=7\) har likningen \(g^{\prime}(x)=0\) røttene \(x=1\) og \(x=7\). Ved \(x=1\) skifter den deriverte fra negativ til positiv, så punktet er et lokalt minimum.

Illustrasjon til Oppgave 3c
Tilfellet k=7 har to ekstremalpunkt, blant annet ved x=1.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Substitute[Derivative[2 ln(x^2+k)-x/2,x],x,1]=0,k]
\(k=7\)

Tolkning: CAS finner parameteren og fortegnskontrollen viser at x=1 er et minimum.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, k = sp.symbols("x k", real=True)
g = 2*sp.log(x**2 + k) - x/2
g_prime = sp.simplify(sp.diff(g, x))
condition = sp.simplify(g_prime.subs(x, 1))
k_solution = sp.solve(sp.Eq(condition, 0), k)
chosen_k = k_solution[0]
critical_for_k = sp.solve(sp.Eq(g_prime.subs(k, chosen_k), 0), x)
print("g(x) =", g)
print("g'(x) =", g_prime)
print("g'(1) =", condition)
print("Solution for k =", k_solution)
print("k > 0 check =", chosen_k > 0)
print("Critical x-values when k=7 =", critical_for_k)
print("Derivative at x=0 =", sp.N(g_prime.subs({k: chosen_k, x: 0})))
print("Derivative at x=2 =", sp.N(g_prime.subs({k: chosen_k, x: 2})))
print("Therefore x=1 changes from decreasing to increasing")
Utskrift fra Python:
g(x) = -x/2 + 2*log(k + x**2)
g'(x) = (-k - x**2 + 8*x)/(2*(k + x**2))
g'(1) = (7 - k)/(2*(k + 1))
Solution for k = [7]
k > 0 check = True
Critical x-values when k=7 = [1, 7]
Derivative at x=0 = -0.500000000000000
Derivative at x=2 = 0.227272727272727
Therefore x=1 changes from decreasing to increasing

Fasit: \(k=7\). Da er \(x=1\) et lokalt bunnpunkt.

Vanlig feil: Å bare løse \(g(1)=0\); ekstremalpunkt bestemmes av den deriverte, ikke funksjonsverdien.
Sensorpunkt: Det må minst vises at \(g^{\prime}(1)=0\), og helst at punktet faktisk er et ekstremalpunkt.
Del 2 - Oppgave 3dParameterdrøfting - antall ekstremalpunkt

Oppgave 3d

Oppgave: Bestem hvor mange ekstremalpunkt \(g(x)=2\ln(x^2+k)-\frac{1}{2}x\) har for ulike verdier av \(k>0\).
Vis løsning

Hva spør oppgaven om? Vi analyserer antall og type nullpunkter til den deriverte.

Steg 1 - Sett den deriverte lik null

\[\frac{4x}{x^2+k}-\frac12=0.\]

Steg 2 - Fjern nevneren

Siden \(x^2+k>0\), kan vi multiplisere uten å endre løsningene: \[8x=x^2+k.\]

Steg 3 - Skriv andregradslikningen

\[x^2-8x+k=0.\]

Steg 4 - Finn diskriminanten

\[\Delta=(-8)^2-4k=64-4k=4(16-k).\]

Steg 5 - Tilfelle \(0<k<16\)

Da er \(\Delta>0\), og vi får to ulike røtter \(x=4\pm\sqrt{16-k}\). Den deriverte skifter fortegn ved begge, så g har to ekstremalpunkt.

Steg 6 - Tilfelle \(k=16\)

Da får vi dobbeltroten \(x=4\). Den deriverte kan skrives \(-\frac{(x-4)^2}{2(x^2+16)}\le0\) og skifter ikke fortegn. Punktet er ikke et ekstremalpunkt.

Steg 7 - Tilfelle \(k>16\)

Da er \(\Delta<0\), så den deriverte har ingen nullpunkter og g er strengt avtakende.

Steg 8 - Samle resultatet

\[\begin{cases}2\text{ ekstremalpunkt},&0<k<16,\\0\text{ ekstremalpunkt},&k\ge16.\end{cases}\]

Illustrasjon til Oppgave 3d
Tre representative parameterverdier viser de ulike tilfellene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[x^2-8x+k=0,x]
\(x=4\pm\sqrt{16-k}\)
2
Discriminant[x^2-8x+k,x]
\(64-4k\)

Tolkning: Diskriminanten bestemmer antallet stasjonære punkt; ved k=16 er det ikke fortegnsskifte.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, k = sp.symbols("x k", real=True, positive=True)
g_prime_numerator = -x**2 + 8*x - k
discriminant = sp.discriminant(x**2 - 8*x + k, x)
roots = sp.solve(sp.Eq(x**2 - 8*x + k, 0), x)
print("Equation for stationary points: x**2 - 8*x + k = 0")
print("Discriminant =", discriminant)
print("Formal roots =", roots)
print("For 0 < k < 16: discriminant > 0, so there are two distinct roots")
print("Example k=7 roots =", sp.solve(sp.Eq(x**2 - 8*x + 7, 0), x))
print("For k=16: factored numerator =", sp.factor(g_prime_numerator.subs(k, 16)))
print("At k=16 the derivative is non-positive on both sides of x=4")
print("For k>16: discriminant < 0, so there are no stationary points")
print("Conclusion: 2 extrema for 0<k<16 and 0 extrema for k>=16")
Utskrift fra Python:
Equation for stationary points: x**2 - 8*x + k = 0
Discriminant = 64 - 4*k
Formal roots = [4 - sqrt(16 - k), sqrt(16 - k) + 4]
For 0 < k < 16: discriminant > 0, so there are two distinct roots
Example k=7 roots = [1, 7]
For k=16: factored numerator = -(x - 4)**2
At k=16 the derivative is non-positive on both sides of x=4
For k>16: discriminant < 0, so there are no stationary points
Conclusion: 2 extrema for 0<k<16 and 0 extrema for k>=16

Fasit: For \(0<k<16\) har g to ekstremalpunkt. For \(k=16\) og \(k>16\) har g ingen ekstremalpunkt.

Vanlig feil: Å telle dobbeltroten ved \(k=16\) som et ekstremalpunkt uten å kontrollere fortegnsskifte.
Sensorpunkt: Skillet mellom stasjonært punkt og ekstremalpunkt er avgjørende ved \(k=16\).
Del 2 - Oppgave 4aVektorer - fartsvektor og banefart

Oppgave 4a

Oppgave: Skipets posisjon t timer etter meldingen er gitt ved \[\overrightarrow{OP}(t)=[80+4t,16+3t].\] Hvilken fartsvektor driver skipet med, og hvor stor er banefarten?
Vis løsning

Hva spør oppgaven om? Fartsvektoren er den deriverte av posisjonsvektoren med hensyn på tiden.

Steg 1 - Deriver x-komponenten

\[\frac{d}{dt}(80+4t)=4.\]

Steg 2 - Deriver y-komponenten

\[\frac{d}{dt}(16+3t)=3.\]

Steg 3 - Skriv fartsvektoren

\[\vec v=[4,3]\ \text{nm/h}.\]

Steg 4 - Bruk lengdeformelen

Banefarten er lengden av fartsvektoren: \[|\vec v|=\sqrt{4^2+3^2}.\]

Steg 5 - Beregn

\[|\vec v|=\sqrt{16+9}=5\ \text{nm/h}.\]

Steg 6 - Eventuell omregning

\(5\) nautiske mil per time tilsvarer \(5\cdot1852=9260\) meter per time, altså omtrent \(2{,}57\) m/s.

Illustrasjon til Oppgave 4a
Skipets drift og redningsbåtenes ruter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[(80+4t,16+3t),t]
\((4,3)\)
2
Length[(4,3)]
\(5\)

Tolkning: Den konstante fartsvektoren har lengde 5 nm/h.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
position = sp.Matrix([80 + 4*t, 16 + 3*t])
velocity = position.diff(t)
speed = sp.sqrt(velocity.dot(velocity))
meters_per_hour = speed*1852
meters_per_second = sp.N(meters_per_hour/3600, 10)
print("Position vector OP(t) =", list(position))
print("Derivative of x-component =", sp.diff(position[0], t))
print("Derivative of y-component =", sp.diff(position[1], t))
print("Velocity vector v =", list(velocity), "nm/h")
print("Speed squared =", velocity.dot(velocity))
print("Speed =", speed, "nm/h")
print("Speed =", meters_per_hour, "m/h")
print("Speed in m/s =", meters_per_second)
Utskrift fra Python:
Position vector OP(t) = [4*t + 80, 3*t + 16]
Derivative of x-component = 4
Derivative of y-component = 3
Velocity vector v = [4, 3] nm/h
Speed squared = 25
Speed = 5 nm/h
Speed = 9260 m/h
Speed in m/s = 2.572222222

Fasit: Fartsvektoren er \([4,3]\) nm/h, og banefarten er \(5\) nm/h.

Vanlig feil: Å oppgi koordinatene \([80+4t,16+3t]\) som fartsvektor.
Sensorpunkt: Fartsvektoren skal deriveres fra posisjonen, og banefarten er vektorlengden.
Del 2 - Oppgave 4bBevegelse - gjennomsnittsfart mot møtepunkt

Oppgave 4b

Oppgave: En redningsbåt ligger i origo og kan være ved Euler om 4 timer. Hvor stor fart holder redningsbåten?
Vis løsning

Hva spør oppgaven om? Redningsbåten må nå skipets posisjon etter fire timer, ikke skipets startposisjon.

Steg 1 - Finn skipets posisjon etter 4 timer

\[P(4)=[80+4\cdot4,16+3\cdot4]=[96,28].\]

Steg 2 - Finn avstanden fra origo

\[OP(4)=\sqrt{96^2+28^2}.\]

Steg 3 - Beregn kvadratene

\[96^2=9216,\qquad28^2=784.\]

Steg 4 - Summer

\[9216+784=10000.\]

Steg 5 - Ta kvadratroten

\[OP(4)=100\ \text{nm}.\]

Steg 6 - Del på tiden

\[v=\frac{100\ \text{nm}}{4\ \text{h}}=25\ \text{nm/h}.\]

Steg 7 - Kontroller retningen

En konstant fartsvektor for redningsbåten kan være \([96/4,28/4]=[24,7]\), som har lengde 25.

Illustrasjon til Oppgave 4b
Ruten fra O ender i skipets posisjon etter fire timer.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
P=(80+4*4,16+3*4)
\((96,28)\)
2
Distance[(0,0),P]/4
\(25\)

Tolkning: Båten må tilbakelegge 100 nm på 4 timer.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t_meeting = sp.Integer(4)
P4 = sp.Matrix([80 + 4*t_meeting, 16 + 3*t_meeting])
distance_squared = P4.dot(P4)
distance = sp.sqrt(distance_squared)
rescue_speed = sp.simplify(distance/t_meeting)
rescue_velocity = P4/t_meeting
print("Meeting time =", t_meeting, "hours")
print("Euler position after 4 hours =", list(P4))
print("Distance squared from O =", distance_squared)
print("Distance from O =", distance, "nm")
print("Required velocity vector =", list(rescue_velocity), "nm/h")
print("Length of velocity vector =", sp.sqrt(rescue_velocity.dot(rescue_velocity)))
print("Required speed =", rescue_speed, "nm/h")
print("Distance check: speed * time =", rescue_speed*t_meeting, "nm")
Utskrift fra Python:
Meeting time = 4 hours
Euler position after 4 hours = [96, 28]
Distance squared from O = 10000
Distance from O = 100 nm
Required velocity vector = [24, 7] nm/h
Length of velocity vector = 25
Required speed = 25 nm/h
Distance check: speed * time = 100 nm

Fasit: Redningsbåten holder \(25\) nm/h.

Vanlig feil: Å beregne avstanden til \(P_0=(80,16)\) i stedet for skipets posisjon etter 4 timer.
Sensorpunkt: Møtepunktet må beregnes med samme tid t=4 for skipet.
Del 2 - Oppgave 4cBevegelse - møteproblem med CAS

Oppgave 4c

Oppgave: En annen redningsbåt er i \(Q(-10,50)\) ved \(t=0\) og kan holde 35 nm/h. Bestem hvor lang tid det går før den kan være framme ved Euler.
Vis løsning

Hva spør oppgaven om? Ved møtet må avstanden fra Q til skipets posisjon ved tiden t være lik distansen redningsbåten kan tilbakelegge, \(35t\).

Steg 1 - Finn forskyvningen fra Q til skipet

\[\overrightarrow{QP}(t)=[80+4t-(-10),16+3t-50]=[90+4t,-34+3t].\]

Steg 2 - Skriv avstanden

\[QP(t)=\sqrt{(90+4t)^2+(-34+3t)^2}.\]

Steg 3 - Skriv redningsbåtens rekkevidde

Etter t timer kan båten tilbakelegge \(35t\) nautiske mil.

Steg 4 - Sett avstandene like

\[\sqrt{(90+4t)^2+(-34+3t)^2}=35t.\]

Steg 5 - Kvadrer og samle

\[(90+4t)^2+(-34+3t)^2=1225t^2\] gir \[300t^2-129t-2314=0.\]

Steg 6 - Løs med CAS

\[t=\frac{43}{200}\pm\frac{7\sqrt{57009}}{600}.\] Numerisk får vi \(t\approx-2{,}571\) eller \(t\approx3{,}001\).

Steg 7 - Forkast negativ tid

Den negative løsningen har ingen fysisk mening i situasjonen.

Steg 8 - Konkluder og kontroller

Redningsbåten kan møte Euler etter omtrent \(3{,}00\) timer. Da er både avstanden og \(35t\) omtrent \(105{,}02\) nm.

Illustrasjon til Oppgave 4c
Den andre redningsbåten møter skipet etter omtrent tre timer.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(90+4t)^2+(-34+3t)^2=(35t)^2,t]
\(t\approx-2.5706\) eller \(t\approx3.0006\)

Tolkning: Bare den positive løsningen er relevant for tiden etter meldingen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
P = sp.Matrix([80 + 4*t, 16 + 3*t])
Q = sp.Matrix([-10, 50])
displacement = P - Q
distance_squared = sp.expand(displacement.dot(displacement))
reachable_squared = (35*t)**2
equation_polynomial = sp.expand(distance_squared - reachable_squared)
solutions = sp.solve(sp.Eq(equation_polynomial, 0), t)
positive_solution = [s for s in solutions if sp.N(s) > 0][0]
meeting_position = sp.simplify(P.subs(t, positive_solution))
meeting_distance = sp.sqrt(distance_squared.subs(t, positive_solution))
print("Displacement QP(t) =", list(displacement))
print("Distance squared =", distance_squared)
print("Reachable distance squared =", reachable_squared)
print("Equation polynomial =", equation_polynomial)
print("Exact solutions =", solutions)
print("Decimal solutions =", [sp.N(s, 12) for s in solutions])
print("Positive meeting time =", sp.N(positive_solution, 12), "hours")
print("Meeting position =", [sp.N(value, 10) for value in meeting_position])
print("Distance from Q at meeting =", sp.N(meeting_distance, 12), "nm")
print("35*t at meeting =", sp.N(35*positive_solution, 12), "nm")
Utskrift fra Python:
Displacement QP(t) = [4*t + 90, 3*t - 34]
Distance squared = 25*t**2 + 516*t + 9256
Reachable distance squared = 1225*t**2
Equation polynomial = -1200*t**2 + 516*t + 9256
Exact solutions = [43/200 - 7*sqrt(57009)/600, 43/200 + 7*sqrt(57009)/600]
Decimal solutions = [-2.57059837976, 3.00059837976]
Positive meeting time = 3.00059837976 hours
Meeting position = [92.00239352, 25.00179514]
Distance from Q at meeting = 105.020943292 nm
35*t at meeting = 105.020943292 nm

Fasit: Redningsbåten kan være framme etter \(t\approx3{,}0006\) timer, altså omtrent 3 timer.

Vanlig feil: Å bruke avstanden fra Q til startposisjonen \(P_0\) og dermed ignorere skipets drift.
Sensorpunkt: Likningen må bruke samme tid t for både skipets posisjon og redningsbåtens tilbakelagte distanse.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3022 Matematikk R1, høsten 2017. Løsningene, figurene og kontrollkodene er originale ifingo-utarbeidelser. Python-utskriftene er generert ved faktisk kjøring av kodene i denne filproduksjonen.