R1 eksamenVår 2016

Matematikk R1 eksamen – vår 2016

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - våren 2016 (REA3022)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon

Oppgave 1a

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

Hva spør oppgaven om? Vi skal derivere hvert ledd ved hjelp av potensregelen.

Steg 1 - Identifiser leddene

Funksjonen består av et andregradsledd, et førstegradsledd og en konstant.

Steg 2 - Bruk potensregelen

For \(ax^n\) er den deriverte \(anx^{n-1}\).

Steg 3 - Deriver andregradsleddet

\(\frac{d}{dx}(-3x^2)=-6x\).

Steg 4 - Deriver førstegradsleddet

\(\frac{d}{dx}(6x)=6\).

Steg 5 - Deriver konstanten

\(\frac{d}{dx}(-4)=0\).

Steg 6 - Samle resultatet

Dermed er \[f'(x)=-6x+6.\]

GeoGebra/CAS-kontroll

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

Tolkning: CAS bekrefter leddvis derivasjon.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
f = -3*x**2 + 6*x - 4
print("f(x) =", f)
print("d/dx(-3*x^2) =", sp.diff(-3*x**2, x))
print("d/dx(6*x) =", sp.diff(6*x, x))
print("d/dx(-4) =", sp.diff(-4, x))
print("f'(x) =", sp.diff(f, x))
print("Kontroll, forenklet =", sp.simplify(sp.diff(f, x)))
Utskrift fra Python:
f(x) = -3*x**2 + 6*x - 4
d/dx(-3*x^2) = -6*x
d/dx(6*x) = 6
d/dx(-4) = 0
f'(x) = 6 - 6*x
Kontroll, forenklet = 6 - 6*x

Fasit: \(f'(x)=-6x+6\).

Vanlig feil: Å glemme at den deriverte av konstanten er 0.
Sensorpunkt: Korrekt potensregel og samlet lineært uttrykk.
Del 1 - Oppgave 1bLogaritme og kjerneregel

Oppgave 1b

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

Hva spør oppgaven om? Vi skal bruke regelen for den naturlige logaritmen sammen med kjerneregelen.

Steg 1 - Velg indre funksjon

Sett \(u(x)=x^3-x\).

Steg 2 - Deriver kjernen

\(u'(x)=3x^2-1\).

Steg 3 - Bruk logaritmeregelen

\(\frac{d}{dx}\ln u=\frac{u'}u\).

Steg 4 - Ta med konstantfaktoren

Faktoren 5 beholdes utenfor derivasjonen.

Steg 5 - Sett inn

\[g'(x)=5\frac{3x^2-1}{x^3-x}.\]

Steg 6 - Kontroller definisjonskravet

Originalfunksjonen er definert når \(x^3-x>0\), men det endrer ikke selve derivasjonsformelen.

GeoGebra/CAS-kontroll

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

Tolkning: CAS bruker kjerneregelen automatisk.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
u = x**3 - x
g = 5*sp.log(u)
print("u(x) =", u)
print("u'(x) =", sp.diff(u, x))
print("g(x) = 5*ln(u(x))")
print("g'(x) =", sp.diff(g, x))
print("Faktorisert teller =", sp.factor(sp.together(sp.diff(g, x))).as_numer_denom()[0])
print("Nevner =", sp.factor(sp.together(sp.diff(g, x))).as_numer_denom()[1])
Utskrift fra Python:
u(x) = x**3 - x
u'(x) = 3*x**2 - 1
g(x) = 5*ln(u(x))
g'(x) = 5*(3*x**2 - 1)/(x**3 - x)
Faktorisert teller = 15*x**2 - 5
Nevner = x*(x - 1)*(x + 1)

Fasit: \(g'(x)=\dfrac{5(3x^2-1)}{x^3-x}\).

Vanlig feil: Å glemme den indre deriverte \(3x^2-1\).
Sensorpunkt: Logaritmeregel, kjerneregel og riktig konstantfaktor.
Del 1 - Oppgave 1cKvotientregel

Oppgave 1c

Oppgave: Deriver funksjonen \[h(x)=\frac{x-1}{x+1}.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke kvotientregelen og forenkle telleren.

Steg 1 - Definer teller og nevner

La \(u=x-1\) og \(v=x+1\).

Steg 2 - Deriver begge

\(u'=1\) og \(v'=1\).

Steg 3 - Bruk kvotientregelen

\(h'=\frac{u'v-uv'}{v^2}\).

Steg 4 - Sett inn

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

Steg 5 - Forenkle telleren

\((x+1)-(x-1)=2\).

Steg 6 - Skriv sluttresultatet

\[h'(x)=\frac{2}{(x+1)^2},\qquad x\ne -1.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[(x-1)/(x+1),x]
\(\dfrac{2}{(x+1)^2}\)

Tolkning: CAS bekrefter kvotientregelen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
u = x - 1
v = x + 1
h = u/v
numerator = sp.expand(sp.diff(u, x)*v - u*sp.diff(v, x))
print("u(x) =", u, "og v(x) =", v)
print("u'(x) =", sp.diff(u, x), "og v'(x) =", sp.diff(v, x))
print("Teller i kvotientregelen =", numerator)
print("h'(x) =", sp.factor(sp.diff(h, x)))
print("Definisjonskrav: x != -1")
Utskrift fra Python:
u(x) = x - 1 og v(x) = x + 1
u'(x) = 1 og v'(x) = 1
Teller i kvotientregelen = 2
h'(x) = 2/(x + 1)**2
Definisjonskrav: x != -1

Fasit: \(h'(x)=\dfrac{2}{(x+1)^2}\), \(x\ne-1\).

Vanlig feil: Fortegnsfeil når parentesen \(-(x-1)\) fjernes.
Sensorpunkt: Riktig kvotientregel og forenklet teller.
Del 1 - Oppgave 2aPolynom og faktorsetningen

Oppgave 2a

Oppgave: Polynomet er \[P(x)=x^3-7x^2+14x+k.\] Vis at \(P\) er delelig med \((x-2)\) hvis og bare hvis \(k=-8\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke faktorsetningen: \((x-a)\) er faktor nøyaktig når \(P(a)=0\).

Steg 1 - Bruk faktorsetningen

For faktoren \((x-2)\) må \(P(2)=0\).

Steg 2 - Sett inn x=2

\[P(2)=2^3-7\cdot2^2+14\cdot2+k.\]

Steg 3 - Regn ut tallene

\(8-28+28+k=8+k\).

Steg 4 - Sett lik null

\(8+k=0\).

Steg 5 - Løs for k

\(k=-8\).

Steg 6 - Vis begge retninger

Hvis \(P\) er delelig, må \(P(2)=0\) og dermed \(k=-8\). Omvendt gir \(k=-8\) at \(P(2)=0\), så faktorsetningen gir delelighet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Substitute[x^3-7x^2+14x+k,x,2]
\(8+k\)
2
Solve[8+k=0,k]
\(k=-8\)

Tolkning: De to CAS-linjene viser både rest og nødvendig parameterverdi.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, k = sp.symbols("x k")
P = x**3 - 7*x**2 + 14*x + k
remainder = sp.expand(P.subs(x, 2))
solution = sp.solve(sp.Eq(remainder, 0), k)
print("P(x) =", P)
print("P(2) =", remainder)
print("Krav for faktor (x - 2): P(2) = 0")
print("Løsning for k =", solution)
print("Kontroll P(2) når k = -8:", P.subs({x:2, k:-8}))
Utskrift fra Python:
P(x) = k + x**3 - 7*x**2 + 14*x
P(2) = k + 8
Krav for faktor (x - 2): P(2) = 0
Løsning for k = [-8]
Kontroll P(2) når k = -8: 0

Fasit: \(P\) er delelig med \((x-2)\) hvis og bare hvis \(k=-8\).

Vanlig feil: Å bare vise én retning i «hvis og bare hvis».
Sensorpunkt: Faktorsetningen, korrekt innsetting og begge implikasjoner.
Del 1 - Oppgave 2bFaktorisering

Oppgave 2b

Oppgave: Sett \(k=-8\) og faktoriser \(P\) ved hjelp av lineære faktorer.
Vis løsning

Hva spør oppgaven om? Vi skal bruke den kjente faktoren og finne de øvrige nullpunktene.

Steg 1 - Sett inn parameteren

\[P(x)=x^3-7x^2+14x-8.\]

Steg 2 - Bruk kjent faktor

Fra a) vet vi at \((x-2)\) er faktor.

Steg 3 - Utfør polynomdivisjon

Divisjon med \((x-2)\) gir \(x^2-5x+4\).

Steg 4 - Faktoriser andregradsuttrykket

\(x^2-5x+4=(x-1)(x-4)\).

Steg 5 - Samle faktorene

\[P(x)=(x-2)(x-1)(x-4).\]

Steg 6 - Kontroller ved utvidelse

Produktet utvides til \(x^3-7x^2+14x-8\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[x^3-7x^2+14x-8]
\((x-1)(x-2)(x-4)\)

Tolkning: CAS finner de tre lineære faktorene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
P = x**3 - 7*x**2 + 14*x - 8
quotient, remainder = sp.div(P, x - 2)
factors = sp.factor(P)
print("P(x) =", P)
print("Polynomdivisjon med x - 2:")
print("Kvotient =", quotient)
print("Rest =", remainder)
print("Faktorisert P(x) =", factors)
print("Utvidet kontroll =", sp.expand(factors))
Utskrift fra Python:
P(x) = x**3 - 7*x**2 + 14*x - 8
Polynomdivisjon med x - 2:
Kvotient = x**2 - 5*x + 4
Rest = 0
Faktorisert P(x) = (x - 4)*(x - 2)*(x - 1)
Utvidet kontroll = x**3 - 7*x**2 + 14*x - 8

Fasit: \(P(x)=(x-1)(x-2)(x-4)\).

Vanlig feil: Å stoppe etter bare én faktor.
Sensorpunkt: Full faktorisering i tre lineære faktorer og kontroll ved utvidelse.
Del 1 - Oppgave 2cPolynomulikhet

Oppgave 2c

Oppgave: Løs ulikheten \[P(x)\le 0,\] der \(P(x)=(x-1)(x-2)(x-4)\).
Vis løsning

Hva spør oppgaven om? Vi skal lage fortegnslinje ut fra nullpunktene 1, 2 og 4.

Steg 1 - Finn kritiske punkter

Faktorene skifter fortegn ved \(x=1,2,4\).

Steg 2 - Del tallinjen

Intervallene er \(( -\infty,1)\), \((1,2)\), \((2,4)\) og \((4,\infty)\).

Steg 3 - Bestem fortegn lengst til høyre

For \(x>4\) er alle faktorer positive, så produktet er positivt.

Steg 4 - Følg fortegnsskiftene

Hver enkel rot skifter fortegn: negativt på \((2,4)\), positivt på \((1,2)\), negativt på \(( -\infty,1)\).

Steg 5 - Ta med nullpunktene

Siden ulikheten er \(\le0\), skal røttene inkluderes.

Steg 6 - Skriv løsningsmengden

\[x\in(-\infty,1]\cup[2,4].\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(x-1)(x-2)(x-4)<=0,x]
\(x\le1\;\lor\;2\le x\le4\)

Tolkning: CAS bekrefter fortegnslinjen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
P = (x - 1)*(x - 2)*(x - 4)
print("P(x) =", sp.expand(P))
print("Nullpunkter =", sp.solve(sp.Eq(P, 0), x))
for test in [-1, sp.Rational(3,2), 3, 5]:
    print(f"P({test}) =", sp.simplify(P.subs(x, test)))
solution = sp.solve_univariate_inequality(P <= 0, x)
print("Løsning av P(x) <= 0:", solution)
Utskrift fra Python:
P(x) = x**3 - 7*x**2 + 14*x - 8
Nullpunkter = [1, 2, 4]
P(-1) = -30
P(3/2) = 5/8
P(3) = -2
P(5) = 12
Løsning av P(x) <= 0: (x <= 1) | ((2 <= x) & (x <= 4))

Fasit: \(x\in(-\infty,1]\cup[2,4]\).

Vanlig feil: Å glemme å inkludere nullpunktene når tegnet er \(\le\).
Sensorpunkt: Korrekte intervaller og fortegn mellom alle røttene.
Del 1 - Oppgave 3aProdukt- og kjerneregel

Oppgave 3a

Oppgave: Funksjonen er \[f(x)=x^2e^{1-x^2},\qquad D_f=\mathbb R.\] Vis at \[f'(x)=2x(1-x^2)e^{1-x^2}.\]
Vis løsning

Hva spør oppgaven om? Vi skal derivere et produkt og samtidig bruke kjerneregelen på eksponentialleddet.

Steg 1 - Del opp produktet

La \(u=x^2\) og \(v=e^{1-x^2}\).

Steg 2 - Deriver u

\(u'=2x\).

Steg 3 - Deriver eksponentialleddet

Kjernen \(1-x^2\) har derivert \(-2x\), så \(v'=-2xe^{1-x^2}\).

Steg 4 - Bruk produktregelen

\[f'=u'v+uv'.\]

Steg 5 - Sett inn

\[f'=2xe^{1-x^2}-2x^3e^{1-x^2}.\]

Steg 6 - Faktoriser

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

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^2 exp(1-x^2),x]
\(2xe^{1-x^2}-2x^3e^{1-x^2}\)
2
Factor[%]
\(2x(1-x^2)e^{1-x^2}\)

Tolkning: CAS viser først produktregelen og deretter faktorisert form.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
u = x**2
v = sp.exp(1 - x**2)
f = u*v
print("u(x) =", u, "og u'(x) =", sp.diff(u, x))
print("v(x) = exp(1 - x^2)")
print("v'(x) =", sp.diff(v, x))
product_rule = sp.diff(u, x)*v + u*sp.diff(v, x)
print("Produktregelen gir =", product_rule)
print("Faktorisert f'(x) =", sp.factor(product_rule))
print("Direkte kontroll =", sp.simplify(sp.diff(f, x) - product_rule))
Utskrift fra Python:
u(x) = x**2 og u'(x) = 2*x
v(x) = exp(1 - x^2)
v'(x) = -2*x*exp(1 - x**2)
Produktregelen gir = -2*x**3*exp(1 - x**2) + 2*x*exp(1 - x**2)
Faktorisert f'(x) = -2*E*x*(x - 1)*(x + 1)*exp(-x**2)
Direkte kontroll = 0

Fasit: \(f'(x)=2x(1-x^2)e^{1-x^2}\).

Vanlig feil: Å glemme faktoren \(-2x\) fra kjerneregelen.
Sensorpunkt: Både produktregelen og kjerneregelen må være synlige.
Del 1 - Oppgave 3bEkstremalpunkter

Oppgave 3b

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

Hva spør oppgaven om? Vi skal løse \(f'(x)=0\) og klassifisere de stasjonære punktene.

Steg 1 - Bruk den deriverte

\(f'(x)=2x(1-x^2)e^{1-x^2}\).

Steg 2 - Utnytt at eksponentialleddet er positivt

\(e^{1-x^2}>0\) for alle reelle \(x\).

Steg 3 - Løs de øvrige faktorene

\(2x(1-x^2)=0\) gir \(x=-1,0,1\).

Steg 4 - Finn funksjonsverdiene

\(f(-1)=1\), \(f(0)=0\), \(f(1)=1\).

Steg 5 - Klassifiser med fortegn

\(f'\) skifter fra positiv til negativ ved \(x=-1\) og \(x=1\), og fra negativ til positiv ved \(x=0\).

Steg 6 - Oppgi punktene

Toppunktene er \((-1,1)\) og \((1,1)\), mens bunnpunktet er \((0,0)\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[2x(1-x^2) exp(1-x^2)=0,x]
\(x=-1,0,1\)
2
Substitute[x^2 exp(1-x^2),x,{-1,0,1}]
\(1,0,1\)

Tolkning: CAS finner stasjonære x-verdier og tilhørende y-verdier.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**2*sp.exp(1 - x**2)
df = sp.factor(sp.diff(f, x))
critical = sp.solve(sp.Eq(df, 0), x)
print("f'(x) =", df)
print("Stasjonære x-verdier =", critical)
for c in critical:
    print("Punkt ved x =", c, "er (", c, ",", sp.simplify(f.subs(x, c)), ")")
print("Fortegn f'(-2), f'(-1/2), f'(1/2), f'(2) =")
print([sp.N(df.subs(x, q)) for q in [-2, -sp.Rational(1,2), sp.Rational(1,2), 2]])
Utskrift fra Python:
f'(x) = -2*E*x*(x - 1)*(x + 1)*exp(-x**2)
Stasjonære x-verdier = [-1, 0, 1]
Punkt ved x = -1 er ( -1 , 1 )
Punkt ved x = 0 er ( 0 , 0 )
Punkt ved x = 1 er ( 1 , 1 )
Fortegn f'(-2), f'(-1/2), f'(1/2), f'(2) =
[0.597444820414367, -1.58775001245951, 1.58775001245951, -0.597444820414367]

Fasit: Toppunkt: \((-1,1)\) og \((1,1)\). Bunnpunkt: \((0,0)\).

Vanlig feil: Å bare løse \(f'=0\) uten å klassifisere punktene.
Sensorpunkt: Koordinater og korrekt fortegnsskifte for hvert punkt.
Del 1 - Oppgave 3cGrafskisse

Oppgave 3c

Oppgave: Lag en skisse av grafen til \(f\), når du får vite at \(f(x)\to0\) når \(x\to\pm\infty\).
Vis løsning

Hva spør oppgaven om? Vi skal kombinere symmetri, ekstremalpunkter og grenseverdier til en korrekt skisse.

Steg 1 - Se på symmetrien

Både \(x^2\) og \(e^{1-x^2}\) er like funksjoner, så \(f(-x)=f(x)\).

Steg 2 - Plasser bunnpunktet

Grafen går gjennom \((0,0)\) og har lokalt bunnpunkt der.

Steg 3 - Plasser toppunktene

Grafen har topper i \((-1,1)\) og \((1,1)\).

Steg 4 - Bruk grenseverdiene

Grafen nærmer seg x-aksen ovenfra når \(x\to\pm\infty\).

Steg 5 - Tegn monotoni

Grafen stiger mot venstre topp, synker til origo, stiger til høyre topp og synker deretter mot 0.

Steg 6 - Kontroller at grafen er ikke-negativ

Fordi \(x^2\ge0\) og eksponentialleddet er positivt, ligger grafen aldri under x-aksen.

Kontrollskisse av funksjonen med ekstrem- og vendepunkter.
Kontrollskisse av funksjonen med ekstrem- og vendepunkter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
f(x)=x^2 exp(1-x^2)
Symmetrisk graf med topper i \((\pm1,1)\) og bunn i \((0,0)\)

Tolkning: Graftegneren skal vise samme symmetri og endeadferd.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**2*sp.exp(1 - x**2)
print("f(-x) - f(x) =", sp.simplify(f.subs(x, -x) - f))
print("f(0) =", f.subs(x, 0))
print("f(-1) =", f.subs(x, -1), "og f(1) =", f.subs(x, 1))
print("Grense x -> +uendelig =", sp.limit(f, x, sp.oo))
print("Grense x -> -uendelig =", sp.limit(f, x, -sp.oo))
print("f(x) er ikke-negativ fordi x^2 >= 0 og exp(...) > 0")
Utskrift fra Python:
f(-x) - f(x) = 0
f(0) = 0
f(-1) = 1 og f(1) = 1
Grense x -> +uendelig = 0
Grense x -> -uendelig = 0
f(x) er ikke-negativ fordi x^2 >= 0 og exp(...) > 0

Fasit: En symmetrisk, ikke-negativ graf med topper i \((\pm1,1)\), bunn i \((0,0)\) og horisontal asymptotisk tilnærming til \(y=0\).

Vanlig feil: Å tegne grafen under x-aksen eller uten symmetri.
Sensorpunkt: Skissen må vise ekstremalpunkter, symmetri og riktig endeadferd.
Del 1 - Oppgave 3dVendepunkter

Oppgave 3d

Oppgave: Bruk skissen til å avgjøre hvor mange vendepunkt grafen til \(f\) har. Marker vendepunktene på skissen.
Vis løsning

Hva spør oppgaven om? Vi skal telle krumningsskiftene; en symbolsk kontroll gir også de omtrentlige koordinatene.

Steg 1 - Observer grafens krumning

På hver side av origo endrer grafen krumning to ganger.

Steg 2 - Bruk symmetrien

Krumningsskiftene kommer parvis fordi grafen er symmetrisk om y-aksen.

Steg 3 - Konkluder antallet

Det er derfor totalt fire vendepunkter.

Steg 4 - Symbolsk kontroll

\[f''(x)=2e^{1-x^2}(2x^4-5x^2+1).\]

Steg 5 - Løs andrederivert lik null

\(x^2=\frac{5\pm\sqrt{17}}4\), altså fire reelle x-verdier.

Steg 6 - Oppgi omtrentlige punkter

\(x\approx\pm0.468\) gir \(y\approx0.479\), og \(x\approx\pm1.510\) gir \(y\approx0.634\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Derivative[x^2 exp(1-x^2),x,2]=0,x]
\(x=\pm\sqrt{\frac{5-\sqrt{17}}4},\;\pm\sqrt{\frac{5+\sqrt{17}}4}\)

Tolkning: CAS bekrefter fire reelle krumningsskifter.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**2*sp.exp(1 - x**2)
d2 = sp.factor(sp.diff(f, x, 2))
poly = sp.factor(d2/sp.exp(1 - x**2)/2)
roots = sp.solve(sp.Eq(poly, 0), x)
print("f''(x) =", d2)
print("Polynomfaktoren =", poly)
print("Vendepunktenes x-verdier:")
for r in roots:
    print("x =", r, "≈", float(sp.N(r, 8)), ", y ≈", float(sp.N(f.subs(x, r), 8)))
print("Antall reelle vendepunkter =", len(roots))
Utskrift fra Python:
f''(x) = 2*E*(2*x**4 - 5*x**2 + 1)*exp(-x**2)
Polynomfaktoren = 2*x**4 - 5*x**2 + 1
Vendepunktenes x-verdier:
x = -sqrt(5/4 - sqrt(17)/4) ≈ -0.46821319265291095 , y ≈ 0.4786016345024109
x = sqrt(5/4 - sqrt(17)/4) ≈ 0.46821319265291095 , y ≈ 0.4786016345024109
x = -sqrt(sqrt(17)/4 + 5/4) ≈ -1.5102239586412907 , y ≈ 0.6336487550288439
x = sqrt(sqrt(17)/4 + 5/4) ≈ 1.5102239586412907 , y ≈ 0.6336487550288439
Antall reelle vendepunkter = 4

Fasit: Grafen har \(4\) vendepunkter.

Vanlig feil: Å telle topp- og bunnpunkter som vendepunkter.
Sensorpunkt: Et vendepunkt krever skifte i krumning; fire punkter skal markeres.
Del 1 - Oppgave 4aGeometri og Pytagoras

Oppgave 4a

Oppgave: En likesidet \(\triangle ABC\) har side 6 cm. \(BEDC\) er et kvadrat, og sirkelbuen har sentrum i \(C\) og radius \(CE\). Bestem \(CH\), \(CF\) og \(HF\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke høyden i en likesidet trekant, diagonalen i et kvadrat og Pytagoras.

Steg 1 - Finn halvparten av grunnlinjen

Høyden i en likesidet trekant halverer grunnlinjen, så \(AH=HB=3\).

Steg 2 - Beregn høyden CH

\[CH=\sqrt{6^2-3^2}=\sqrt{27}=3\sqrt3\text{ cm}.\]

Steg 3 - Bruk kvadratet

Siden \(BC=6\), har kvadratet side 6.

Steg 4 - Finn diagonalen CE

\[CE=\sqrt{6^2+6^2}=6\sqrt2.\]

Steg 5 - Bruk sirkelens radius

Fordi \(CF\) er radius i samme sirkel som \(CE\), er \(CF=6\sqrt2\).

Steg 6 - Finn HF i rettvinklet trekant CHF

\[HF=\sqrt{CF^2-CH^2}=\sqrt{72-27}=3\sqrt5\text{ cm}.\]

Geometrien i oppgave 4.
Geometrien i oppgave 4.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Sqrt[6^2-3^2]
\(3\sqrt3\)
2
6 Sqrt[2]
\(6\sqrt2\)
3
Sqrt[(6 Sqrt[2])^2-(3 Sqrt[3])^2]
\(3\sqrt5\)

Tolkning: CAS bekrefter alle tre lengdene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
side = sp.Integer(6)
AH = side/2
CH = sp.sqrt(side**2 - AH**2)
CE = sp.sqrt(side**2 + side**2)
CF = CE
HF = sp.sqrt(CF**2 - CH**2)
print("AH = HB =", AH)
print("CH = sqrt(6^2 - 3^2) =", sp.simplify(CH))
print("CE, diagonalen i kvadratet =", sp.simplify(CE))
print("CF = CE =", sp.simplify(CF))
print("HF = sqrt(CF^2 - CH^2) =", sp.simplify(HF))
print("Numerisk HF ≈", sp.N(HF, 8))
Utskrift fra Python:
AH = HB = 3
CH = sqrt(6^2 - 3^2) = 3*sqrt(3)
CE, diagonalen i kvadratet = 6*sqrt(2)
CF = CE = 6*sqrt(2)
HF = sqrt(CF^2 - CH^2) = 3*sqrt(5)
Numerisk HF ≈ 6.7082039

Fasit: \(CH=3\sqrt3\) cm, \(CF=6\sqrt2\) cm og \(HF=3\sqrt5\) cm.

Vanlig feil: Å bruke 6 som kvadratets diagonal i stedet for side.
Sensorpunkt: Korrekt kobling mellom trekant, kvadrat og sirkelradius.
Del 1 - Oppgave 4bDet gylne snitt

Oppgave 4b

Oppgave: Vis at \[\frac{AF}{AB}=\varphi=\frac{1+\sqrt5}{2}.\]
Vis løsning

Hva spør oppgaven om? Vi skal uttrykke AF som summen AH + HF og dele på AB.

Steg 1 - Bruk kollineariteten

Punktene \(A,H,F\) ligger på samme linje, og \(H\) ligger mellom A og F.

Steg 2 - Skriv AF som sum

\(AF=AH+HF\).

Steg 3 - Sett inn kjente lengder

\(AH=3\) og \(HF=3\sqrt5\).

Steg 4 - Faktoriser

\[AF=3+3\sqrt5=3(1+\sqrt5).\]

Steg 5 - Del på AB

\[\frac{AF}{AB}=\frac{3(1+\sqrt5)}6.\]

Steg 6 - Forkort

\[\frac{AF}{AB}=\frac{1+\sqrt5}{2}=\varphi.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[(3+3 Sqrt[5])/6]
\(\dfrac{1+\sqrt5}{2}\)

Tolkning: CAS forkorter forholdet til det gylne snitt.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
AH = sp.Integer(3)
HF = 3*sp.sqrt(5)
AB = sp.Integer(6)
AF = AH + HF
ratio = sp.simplify(AF/AB)
phi = (1 + sp.sqrt(5))/2
print("AH =", AH)
print("HF =", HF)
print("AF = AH + HF =", AF)
print("AF/AB =", ratio)
print("phi =", phi)
print("Forskjell AF/AB - phi =", sp.simplify(ratio - phi))
Utskrift fra Python:
AH = 3
HF = 3*sqrt(5)
AF = AH + HF = 3 + 3*sqrt(5)
AF/AB = 1/2 + sqrt(5)/2
phi = 1/2 + sqrt(5)/2
Forskjell AF/AB - phi = 0

Fasit: \(\dfrac{AF}{AB}=\dfrac{1+\sqrt5}{2}\).

Vanlig feil: Å bruke \(BF\) i stedet for \(HF\) i summen for AF.
Sensorpunkt: En tydelig lengdesum og korrekt forkorting.
Del 1 - Oppgave 5aVektorregning

Oppgave 5a

Oppgave: Punktene \(A(1,1)\), \(B(5,2)\) og \(C(3,5)\) er gitt. Bruk vektorregning til å avgjøre om punktene ligger på en rett linje.
Vis løsning

Hva spør oppgaven om? Vi skal sammenligne retningsvektorene fra A.

Steg 1 - Finn AB

\(\overrightarrow{AB}=(5-1,2-1)=(4,1)\).

Steg 2 - Finn AC

\(\overrightarrow{AC}=(3-1,5-1)=(2,4)\).

Steg 3 - Test proporsjonalitet

Hvis punktene er kollineære, må vektorene være parallelle.

Steg 4 - Sammenlign komponentforhold

\(2/4=1/2\), mens \(4/1=4\); samme skalar finnes ikke.

Steg 5 - Bruk determinant som kontroll

\(4\cdot4-1\cdot2=14\ne0\).

Steg 6 - Konkluder

Vektorene er ikke parallelle, så punktene ligger ikke på én rett linje.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Determinant[{{4,1},{2,4}}]
\(14\)

Tolkning: En ikke-null determinant betyr ikke-parallelle vektorer.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Matrix([1, 1])
B = sp.Matrix([5, 2])
C = sp.Matrix([3, 5])
AB = B - A
AC = C - A
determinant = sp.det(sp.Matrix.hstack(AB, AC))
print("AB =", tuple(AB))
print("AC =", tuple(AC))
print("Determinant[AB, AC] =", determinant)
print("Parallelle?", determinant == 0)
print("Konklusjon: Punktene er ikke kollineære.")
Utskrift fra Python:
AB = (4, 1)
AC = (2, 4)
Determinant[AB, AC] = 14
Parallelle? False
Konklusjon: Punktene er ikke kollineære.

Fasit: Punktene ligger ikke på en rett linje.

Vanlig feil: Å sammenligne bare én komponent i vektorene.
Sensorpunkt: To retningsvektorer og en klar parallellitetstest.
Del 1 - Oppgave 5bSkalarprodukt

Oppgave 5b

Oppgave: Punktet \(D\) er gitt ved \(D(0,t)\). Bestem eventuelle verdier av \(t\) slik at \(\angle CDA=90^{\circ}\).
Vis løsning

Hva spør oppgaven om? Vi skal kreve at vektorene fra D til C og A har skalarprodukt 0.

Steg 1 - Finn DC

\(\overrightarrow{DC}=(3,5-t)\).

Steg 2 - Finn DA

\(\overrightarrow{DA}=(1,1-t)\).

Steg 3 - Bruk ortogonalitetskravet

\(\overrightarrow{DC}\cdot\overrightarrow{DA}=0\).

Steg 4 - Sett opp likningen

\[3+(5-t)(1-t)=0.\]

Steg 5 - Utvid

\[t^2-6t+8=0.\]

Steg 6 - Faktoriser og løs

\((t-2)(t-4)=0\), altså \(t=2\) eller \(t=4\).

GeoGebra/CAS-kontroll

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

Tolkning: CAS løser ortogonalitetslikningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
DC = sp.Matrix([3, 5 - t])
DA = sp.Matrix([1, 1 - t])
dot = sp.expand(DC.dot(DA))
solutions = sp.solve(sp.Eq(dot, 0), t)
print("DC =", tuple(DC))
print("DA =", tuple(DA))
print("DC · DA =", dot)
print("Faktorisert likning =", sp.factor(dot))
print("Løsninger for t =", solutions)
for value in solutions:
    print("Kontroll ved t =", value, ":", dot.subs(t, value))
Utskrift fra Python:
DC = (3, 5 - t)
DA = (1, 1 - t)
DC · DA = t**2 - 6*t + 8
Faktorisert likning = (t - 4)*(t - 2)
Løsninger for t = [2, 4]
Kontroll ved t = 2 : 0
Kontroll ved t = 4 : 0

Fasit: \(t=2\) eller \(t=4\).

Vanlig feil: Å bruke vektorer med forskjellige startpunkter i vinkelberegningen.
Sensorpunkt: Begge vektorer skal starte i D, og skalarproduktet skal settes lik 0.
Del 1 - Oppgave 5cParallelle sider

Oppgave 5c

Oppgave: Bestem eventuelle verdier av \(t\) slik at \(ABCD\) blir et trapes.
Vis løsning

Hva spør oppgaven om? Vi skal undersøke begge mulige par av motstående sider.

Steg 1 - Første mulighet

Et trapes kan ha \(AB\parallel CD\).

Steg 2 - Sammenlign AB og DC

\(\overrightarrow{AB}=(4,1)\), \(\overrightarrow{DC}=(3,5-t)\).

Steg 3 - Sett determinant lik null

\(4(5-t)-3=0\), som gir \(t=17/4\).

Steg 4 - Andre mulighet

Vi kan også ha \(BC\parallel AD\).

Steg 5 - Sammenlign BC og AD

\(\overrightarrow{BC}=(-2,3)\), \(\overrightarrow{AD}=(-1,t-1)\). Determinanten gir \(-2(t-1)+3=0\).

Steg 6 - Løs og samle

Den andre verdien er \(t=5/2\). Dermed finnes to muligheter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[4(5-t)-3=0,t]
\(t=\frac{17}{4}\)
2
Solve[-2(t-1)+3=0,t]
\(t=\frac52\)

Tolkning: CAS kontrollerer begge parallelle sidepar.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
AB = sp.Matrix([4, 1])
DC = sp.Matrix([3, 5 - t])
BC = sp.Matrix([-2, 3])
AD = sp.Matrix([-1, t - 1])
det1 = sp.det(sp.Matrix.hstack(AB, DC))
det2 = sp.det(sp.Matrix.hstack(BC, AD))
print("det(AB, DC) =", sp.expand(det1))
print("AB parallell CD gir t =", sp.solve(sp.Eq(det1, 0), t))
print("det(BC, AD) =", sp.expand(det2))
print("BC parallell AD gir t =", sp.solve(sp.Eq(det2, 0), t))
print("Samlet: t = 17/4 eller t = 5/2")
Utskrift fra Python:
det(AB, DC) = 17 - 4*t
AB parallell CD gir t = [17/4]
det(BC, AD) = 5 - 2*t
BC parallell AD gir t = [5/2]
Samlet: t = 17/4 eller t = 5/2

Fasit: \(t=\dfrac{17}{4}\) eller \(t=\dfrac52\).

Vanlig feil: Å undersøke bare ett av de to parene med motstående sider.
Sensorpunkt: Begge mulige parallelle sidepar må testes.
Del 1 - Oppgave 6aKombinatorikk

Oppgave 6a

Oppgave: Skolen tilbyr fem realfag og åtte andre fag. Hvor mange fagkombinasjoner er mulig dersom Camilla skal ha to realfag og to andre fag?
Vis løsning

Hva spør oppgaven om? Vi skal velge uordnet uten tilbakelegging fra to separate faggrupper.

Steg 1 - Velg realfag

Antall måter å velge 2 av 5 er \(\binom52\).

Steg 2 - Regn ut realfagsvalget

\(\binom52=10\).

Steg 3 - Velg andre fag

Antall måter å velge 2 av 8 er \(\binom82\).

Steg 4 - Regn ut det andre valget

\(\binom82=28\).

Steg 5 - Bruk produktregelen

De to valgene kan kombineres uavhengig: \(10\cdot28\).

Steg 6 - Beregn

\[10\cdot28=280.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Binomial[5,2] Binomial[8,2]
\(280\)

Tolkning: CAS bruker kombinasjoner og produktregelen.

Python-kontroll med SymPy

Python 3 - SymPy
import math
real_choices = math.comb(5, 2)
other_choices = math.comb(8, 2)
total = real_choices * other_choices
print("Velg 2 realfag av 5:", real_choices)
print("Velg 2 andre fag av 8:", other_choices)
print("Produktregelen:", real_choices, "*", other_choices)
print("Antall fagkombinasjoner =", total)
Utskrift fra Python:
Velg 2 realfag av 5: 10
Velg 2 andre fag av 8: 28
Produktregelen: 10 * 28
Antall fagkombinasjoner = 280

Fasit: \(280\) fagkombinasjoner.

Vanlig feil: Å bruke permutasjoner selv om rekkefølgen på fagene ikke betyr noe.
Sensorpunkt: Riktig binomialkoeffisient for hver gruppe og produktregelen.
Del 1 - Oppgave 6bKombinatorikk med tilfeller

Oppgave 6b

Oppgave: Camilla skal velge fire fag. Hvor mange fagkombinasjoner er mulig dersom minst to av fagene skal være realfag?
Vis løsning

Hva spør oppgaven om? Vi skal summere de tre mulige tilfellene: 2, 3 eller 4 realfag.

Steg 1 - Tilfelle 2 realfag

\(\binom52\binom82=10\cdot28=280\).

Steg 2 - Tilfelle 3 realfag

\(\binom53\binom81=10\cdot8=80\).

Steg 3 - Tilfelle 4 realfag

\(\binom54\binom80=5\cdot1=5\).

Steg 4 - Bruk addisjonsregelen

Tilfellene er gjensidig utelukkende og skal summeres.

Steg 5 - Summer

\[280+80+5=365.\]

Steg 6 - Kontroller maksimum

Fem tilgjengelige realfag gjør alle tre tilfellene mulige.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Binomial[5,2]Binomial[8,2]+Binomial[5,3]Binomial[8,1]+Binomial[5,4]
\(365\)

Tolkning: CAS summerer alle tillatte realfagsantall.

Python-kontroll med SymPy

Python 3 - SymPy
import math
case_2 = math.comb(5, 2)*math.comb(8, 2)
case_3 = math.comb(5, 3)*math.comb(8, 1)
case_4 = math.comb(5, 4)*math.comb(8, 0)
print("2 realfag og 2 andre =", case_2)
print("3 realfag og 1 annet =", case_3)
print("4 realfag og 0 andre =", case_4)
print("Sum =", case_2, "+", case_3, "+", case_4)
print("Antall kombinasjoner med minst 2 realfag =", case_2 + case_3 + case_4)
Utskrift fra Python:
2 realfag og 2 andre = 280
3 realfag og 1 annet = 80
4 realfag og 0 andre = 5
Sum = 280 + 80 + 5
Antall kombinasjoner med minst 2 realfag = 365

Fasit: \(365\) fagkombinasjoner.

Vanlig feil: Å tolke «minst to» som nøyaktig to.
Sensorpunkt: Alle tilfellene 2, 3 og 4 realfag må inkluderes.
Del 1 - Oppgave 7aGeometrisk nullpunktkonstruksjon

Oppgave 7a

Oppgave: Bruk konstruksjonen med \(A(0,1)\) og \(B(-p,q)\) når \[f(x)=x^2-2x-8.\] Hva er nullpunktene ifølge konstruksjonen?
Vis løsning

Hva spør oppgaven om? Vi skal finne A og B, konstruere diameter-sirkelen og lese av skjæringene med x-aksen.

Steg 1 - Finn p og q

Her er \(p=-2\) og \(q=-8\).

Steg 2 - Plasser punktene

\(A=(0,1)\) og \(B=(-p,q)=(2,-8)\).

Steg 3 - Finn sentrum

Midtpunktet er \(S=(1,-7/2)\).

Steg 4 - Finn radius

\(r=AB/2=\sqrt{85}/2\).

Steg 5 - Finn skjæring med x-aksen

Sett \(y=0\) i sirkelens likning; da får vi \((x-1)^2=9\).

Steg 6 - Les av nullpunktene

\(x=1\pm3\), altså \(x=-2\) og \(x=4\).

Konstruksjon av diameter-sirkelen for p = -2 og q = -8.
Konstruksjon av diameter-sirkelen for p = -2 og q = -8.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Circle[Midpoint[(0,1),(2,-8)],Distance[(0,1),(2,-8)]/2]
\(S=(1,-\frac72),\;r=\frac{\sqrt{85}}2\)
2
Intersect[%,xAxis]
\((-2,0),(4,0)\)

Tolkning: Skjæringspunktene gir funksjonens nullpunkter.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, y = sp.symbols("x y", real=True)
A = sp.Point(0, 1)
B = sp.Point(2, -8)
S = sp.Segment(A, B).midpoint
r = A.distance(B)/2
circle_eq = sp.expand((x-S.x)**2 + (y-S.y)**2 - r**2)
roots = sp.solve(sp.Eq(circle_eq.subs(y, 0), 0), x)
print("A =", A, "og B =", B)
print("Sentrum S =", S)
print("Radius r =", sp.simplify(r))
print("Sirkelens venstreside =", circle_eq)
print("Skjæring med x-aksen gir x =", roots)
print("Kontroll i f(x)=x^2-2x-8:", [z**2-2*z-8 for z in roots])
Utskrift fra Python:
A = Point2D(0, 1) og B = Point2D(2, -8)
Sentrum S = Point2D(1, -7/2)
Radius r = sqrt(85)/2
Sirkelens venstreside = x**2 - 2*x + y**2 + 7*y - 8
Skjæring med x-aksen gir x = [-2, 4]
Kontroll i f(x)=x^2-2x-8: [0, 0]

Fasit: Nullpunktene er \(x=-2\) og \(x=4\).

Vanlig feil: Å bruke \(B=(p,q)\) i stedet for \(B=(-p,q)\).
Sensorpunkt: Korrekte punktkoordinater og x-akseskjæringer.
Del 1 - Oppgave 7bSirkelgeometri

Oppgave 7b

Oppgave: Vis at sentrum \(S\) og radien \(r\) er gitt ved \[S\left(-\frac p2,\frac{q+1}{2}\right),\qquad r=\sqrt{\frac{p^2+(q-1)^2}{4}}.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke midtpunktformelen og halvparten av avstanden AB.

Steg 1 - Skriv punktene

\(A=(0,1)\) og \(B=(-p,q)\).

Steg 2 - Bruk midtpunktformelen

\[S=\left(\frac{0-p}{2},\frac{1+q}{2}\right).\]

Steg 3 - Forenkle sentrum

\[S=\left(-\frac p2,\frac{q+1}{2}\right).\]

Steg 4 - Finn vektoren AB

\(\overrightarrow{AB}=(-p,q-1)\).

Steg 5 - Beregn diameteren

\[AB=\sqrt{p^2+(q-1)^2}.\]

Steg 6 - Halver diameteren

\[r=\frac12\sqrt{p^2+(q-1)^2}=\sqrt{\frac{p^2+(q-1)^2}{4}}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Midpoint[(0,1),(-p,q)]
\(\left(-\frac p2,\frac{q+1}{2}\right)\)
2
Distance[(0,1),(-p,q)]/2
\(\frac{\sqrt{p^2+(q-1)^2}}2\)

Tolkning: CAS bruker direkte midtpunkt og avstand.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
p, q = sp.symbols("p q", real=True)
A = sp.Matrix([0, 1])
B = sp.Matrix([-p, q])
S = sp.simplify((A + B)/2)
AB_vector = B - A
diameter_squared = sp.expand(AB_vector.dot(AB_vector))
radius = sp.sqrt(diameter_squared)/2
print("A =", tuple(A), "og B =", tuple(B))
print("Midtpunkt S =", tuple(S))
print("AB-vektor =", tuple(AB_vector))
print("AB^2 =", diameter_squared)
print("Radius r =", radius)
print("r^2 =", sp.simplify(radius**2))
Utskrift fra Python:
A = (0, 1) og B = (-p, q)
Midtpunkt S = (-p/2, q/2 + 1/2)
AB-vektor = (-p, q - 1)
AB^2 = p**2 + q**2 - 2*q + 1
Radius r = sqrt(p**2 + q**2 - 2*q + 1)/2
r^2 = p**2/4 + q**2/4 - q/2 + 1/4

Fasit: \(S=(-p/2,(q+1)/2)\) og \(r=\sqrt{[p^2+(q-1)^2]/4}\).

Vanlig feil: Å glemme at radius er halvparten av diameteren.
Sensorpunkt: Midtpunktformelen og avstandsformelen skal vises eksplisitt.
Del 1 - Oppgave 7cSirkel og andregradslikning

Oppgave 7c

Oppgave: Bestem likningen for sirkelen uttrykt ved \(p\) og \(q\). Vis at sirkelen skjærer x-aksen i nullpunktene til \(f(x)=x^2+px+q\).
Vis løsning

Hva spør oppgaven om? Vi skal skrive sentrum-radius-formen og sette y = 0.

Steg 1 - Skriv sentrum-radius-formen

\((x-x_S)^2+(y-y_S)^2=r^2\).

Steg 2 - Sett inn S og r

\[\left(x+\frac p2\right)^2+\left(y-\frac{q+1}{2}\right)^2=\frac{p^2+(q-1)^2}{4}.\]

Steg 3 - Finn x-akseskjæringene

På x-aksen er \(y=0\).

Steg 4 - Sett y lik 0

\[\left(x+\frac p2\right)^2+\frac{(q+1)^2}{4}=\frac{p^2+(q-1)^2}{4}.\]

Steg 5 - Utvid og forenkle

Etter kansellering får vi \(x^2+px+q=0\).

Steg 6 - Knytt til funksjonen

Dette er akkurat likningen \(f(x)=0\), så skjæringspunktenes x-koordinater er funksjonens nullpunkter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Expand[(x+p/2)^2+(y-(q+1)/2)^2-(p^2+(q-1)^2)/4]
\(x^2+px+y^2-(q+1)y+q\)
2
Substitute[%,y,0]
\(x^2+px+q\)

Tolkning: Når y settes lik 0, blir sirkelbetingelsen identisk med f(x)=0.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, y, p, q = sp.symbols("x y p q", real=True)
left = (x + p/2)**2 + (y - (q + 1)/2)**2
right = (p**2 + (q - 1)**2)/4
standard = sp.expand(left - right)
on_x_axis = sp.factor(standard.subs(y, 0))
print("Sirkel: (x+p/2)^2 + (y-(q+1)/2)^2 = [p^2+(q-1)^2]/4")
print("Alt samlet på venstre side =", standard)
print("Sett y = 0:", on_x_axis)
print("Funksjonen f(x) =", x**2 + p*x + q)
print("Forskjell =", sp.simplify(on_x_axis - (x**2+p*x+q)))
Utskrift fra Python:
Sirkel: (x+p/2)^2 + (y-(q+1)/2)^2 = [p^2+(q-1)^2]/4
Alt samlet på venstre side = p*x - q*y + q + x**2 + y**2 - y
Sett y = 0: p*x + q + x**2
Funksjonen f(x) = p*x + q + x**2
Forskjell = 0

Fasit: \(\left(x+\frac p2\right)^2+\left(y-\frac{q+1}{2}\right)^2=\frac{p^2+(q-1)^2}{4}\), og ved \(y=0\) fås \(x^2+px+q=0\).

Vanlig feil: Å sette \(x=0\) når man skal finne skjæring med x-aksen.
Sensorpunkt: Korrekt sirkellikning og tydelig algebraisk reduksjon til f(x)=0.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aBetinget sannsynlighet

Oppgave 1a

Oppgave: I bunke A er det 5 røde og 3 svarte kort. I bunke B er det 3 røde og 4 svarte kort. Vi velger tilfeldig én bunke og trekker 2 kort. Bestem \(P(F)\), \(P(\overline F)\), \(P(R\mid F)\) og \(P(R\mid\overline F)\).
Vis løsning

Hva spør oppgaven om? Vi skal kombinere lik bunke-sannsynlighet med hypergeometriske sannsynligheter.

Steg 1 - Velg bunke A

Bunkene velges tilfeldig, derfor \(P(F)=1/2\).

Steg 2 - Velg bunke B

Komplementet gir \(P(\overline F)=1/2\).

Steg 3 - To røde fra A

\[P(R\mid F)=\frac{\binom52}{\binom82}=\frac{10}{28}=\frac5{14}.\]

Steg 4 - To røde fra B

\[P(R\mid\overline F)=\frac{\binom32}{\binom72}=\frac3{21}=\frac17.\]

Steg 5 - Kontroller uten ordning

Kombinasjoner brukes fordi rekkefølgen mellom de to kortene ikke er relevant.

Steg 6 - Samle verdiene

Alle fire sannsynlighetene ligger mellom 0 og 1 og er klare til total sannsynlighet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
1/2
\(\frac12\)
2
Binomial[5,2]/Binomial[8,2]
\(\frac5{14}\)
3
Binomial[3,2]/Binomial[7,2]
\(\frac17\)

Tolkning: CAS bekrefter de betingede sannsynlighetene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
from math import comb
P_F = sp.Rational(1, 2)
P_notF = 1 - P_F
P_R_given_F = sp.Rational(comb(5, 2), comb(8, 2))
P_R_given_notF = sp.Rational(comb(3, 2), comb(7, 2))
print("P(F) =", P_F)
print("P(F_bar) =", P_notF)
print("C(5,2)/C(8,2) =", comb(5,2), "/", comb(8,2))
print("P(R|F) =", P_R_given_F)
print("C(3,2)/C(7,2) =", comb(3,2), "/", comb(7,2))
print("P(R|F_bar) =", P_R_given_notF)
Utskrift fra Python:
P(F) = 1/2
P(F_bar) = 1/2
C(5,2)/C(8,2) = 10 / 28
P(R|F) = 5/14
C(3,2)/C(7,2) = 3 / 21
P(R|F_bar) = 1/7

Fasit: \(P(F)=P(\overline F)=\frac12\), \(P(R\mid F)=\frac5{14}\), \(P(R\mid\overline F)=\frac17\).

Vanlig feil: Å bruke samme nevner for de to bunkene selv om de har 8 og 7 kort.
Sensorpunkt: Korrekte kombinasjoner i hver bunke og tydelig betinging.
Del 2 - Oppgave 1bTotal sannsynlighet

Oppgave 1b

Oppgave: Bestem \(P(R)\), sannsynligheten for å trekke to røde kort.
Vis løsning

Hva spør oppgaven om? Vi skal summere sannsynligheten langs de to mulige bunkegrenene.

Steg 1 - Bruk total sannsynlighet

\[P(R)=P(F)P(R\mid F)+P(\overline F)P(R\mid\overline F).\]

Steg 2 - Sett inn første gren

\(\frac12\cdot\frac5{14}=\frac5{28}\).

Steg 3 - Sett inn andre gren

\(\frac12\cdot\frac17=\frac1{14}=\frac2{28}\).

Steg 4 - Summer grenene

\(\frac5{28}+\frac2{28}=\frac7{28}\).

Steg 5 - Forkort

\(\frac7{28}=\frac14\).

Steg 6 - Kontroller rimelighet

Verdien ligger mellom de to betingede sannsynlighetene \(1/7\) og \(5/14\), som forventet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
1/2*5/14+1/2*1/7
\(\frac14\)

Tolkning: CAS utfører total-sannsynlighetsformelen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
P_F = sp.Rational(1, 2)
P_notF = sp.Rational(1, 2)
P_R_given_F = sp.Rational(5, 14)
P_R_given_notF = sp.Rational(1, 7)
branch_A = P_F*P_R_given_F
branch_B = P_notF*P_R_given_notF
P_R = sp.simplify(branch_A + branch_B)
print("Bidrag fra bunke A =", branch_A)
print("Bidrag fra bunke B =", branch_B)
print("P(R) =", branch_A, "+", branch_B)
print("P(R) =", P_R)
print("Desimal =", sp.N(P_R, 6))
Utskrift fra Python:
Bidrag fra bunke A = 5/28
Bidrag fra bunke B = 1/14
P(R) = 5/28 + 1/14
P(R) = 1/4
Desimal = 0.250000

Fasit: \(P(R)=\frac14\).

Vanlig feil: Å legge sammen betingede sannsynligheter uten å multiplisere med bunkevalget.
Sensorpunkt: Total-sannsynlighetsformelen med begge grener.
Del 2 - Oppgave 1cBayes’ setning

Oppgave 1c

Oppgave: Bruk Bayes’ setning til å bestemme \(P(F\mid R)\).
Vis løsning

Hva spør oppgaven om? Vi skal finne sannsynligheten for at bunke A ble valgt når vi vet at begge kortene var røde.

Steg 1 - Skriv Bayes’ setning

\[P(F\mid R)=\frac{P(F)P(R\mid F)}{P(R)}.\]

Steg 2 - Sett inn telleren

\(P(F)P(R\mid F)=\frac12\cdot\frac5{14}=\frac5{28}\).

Steg 3 - Sett inn nevneren

Fra b) er \(P(R)=\frac14\).

Steg 4 - Del brøkene

\[\frac{5/28}{1/4}=\frac5{28}\cdot4.\]

Steg 5 - Forkort

\(20/28=5/7\).

Steg 6 - Tolk

Når to røde er observert, er bunke A mest sannsynlig fordi den har høyere andel røde kort.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
(1/2*5/14)/(1/4)
\(\frac57\)

Tolkning: CAS bekrefter Bayes-beregningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
P_F = sp.Rational(1, 2)
P_R_given_F = sp.Rational(5, 14)
P_R = sp.Rational(1, 4)
numerator = P_F*P_R_given_F
posterior = sp.simplify(numerator/P_R)
print("P(F) =", P_F)
print("P(R|F) =", P_R_given_F)
print("P(R) =", P_R)
print("Teller P(F)*P(R|F) =", numerator)
print("P(F|R) = teller / P(R) =", posterior)
print("Desimal =", sp.N(posterior, 6))
Utskrift fra Python:
P(F) = 1/2
P(R|F) = 5/14
P(R) = 1/4
Teller P(F)*P(R|F) = 5/28
P(F|R) = teller / P(R) = 5/7
Desimal = 0.714286

Fasit: \(P(F\mid R)=\frac57\).

Vanlig feil: Å bytte om \(P(F\mid R)\) og \(P(R\mid F)\).
Sensorpunkt: Korrekt Bayes-formel og riktig total sannsynlighet i nevneren.
Del 2 - Oppgave 2aEksponentialfunksjon

Oppgave 2a

Oppgave: Funksjonen er \[f(x)=5e^{-x/2},\qquad x\ge0.\] Bruk graftegner til å tegne grafen til \(f\).
Vis løsning

Hva spør oppgaven om? Vi skal beskrive og kontrollere en avtakende eksponentialgraf på det oppgitte domenet.

Steg 1 - Finn startverdien

\(f(0)=5\).

Steg 2 - Se på eksponenten

Når \(x\) øker, blir \(-x/2\) mer negativ.

Steg 3 - Konkluder monotoni

Grafen er strengt avtakende for \(x\ge0\).

Steg 4 - Finn asymptoten

\(f(x)\to0\) når \(x\to\infty\), så x-aksen er horisontal asymptote.

Steg 5 - Plott støttepunkter

For eksempel \(f(2)=5/e\approx1.84\) og \(f(4)=5/e^2\approx0.68\).

Steg 6 - Tegn grafen

Grafen starter i \((0,5)\), holder seg positiv og nærmer seg 0.

Grafen til f og rektangelet ved maksimalarealet.
Grafen til f og rektangelet ved maksimalarealet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
f(x)=5 exp(-x/2)
Avtakende graf fra \((0,5)\) mot asymptoten \(y=0\)
2
Function[f,0,8]
Domenet begrenses til \(x\ge0\)

Tolkning: Graftegneren viser riktig domene og endeadferd.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", nonnegative=True)
f = 5*sp.exp(-x/2)
print("f(x) =", f)
print("f(0) =", f.subs(x, 0))
print("f(2) =", sp.simplify(f.subs(x, 2)), "≈", sp.N(f.subs(x, 2), 6))
print("f(4) =", sp.simplify(f.subs(x, 4)), "≈", sp.N(f.subs(x, 4), 6))
print("f'(x) =", sp.diff(f, x))
print("Grense x -> uendelig =", sp.limit(f, x, sp.oo))
Utskrift fra Python:
f(x) = 5*exp(-x/2)
f(0) = 5
f(2) = 5*exp(-1) ≈ 1.83940
f(4) = 5*exp(-2) ≈ 0.676676
f'(x) = -5*exp(-x/2)/2
Grense x -> uendelig = 0

Fasit: En positiv, avtakende graf gjennom \((0,5)\) med asymptote \(y=0\).

Vanlig feil: Å tegne grafen for negative x selv om domenet er \(x\ge0\).
Sensorpunkt: Startverdi, monotoni, domene og asymptote skal være synlige.
Del 2 - Oppgave 2bModellering av areal

Oppgave 2b

Oppgave: Rektangelet har hjørnene \(O(0,0)\), \(A(x,0)\), \(B(x,f(x))\) og \(C(0,f(x))\). Forklar at arealet er \[T(x)=5xe^{-x/2}.\]
Vis løsning

Hva spør oppgaven om? Vi skal multiplisere rektangelets bredde og høyde.

Steg 1 - Finn bredden

Avstanden fra \(O\) til \(A\) er \(x\).

Steg 2 - Finn høyden

Avstanden fra \(A\) til \(B\) er \(f(x)\).

Steg 3 - Bruk arealformelen

\(T=\text{bredde}\cdot\text{høyde}\).

Steg 4 - Sett inn størrelsene

\(T(x)=x\cdot f(x)\).

Steg 5 - Sett inn f

\[T(x)=x\cdot5e^{-x/2}.\]

Steg 6 - Skriv standard form

\[T(x)=5xe^{-x/2},\qquad x\ge0.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
T(x)=x*5 exp(-x/2)
\(5xe^{-x/2}\)

Tolkning: CAS multipliserer bredde og høyde.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", nonnegative=True)
width = x
height = 5*sp.exp(-x/2)
T = sp.simplify(width*height)
print("Bredde OA =", width)
print("Høyde AB = f(x) =", height)
print("Areal = bredde * høyde")
print("T(x) =", T)
print("Kontroll T(0) =", T.subs(x, 0))
print("Domenet er x >= 0")
Utskrift fra Python:
Bredde OA = x
Høyde AB = f(x) = 5*exp(-x/2)
Areal = bredde * høyde
T(x) = 5*x*exp(-x/2)
Kontroll T(0) = 0
Domenet er x >= 0

Fasit: \(T(x)=5xe^{-x/2}\), \(x\ge0\).

Vanlig feil: Å bruke \(f(x)^2\) som areal selv om rektangelet ikke er et kvadrat.
Sensorpunkt: Bredde x og høyde f(x) må identifiseres eksplisitt.
Del 2 - Oppgave 2cOptimering

Oppgave 2c

Oppgave: Bestem det største arealet rektangelet kan få. Bestem den tilhørende verdien for \(x\).
Vis løsning

Hva spør oppgaven om? Vi skal derivere arealfunksjonen og kontrollere at det stasjonære punktet gir maksimum.

Steg 1 - Deriver produktet

\[T'(x)=5e^{-x/2}-\frac52xe^{-x/2}.\]

Steg 2 - Faktoriser

\[T'(x)=5e^{-x/2}\left(1-\frac x2\right).\]

Steg 3 - Løs T-prime lik null

Eksponentialleddet er positivt, så \(1-x/2=0\), altså \(x=2\).

Steg 4 - Klassifiser punktet

Faktoren \(1-x/2\) er positiv før 2 og negativ etter 2, så arealet har maksimum.

Steg 5 - Finn maksimalarealet

\[T(2)=10e^{-1}=\frac{10}{e}.\]

Steg 6 - Oppgi desimal

\(10/e\approx3.68\) arealenheter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[5x exp(-x/2),x]
\(5e^{-x/2}(1-x/2)\)
2
Solve[%=0,x]
\(x=2\)
3
Substitute[5x exp(-x/2),x,2]
\(10/e\)

Tolkning: CAS finner både kritisk x-verdi og maksimalareal.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", nonnegative=True)
T = 5*x*sp.exp(-x/2)
dT = sp.factor(sp.diff(T, x))
critical = sp.solve(sp.Eq(dT, 0), x)
maximum = sp.simplify(T.subs(x, critical[0]))
print("T(x) =", T)
print("T'(x) =", dT)
print("Stasjonær x-verdi =", critical)
print("T''(2) =", sp.simplify(sp.diff(T, x, 2).subs(x, 2)))
print("Maksimalt areal =", maximum)
print("Maksimalt areal, desimal ≈", sp.N(maximum, 8))
Utskrift fra Python:
T(x) = 5*x*exp(-x/2)
T'(x) = -5*(x - 2)*exp(-x/2)/2
Stasjonær x-verdi = [2]
T''(2) = -5*exp(-1)/2
Maksimalt areal = 10*exp(-1)
Maksimalt areal, desimal ≈ 3.6787944

Fasit: Maksimum oppnås ved \(x=2\), og arealet er \(10/e\approx3.68\).

Vanlig feil: Å oppgi x-verdien som selve arealet.
Sensorpunkt: Derivasjon, maksimumsklassifisering og både eksakt og numerisk areal.
Del 2 - Oppgave 3aParameterframstilling

Oppgave 3a

Oppgave: Gitt \(A(1,3)\), \(B(4,0)\) og \(C(5,5)\). Bestem en parameterframstilling for linjen \(\ell\) gjennom B og C.
Vis løsning

Hva spør oppgaven om? Vi skal bruke B som startpunkt og \(\overrightarrow{BC}\) som retningsvektor.

Steg 1 - Finn retningsvektoren

\(\overrightarrow{BC}=(5-4,5-0)=(1,5)\).

Steg 2 - Velg startpunkt

Punktet B er \((4,0)\).

Steg 3 - Skriv vektorformen

\[(x,y)=(4,0)+t(1,5).\]

Steg 4 - Skriv komponentvis

\[x=4+t,\qquad y=5t.\]

Steg 5 - Kontroller B

Når \(t=0\), får vi \((4,0)=B\).

Steg 6 - Kontroller C

Når \(t=1\), får vi \((5,5)=C\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Line[(4,0),(5,5)]
\(x-\frac15y=4\)
2
ParametricCurve[4+t,5t,t]
\((x,y)=(4+t,5t)\)

Tolkning: Begge representasjonene beskriver samme linje.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
B = sp.Matrix([4, 0])
C = sp.Matrix([5, 5])
direction = C - B
P = B + t*direction
print("B =", tuple(B), "og C =", tuple(C))
print("Retningsvektor BC =", tuple(direction))
print("Parameterpunkt P(t) =", tuple(P))
print("P(0) =", tuple(P.subs(t, 0)))
print("P(1) =", tuple(P.subs(t, 1)))
print("Komponentform: x = 4 + t, y = 5t")
Utskrift fra Python:
B = (4, 0) og C = (5, 5)
Retningsvektor BC = (1, 5)
Parameterpunkt P(t) = (t + 4, 5*t)
P(0) = (4, 0)
P(1) = (5, 5)
Komponentform: x = 4 + t, y = 5t

Fasit: \(\ell:\ (x,y)=(4,0)+t(1,5)\), \(t\in\mathbb R\).

Vanlig feil: Å bruke \((5,5)\) som retningsvektor i stedet for forskjellen C-B.
Sensorpunkt: Startpunkt og korrekt retningsvektor samt kontroll av B og C.
Del 2 - Oppgave 3bVektorer med parameter

Oppgave 3b

Oppgave: Et punkt P ligger på \(\ell\). Forklar at vi kan skrive \[\overrightarrow{AP}=[3+t,-3+5t]\] for en \(t\in\mathbb R\).
Vis løsning

Hva spør oppgaven om? Vi skal trekke koordinatene til A fra det generelle punktet P på linjen.

Steg 1 - Bruk parameterpunktet

Fra a) er \(P=(4+t,5t)\).

Steg 2 - Skriv A

\(A=(1,3)\).

Steg 3 - Bruk slutt minus start

\(\overrightarrow{AP}=P-A\).

Steg 4 - Regn ut x-komponenten

\((4+t)-1=3+t\).

Steg 5 - Regn ut y-komponenten

\(5t-3=-3+5t\).

Steg 6 - Samle vektoren

\[\overrightarrow{AP}=[3+t,-3+5t].\]

GeoGebra/CAS-kontroll

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

Tolkning: CAS trekker koordinatene komponentvis.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
A = sp.Matrix([1, 3])
P = sp.Matrix([4 + t, 5*t])
AP = sp.simplify(P - A)
print("A =", tuple(A))
print("P(t) =", tuple(P))
print("AP = P - A")
print("x-komponent =", sp.expand(P[0] - A[0]))
print("y-komponent =", sp.expand(P[1] - A[1]))
print("AP =", tuple(AP))
Utskrift fra Python:
A = (1, 3)
P(t) = (t + 4, 5*t)
AP = P - A
x-komponent = t + 3
y-komponent = 5*t - 3
AP = (t + 3, 5*t - 3)

Fasit: \(\overrightarrow{AP}=[3+t,-3+5t]\).

Vanlig feil: Å regne A-P i stedet for P-A.
Sensorpunkt: Komponentvis subtraksjon med riktig retning.
Del 2 - Oppgave 3cOrtogonalitet

Oppgave 3c

Oppgave: Bruk blant annet skalarprodukt til å finne koordinatene til P slik at \(AB\perp AP\).
Vis løsning

Hva spør oppgaven om? Vi skal sette skalarproduktet mellom AB og AP lik null.

Steg 1 - Finn AB

\(\overrightarrow{AB}=(4-1,0-3)=(3,-3)\).

Steg 2 - Bruk AP fra b

\(\overrightarrow{AP}=(3+t,-3+5t)\).

Steg 3 - Sett skalarprodukt lik null

\[3(3+t)-3(-3+5t)=0.\]

Steg 4 - Forenkle

\[18-12t=0.\]

Steg 5 - Løs for t

\(t=3/2\).

Steg 6 - Finn P

\[P=(4+3/2,5\cdot3/2)=\left(\frac{11}{2},\frac{15}{2}\right).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Dot[(3,-3),(3+t,-3+5t)]=0,t]
\(t=\frac32\)
2
Substitute[(4+t,5t),t,3/2]
\(P=(\frac{11}{2},\frac{15}{2})\)

Tolkning: CAS finner parameteren og punktet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
AB = sp.Matrix([3, -3])
AP = sp.Matrix([3 + t, -3 + 5*t])
dot = sp.expand(AB.dot(AP))
solution = sp.solve(sp.Eq(dot, 0), t)[0]
P = sp.Matrix([4 + t, 5*t]).subs(t, solution)
print("AB =", tuple(AB))
print("AP =", tuple(AP))
print("AB · AP =", dot)
print("Løsningen er t =", solution)
print("P =", tuple(P))
print("Kontroll AB · AP =", dot.subs(t, solution))
Utskrift fra Python:
AB = (3, -3)
AP = (t + 3, 5*t - 3)
AB · AP = 18 - 12*t
Løsningen er t = 3/2
P = (11/2, 15/2)
Kontroll AB · AP = 0

Fasit: \(P=(11/2,15/2)\).

Vanlig feil: Å bruke \(BC\) i skalarproduktet i stedet for \(AB\).
Sensorpunkt: Riktig vinkelpunkt A, skalarprodukt 0 og fullstendige koordinater.
Del 2 - Oppgave 3dVinkel mellom vektorer

Oppgave 3d

Oppgave: Bruk CAS til å bestemme hvilke koordinater P kan ha når \(\angle BAP=45^{\circ}\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke skalarproduktformelen for 45 grader og beholde løsningene med positivt skalarprodukt.

Steg 1 - Skriv vektorene

\(AB=(3,-3)\) og \(AP=(3+t,-3+5t)\).

Steg 2 - Bruk vinkelbetingelsen

\[\frac{AB\cdot AP}{|AB||AP|}=\cos45^{\circ}=\frac{\sqrt2}{2}.\]

Steg 3 - Kvadrer likningen

\((AB\cdot AP)^2=\frac12|AB|^2|AP|^2\).

Steg 4 - Løs med CAS

Likningen faktoriseres til \(-18(t+3)(5t-3)=0\).

Steg 5 - Finn parameterverdiene

\(t=-3\) eller \(t=3/5\). Begge gir positivt skalarprodukt og dermed 45 grader, ikke 135 grader.

Steg 6 - Finn punktene

For \(t=-3\): \(P=(1,-15)\). For \(t=3/5\): \(P=(23/5,3)\).

Linjen gjennom B og C med aktuelle punkt P.
Linjen gjennom B og C med aktuelle punkt P.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(Dot[(3,-3),(3+t,-3+5t)])^2=(1/2)Length[(3,-3)]^2 Length[(3+t,-3+5t)]^2,t]
\(t=-3\;\lor\;t=\frac35\)

Tolkning: CAS løser den kvadrerte vinkelbetingelsen; fortegnet kontrolleres etterpå.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
AB = sp.Matrix([3, -3])
AP = sp.Matrix([3 + t, -3 + 5*t])
dot = sp.expand(AB.dot(AP))
eq = sp.factor(dot**2 - sp.Rational(1,2)*(AB.dot(AB))*(AP.dot(AP)))
solutions = sp.solve(sp.Eq(eq, 0), t)
print("AB · AP =", dot)
print("Kvadrert vinkellikning, samlet =", eq)
print("Parameterløsninger =", solutions)
for value in solutions:
    P = sp.Matrix([4+t, 5*t]).subs(t, value)
    print("t =", value, "gir P =", tuple(P), "og skalarprodukt =", dot.subs(t, value))
print("Begge skalarproduktene er positive, så vinkelen er 45 grader.")
Utskrift fra Python:
AB · AP = 18 - 12*t
Kvadrert vinkellikning, samlet = -18*(t + 3)*(5*t - 3)
Parameterløsninger = [-3, 3/5]
t = -3 gir P = (1, -15) og skalarprodukt = 54
t = 3/5 gir P = (23/5, 3) og skalarprodukt = 54/5
Begge skalarproduktene er positive, så vinkelen er 45 grader.

Fasit: \(P=(1,-15)\) eller \(P=(23/5,3)\).

Vanlig feil: Å akseptere løsninger fra den kvadrerte likningen uten å kontrollere om vinkelen er 45 eller 135 grader.
Sensorpunkt: CAS-likning, begge punkter og fortegnskontroll av skalarproduktet.
Del 2 - Oppgave 4aNormaler til hyperbel

Oppgave 4a

Oppgave: Funksjonen er \(f(x)=1/x\). A, B og C ligger på grafen med \(A(r,1/r)\), \(B(s,1/s)\), \(C(t,1/t)\). Vis at normalen \(\ell_1\) gjennom A på linjen BC er \[y=st(x-r)+\frac1r.\]
Vis løsning

Hva spør oppgaven om? Vi skal finne stigningstallet til BC og bruke at normale linjer har produkt av stigningstall lik -1.

Steg 1 - Finn stigningstallet til BC

\[m_{BC}=\frac{1/t-1/s}{t-s}.\]

Steg 2 - Samle brøken i telleren

\(1/t-1/s=(s-t)/(st)\).

Steg 3 - Forkort

\[m_{BC}=\frac{s-t}{st(t-s)}=-\frac1{st}.\]

Steg 4 - Finn normalens stigningstall

\(m_{\ell_1}=-1/m_{BC}=st\).

Steg 5 - Bruk punktet A

Punkt-stigning-formen gir \(y-1/r=st(x-r)\).

Steg 6 - Løs for y

\[y=st(x-r)+\frac1r.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[(1/t-1/s)/(t-s)]
\(-\frac1{st}\)
2
Normal[(r,1/r),Line[(s,1/s),(t,1/t)]]
\(y=st(x-r)+\frac1r\)

Tolkning: CAS bekrefter stigningstallet og normalens likning.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
r, s, t, x = sp.symbols("r s t x", nonzero=True)
slope_BC = sp.simplify((1/t - 1/s)/(t - s))
slope_normal = sp.simplify(-1/slope_BC)
y_line = sp.expand(slope_normal*(x-r) + 1/r)
print("m_BC = (1/t - 1/s)/(t - s) =", slope_BC)
print("Normalens stigningstall = -1/m_BC =", slope_normal)
print("Punkt A = (r, 1/r)")
print("Linjen i punkt-stigning-form: y - 1/r = st(x-r)")
print("Høyresiden for y =", y_line)
print("Kontroll ved x = r:", sp.simplify(y_line.subs(x, r)))
Utskrift fra Python:
m_BC = (1/t - 1/s)/(t - s) = -1/(s*t)
Normalens stigningstall = -1/m_BC = s*t
Punkt A = (r, 1/r)
Linjen i punkt-stigning-form: y - 1/r = st(x-r)
Høyresiden for y = -r*s*t + s*t*x + 1/r
Kontroll ved x = r: 1/r

Fasit: \(\ell_1:y=st(x-r)+1/r\).

Vanlig feil: Å bruke den samme stigningen som BC i stedet for den negative inverse.
Sensorpunkt: Stigningstall for BC, normalbetingelse og punkt-stigning-form.
Del 2 - Oppgave 4bOrtosenter på hyperbel

Oppgave 4b

Oppgave: Linjen \(\ell_2\) gjennom B normalt på AC er \[y=rt(x-s)+\frac1s.\] Linjene \(\ell_1\) og \(\ell_2\) skjærer hverandre i P. Bruk CAS til å vise at P alltid ligger på grafen til \(f\).
Vis løsning

Hva spør oppgaven om? Vi skal løse de to lineære likningene symbolsk og kontrollere at koordinatproduktet er 1.

Steg 1 - Sett linjene lik hverandre

\[st(x-r)+\frac1r=rt(x-s)+\frac1s.\]

Steg 2 - Utvid begge sider

Leddene \(-rst\) forekommer på begge sider og kanselleres.

Steg 3 - Løs for x

\[t(s-r)x=\frac1s-\frac1r=-\frac{s-r}{rs},\] så \[x_P=-\frac1{rst}.\]

Steg 4 - Finn y

Sett inn i \(\ell_1\): \[y_P=st\left(-\frac1{rst}-r\right)+\frac1r=-rst.\]

Steg 5 - Kontroller hyperbellikningen

\[x_Py_P=\left(-\frac1{rst}\right)(-rst)=1.\]

Steg 6 - Konkluder

Dermed er \(y_P=1/x_P\), så P ligger alltid på grafen til \(f(x)=1/x\).

Eksempel som viser at ortosenteret P ligger på hyperbelen.
Eksempel som viser at ortosenteret P ligger på hyperbelen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[{y=st(x-r)+1/r,y=rt(x-s)+1/s},{x,y}]
\(x=-\frac1{rst},\;y=-rst\)
2
Simplify[x*y /. %]
\(1\)

Tolkning: CAS finner skjæringspunktet og bekrefter hyperbellikningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
r, s, t, x, y = sp.symbols("r s t x y", nonzero=True)
ell1 = sp.Eq(y, s*t*(x-r) + 1/r)
ell2 = sp.Eq(y, r*t*(x-s) + 1/s)
solution = sp.solve((ell1, ell2), (x, y), dict=True)[0]
xP = sp.simplify(solution[x])
yP = sp.simplify(solution[y])
print("Skjæringspunktets x-koordinat =", xP)
print("Skjæringspunktets y-koordinat =", yP)
print("x_P * y_P =", sp.simplify(xP*yP))
print("1/x_P =", sp.simplify(1/xP))
print("y_P - 1/x_P =", sp.simplify(yP - 1/xP))
print("Dermed ligger P på y = 1/x.")
Utskrift fra Python:
Skjæringspunktets x-koordinat = -1/(r*s*t)
Skjæringspunktets y-koordinat = -r*s*t
x_P * y_P = 1
1/x_P = -r*s*t
y_P - 1/x_P = 0
Dermed ligger P på y = 1/x.

Fasit: \(P=(-1/(rst),-rst)\), og siden \(x_Py_P=1\), ligger P på \(y=1/x\).

Vanlig feil: Å stoppe etter å ha funnet P uten å kontrollere grafbetingelsen.
Sensorpunkt: Symbolsk skjæringspunkt og eksplisitt verifikasjon av \(y=1/x\).
Kildegrunnlag: Utdanningsdirektoratets eksamenssett REA3022 Matematikk R1, våren 2016. Løsningene, forklaringene, figurene og kontrollkodene er originalt utarbeidet for ifingo.