R1 eksamenHøst 2015

Matematikk R1 eksamen – høst 2015

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - høsten 2015 (REA3022)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon

Oppgave 1a

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

Hva spør oppgaven om? Vi skal derivere et polynom ledd for ledd med potensregelen.

Steg 1 - Bruk potensregelen

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

Steg 2 - Deriver første ledd

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

Steg 3 - Deriver andre ledd

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

Steg 4 - Deriver konstanten

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

Steg 5 - Summer

\[f\'(x)=6x+5.\]

Steg 6 - Kontroller graden

Et andregradspolynom skal gi en lineær derivert.

GeoGebra/CAS-kontroll

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

Tolkning: CAS bekrefter den leddvise derivasjonen.

Python-kontroll med SymPy

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

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

Vanlig feil: Å glemme at konstantleddet får derivert lik 0.
Sensorpunkt: Korrekt potensregel og korrekt samling av ledd.
Del 1 - Oppgave 1bKjerneregel

Oppgave 1b

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

Hva spør oppgaven om? Vi skal bruke kjerneregelen på en fjerde potens av et andregradsuttrykk.

Steg 1 - Velg indre funksjon

Sett \(u=x^2-2\), slik at \(g=3u^4\).

Steg 2 - Deriver ytre funksjon

\(\frac{d}{du}(3u^4)=12u^3\).

Steg 3 - Deriver kjernen

\(u\'(x)=2x\).

Steg 4 - Bruk kjerneregelen

\(g\'(x)=12u^3\cdot2x\).

Steg 5 - Sett inn kjernen

\[g\'(x)=24x(x^2-2)^3.\]

Steg 6 - Kontroller faktorene

Faktoren 3, eksponenten 4 og den indre deriverte 2x er alle med.

GeoGebra/CAS-kontroll

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

Tolkning: CAS viser den faktoriserte deriverte.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
u = x**2 - 2
g = 3*u**4
print("u(x) =", u)
print("u'(x) =", sp.diff(u, x))
print("g(x) =", g)
print("Ytre faktor 3*4 =", 3*4)
print("g'(x) =", sp.factor(sp.diff(g, x)))
print("Utvidet kontroll =", sp.expand(sp.diff(g, x)))
Utskrift fra Python:
u(x) = x**2 - 2
u'(x) = 2*x
g(x) = 3*(x**2 - 2)**4
Ytre faktor 3*4 = 12
g'(x) = 24*x*(x**2 - 2)**3
Utvidet kontroll = 24*x**7 - 144*x**5 + 288*x**3 - 192*x

Fasit: \(g\'(x)=24x(x^2-2)^3\).

Vanlig feil: Å glemme den indre deriverte \(2x\).
Sensorpunkt: Sensor ser etter en fullstendig kjerneregel.
Del 1 - Oppgave 1cProdukt- og kjerneregel

Oppgave 1c

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

Hva spør oppgaven om? Vi skal kombinere produktregelen med kjerneregelen for logaritmen.

Steg 1 - Identifiser produktet

La \(u=x\) og \(v=\ln(x^2+3)\).

Steg 2 - Deriver første faktor

\(u\'=1\).

Steg 3 - Deriver logaritmen

\(v\'=\frac{2x}{x^2+3}\).

Steg 4 - Bruk produktregelen

\(h\'=u\'v+uv\'\).

Steg 5 - Sett inn

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

Steg 6 - Kontroller domenet

\(x^2+3>0\) for alle reelle \(x\), så uttrykket gjelder på \(\mathbb R\).

GeoGebra/CAS-kontroll

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

Tolkning: CAS bekrefter både produktregelen og kjerneregelen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
h = x*sp.log(x**2 + 3)
print("h(x) =", h)
print("Første faktor: x, derivert =", sp.diff(x, x))
print("Andre faktor: ln(x^2 + 3)")
print("Derivert av andre faktor =", sp.diff(sp.log(x**2 + 3), x))
print("Produktregel, h'(x) =", sp.diff(h, x))
print("Samlet form =", sp.together(sp.diff(h, x)))
Utskrift fra Python:
h(x) = x*log(x**2 + 3)
Første faktor: x, derivert = 1
Andre faktor: ln(x^2 + 3)
Derivert av andre faktor = 2*x/(x**2 + 3)
Produktregel, h'(x) = 2*x**2/(x**2 + 3) + log(x**2 + 3)
Samlet form = (2*x**2 + (x**2 + 3)*log(x**2 + 3))/(x**2 + 3)

Fasit: \(h\'(x)=\ln(x^2+3)+\dfrac{2x^2}{x^2+3}\).

Vanlig feil: Å derivere bare én av faktorene.
Sensorpunkt: Både produktregel og indre derivert må være synlige.
Del 1 - Oppgave 2Fortegnslinje

Oppgave 2

Oppgave: Funksjonen er \[f(x)=xe^{-x},\qquad D_f=\mathbb R.\] Tegn fortegnslinjen til \(f\'(x)\).
Vis løsning

Hva spør oppgaven om? Vi skal derivere funksjonen, faktorisere den deriverte og bruke faktorene til å bestemme fortegnet.

Steg 1 - Deriver produktet

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

Steg 2 - Faktoriser

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

Steg 3 - Vurder eksponentialfaktoren

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

Steg 4 - Finn nullpunktet

\(1-x=0\) gir \(x=1\).

Steg 5 - Bestem fortegn

For \(x<1\) er \(1-x>0\); for \(x>1\) er \(1-x<0\).

Steg 6 - Tegn konklusjonen

Fortegnslinjen er \(+\mid 0\mid-\) med skille ved \(x=1\).

Fortegnslinje for den deriverte.
Fortegnslinje for den deriverte.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[Derivative[x*exp(-x),x]]
\(e^{-x}(1-x)\)
2
Solve[exp(-x)*(1-x)=0,x]
\(x=1\)

Tolkning: Siden eksponentialfaktoren alltid er positiv, bestemmes fortegnet av 1-x.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x*sp.exp(-x)
fp = sp.factor(sp.diff(f, x))
print("f(x) =", f)
print("f'(x) =", fp)
print("Nullpunkt for f' =", sp.solve(sp.Eq(fp, 0), x))
for test in [-1, 1, 2]:
    print(f"f'({test}) =", sp.simplify(fp.subs(x, test)))
print("Fortegn: positiv for x < 1, null ved x = 1, negativ for x > 1")
Utskrift fra Python:
f(x) = x*exp(-x)
f'(x) = -(x - 1)*exp(-x)
Nullpunkt for f' = [1]
f'(-1) = 2*E
f'(1) = 0
f'(2) = -exp(-2)
Fortegn: positiv for x < 1, null ved x = 1, negativ for x > 1

Fasit: \(f\'(x)>0\) for \(x<1\), \(f\'(1)=0\), og \(f\'(x)<0\) for \(x>1\).

Vanlig feil: Å tro at \(e^{-x}\) kan være negativ.
Sensorpunkt: Fortegnslinjen skal begrunnes med faktorene i den deriverte.
Del 1 - Oppgave 3aFaktorteoremet

Oppgave 3a

Oppgave: \(f(x)=x^3-2x^2-kx+6\). Bestem \(k\) slik at divisjonen \(f(x):(x-1)\) går opp.
Vis løsning

Hva spør oppgaven om? Vi skal bruke faktorteoremet: x-1 er faktor akkurat når f(1)=0.

Steg 1 - Bruk faktorteoremet

Kravet er \(f(1)=0\).

Steg 2 - Sett inn x=1

\(f(1)=1-2-k+6\).

Steg 3 - Forenkle

\(f(1)=5-k\).

Steg 4 - Sett lik null

\(5-k=0\).

Steg 5 - Løs

\[k=5.\]

Steg 6 - Kontroller

Med \(k=5\) er \(f(1)=1-2-5+6=0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[1^3-2*1^2-k*1+6=0,k]
\(k=5\)

Tolkning: CAS bruker samme restsetning.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, k = sp.symbols("x k")
f = x**3 - 2*x**2 - k*x + 6
rest = sp.expand(f.subs(x, 1))
print("f(x) =", f)
print("Rest ved divisjon med x - 1 er f(1) =", rest)
solution = sp.solve(sp.Eq(rest, 0), k)
print("Løsning for k =", solution)
print("Kontroll f(1) når k=5 =", f.subs({x:1, k:5}))
Utskrift fra Python:
f(x) = -k*x + x**3 - 2*x**2 + 6
Rest ved divisjon med x - 1 er f(1) = 5 - k
Løsning for k = [5]
Kontroll f(1) når k=5 = 0

Fasit: \(k=5\).

Vanlig feil: Å utføre lang divisjon før man bruker faktorteoremet.
Sensorpunkt: Sensor ser etter kravet f(1)=0 og korrekt løsning for k.
Del 1 - Oppgave 3bFaktorisering

Oppgave 3b

Oppgave: Bruk \(k=5\) og faktoriser \(f(x)=x^3-2x^2-5x+6\) i lineære faktorer.
Vis løsning

Hva spør oppgaven om? Vi kjenner allerede faktoren x-1 og skal finne de to resterende faktorene.

Steg 1 - Ta ut kjent faktor

\(f(x)=(x-1)q(x)\).

Steg 2 - Utfør polynomdivisjon

Kvotienten blir \(q(x)=x^2-x-6\).

Steg 3 - Faktoriser andregradsuttrykket

Vi trenger to tall med produkt -6 og sum -1: -3 og 2.

Steg 4 - Skriv kvotienten

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

Steg 5 - Sett sammen

\[f(x)=(x-1)(x-3)(x+2).\]

Steg 6 - Kontroller

Utvidelse gir tilbake \(x^3-2x^2-5x+6\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[x^3-2x^2-5x+6]
\((x-3)(x-1)(x+2)\)

Tolkning: CAS bekrefter de tre lineære faktorene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
f = x**3 - 2*x**2 - 5*x + 6
q, r = sp.div(f, x - 1)
print("f(x) =", f)
print("Kvotient ved divisjon med x - 1 =", q)
print("Rest =", r)
print("Faktorisert kvotient =", sp.factor(q))
print("Full faktorisering =", sp.factor(f))
print("Utvidet kontroll =", sp.expand((x-1)*(x-3)*(x+2)))
Utskrift fra Python:
f(x) = x**3 - 2*x**2 - 5*x + 6
Kvotient ved divisjon med x - 1 = x**2 - x - 6
Rest = 0
Faktorisert kvotient = (x - 3)*(x + 2)
Full faktorisering = (x - 3)*(x - 1)*(x + 2)
Utvidet kontroll = x**3 - 2*x**2 - 5*x + 6

Fasit: \(f(x)=(x-1)(x-3)(x+2)\).

Vanlig feil: Å miste fortegnet i faktoren x+2.
Sensorpunkt: Korrekt divisjon og tre lineære faktorer.
Del 1 - Oppgave 3cUlikhet

Oppgave 3c

Oppgave: Løs ulikheten \[f(x)\ge 0\] når \(f(x)=(x+2)(x-1)(x-3)\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke nullpunktene til å lage en fortegnsanalyse.

Steg 1 - Finn nullpunktene

Nullpunktene er \(x=-2,1,3\).

Steg 2 - Del tallinjen

Intervallene blir \(( -\infty,-2),(-2,1),(1,3),(3,\infty)\).

Steg 3 - Test første intervall

For \(x<-2\) er produktet negativt.

Steg 4 - Fortsett fortegnsskiftet

Hver enkel rot skifter fortegn: positivt, negativt, positivt.

Steg 5 - Ta med nullpunktene

Fordi ulikheten er \(\ge0\), skal røttene inkluderes.

Steg 6 - Skriv løsningsmengden

\[x\in[-2,1]\cup[3,\infty).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(x+2)(x-1)(x-3)>=0,x]
\([-2,1]\cup[3,\infty)\)

Tolkning: CAS gir samme intervalløsning.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = (x + 2)*(x - 1)*(x - 3)
print("f(x) =", sp.expand(f))
print("Nullpunkter =", sp.solve(sp.Eq(f, 0), x))
for test in [-3, 0, 2, 4]:
    value = sp.expand(f.subs(x, test))
    print(f"f({test}) = {value}")
solution = sp.solve_univariate_inequality(f >= 0, x)
print("Løsning av f(x) >= 0:", solution)
Utskrift fra Python:
f(x) = x**3 - 2*x**2 - 5*x + 6
Nullpunkter = [-2, 1, 3]
f(-3) = -24
f(0) = 6
f(2) = -4
f(4) = 18
Løsning av f(x) >= 0: (3 <= x) | ((-2 <= x) & (x <= 1))

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

Vanlig feil: Å utelate nullpunktene når tegnet er større enn eller lik.
Sensorpunkt: Fortegn på alle intervaller og korrekt intervallnotasjon.
Del 1 - Oppgave 4Logaritmeregler

Oppgave 4

Oppgave: Skriv så enkelt som mulig \[\lg(a^2b^3)+\lg\left(\frac1{b^2}\right)-\lg\left(\frac ba\right).\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke produkt- og kvotientregelen for logaritmer.

Steg 1 - Slå sammen de to første

\(\lg(a^2b^3)+\lg(1/b^2)=\lg(a^2b)\).

Steg 2 - Bruk minusregelen

\(\lg(a^2b)-\lg(b/a)=\lg\left(\frac{a^2b}{b/a}\right)\).

Steg 3 - Forenkle brøken

\(\frac{a^2b}{b/a}=a^3\).

Steg 4 - Skriv som én logaritme

Uttrykket er \(\lg(a^3)\).

Steg 5 - Bruk potensregelen

\[\lg(a^3)=3\lg a.\]

Steg 6 - Oppgi betingelsene

Logaritmene krever \(a>0\) og \(b>0\).

GeoGebra/CAS-kontroll

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

Tolkning: Logaritmereglene reduserer hele uttrykket til 3 lg a.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a, b = sp.symbols("a b", positive=True)
expr = sp.log(a**2*b**3, 10) + sp.log(1/b**2, 10) - sp.log(b/a, 10)
print("Opprinnelig uttrykk =", expr)
combined_argument = sp.simplify((a**2*b**3)*(1/b**2)/(b/a))
print("Samlet logaritmeargument =", combined_argument)
print("lg(a^3) utvidet =", sp.expand_log(sp.log(a**3, 10), force=True))
print("Forskjell fra 3*lg(a) =", sp.simplify(expr - 3*sp.log(a, 10)))
print("Betingelser: a > 0 og b > 0")
Utskrift fra Python:
Opprinnelig uttrykk = log(b**(-2))/log(10) - log(b/a)/log(10) + log(a**2*b**3)/log(10)
Samlet logaritmeargument = a**3
lg(a^3) utvidet = 3*log(a)/log(10)
Forskjell fra 3*lg(a) = 0
Betingelser: a > 0 og b > 0

Fasit: \(3\lg a\), for \(a>0\) og \(b>0\).

Vanlig feil: Å glemme at minus foran en logaritme betyr divisjon.
Sensorpunkt: Korrekt bruk av alle tre logaritmereglene.
Del 1 - Oppgave 5aNullpunkter

Oppgave 5a

Oppgave: \(f(x)=-x^4+4x^3\), \(x\in[-2,4]\). Bestem eventuelle nullpunkter.
Vis løsning

Hva spør oppgaven om? Vi skal faktorisere funksjonsuttrykket og undersøke hvilke røtter som ligger i definisjonsmengden.

Steg 1 - Faktoriser

\(f(x)=x^3(4-x)\).

Steg 2 - Bruk nullproduktregelen

Enten \(x^3=0\) eller \(4-x=0\).

Steg 3 - Løs første likning

\(x=0\), en trippelrot.

Steg 4 - Løs andre likning

\(x=4\).

Steg 5 - Kontroller intervallet

Begge verdiene ligger i det lukkede intervallet \([-2,4]\).

Steg 6 - Skriv punktene

Nullpunktene på grafen er \((0,0)\) og \((4,0)\).

GeoGebra/CAS-kontroll

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

Tolkning: CAS bekrefter begge røttene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
print("f(x) =", f)
print("Faktorisert =", sp.factor(f))
roots = sp.solve(sp.Eq(f, 0), x)
print("Alle reelle røtter =", roots)
print("Røtter i intervallet [-2, 4] =", [r for r in roots if -2 <= r <= 4])
for r in roots:
    print(f"f({r}) =", f.subs(x, r))
Utskrift fra Python:
f(x) = -x**4 + 4*x**3
Faktorisert = -x**3*(x - 4)
Alle reelle røtter = [0, 4]
Røtter i intervallet [-2, 4] = [0, 4]
f(0) = 0
f(4) = 0

Fasit: Nullpunktene er \((0,0)\) og \((4,0)\).

Vanlig feil: Å overse at x=0 er en trippelrot.
Sensorpunkt: Faktorisering, nullproduktregel og intervallkontroll.
Del 1 - Oppgave 5bEkstremalpunkter

Oppgave 5b

Oppgave: Bestem eventuelle topp- og bunnpunkter på grafen til \(f(x)=-x^4+4x^3\) for \(x\in[-2,4]\).
Vis løsning

Hva spør oppgaven om? Vi skal finne kritiske punkter og også kontrollere endepunktene fordi intervallet er lukket.

Steg 1 - Deriver

\(f\'(x)=-4x^3+12x^2=4x^2(3-x)\).

Steg 2 - Finn kritiske x-verdier

\(f\'(x)=0\) gir \(x=0\) og \(x=3\).

Steg 3 - Vurder fortegn

Den deriverte er positiv før 3 og negativ etter 3; x=0 gir ikke fortegnsskifte.

Steg 4 - Finn toppunktet

\(f(3)=-81+108=27\), så \((3,27)\) er toppunkt.

Steg 5 - Kontroller endepunktene

\(f(-2)=-48\) og \(f(4)=0\).

Steg 6 - Bestem bunnpunktet

Den minste verdien er -48 ved venstre endepunkt, altså \((-2,-48)\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Extremum[-x^4+4x^3,-2,4]
Maks: \((3,27)\), min: \((-2,-48)\)

Tolkning: CAS og endepunktkontroll gir samme globale ekstremalpunkter.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
fp = sp.factor(sp.diff(f, x))
critical = sp.solve(sp.Eq(fp, 0), x)
candidates = [-2] + critical + [4]
print("f'(x) =", fp)
print("Kritiske x-verdier =", critical)
print("Kandidater i lukket intervall =", candidates)
values = [(c, sp.simplify(f.subs(x, c))) for c in candidates]
for c, value in values:
    print(f"f({c}) = {value}")
print("Minste verdi =", min(values, key=lambda item: float(item[1])))
print("Største verdi =", max(values, key=lambda item: float(item[1])))
Utskrift fra Python:
f'(x) = -4*x**2*(x - 3)
Kritiske x-verdier = [0, 3]
Kandidater i lukket intervall = [-2, 0, 3, 4]
f(-2) = -48
f(0) = 0
f(3) = 27
f(4) = 0
Minste verdi = (-2, -48)
Største verdi = (3, 27)

Fasit: Bunnpunkt \((-2,-48)\) og toppunkt \((3,27)\). Punktet \((0,0)\) er stasjonært, men ikke et ekstremalpunkt.

Vanlig feil: Å glemme endepunktene i et lukket intervall.
Sensorpunkt: Kritiske punkter, fortegn og endepunktverdier må vurderes.
Del 1 - Oppgave 5cVendepunkter

Oppgave 5c

Oppgave: Bestem eventuelle vendepunkter på grafen til \(f(x)=-x^4+4x^3\).
Vis løsning

Hva spør oppgaven om? Vi skal finne nullpunktene til den andrederiverte og kontrollere at krumningen skifter.

Steg 1 - Finn andrederivert

\(f''(x)=-12x^2+24x=-12x(x-2)\).

Steg 2 - Finn kandidater

\(f''(x)=0\) gir \(x=0\) og \(x=2\).

Steg 3 - Kontroller rundt x=0

Andrederivert skifter fra negativ til positiv.

Steg 4 - Kontroller rundt x=2

Andrederivert skifter fra positiv til negativ.

Steg 5 - Finn y-verdiene

\(f(0)=0\) og \(f(2)=16\).

Steg 6 - Skriv vendepunktene

\[(0,0)\quad\text{og}\quad(2,16).\]

GeoGebra/CAS-kontroll

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

Tolkning: CAS finner kandidatene; fortegnsskifte bekrefter at begge er vendepunkter.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
fpp = sp.factor(sp.diff(f, x, 2))
candidates = sp.solve(sp.Eq(fpp, 0), x)
print("f''(x) =", fpp)
print("Kandidater =", candidates)
for test in [-1, 1, 3]:
    print(f"f''({test}) =", fpp.subs(x, test))
for c in candidates:
    print(f"Vendepunktkandidat ved x={c}: y =", f.subs(x, c))
print("Krumningen skifter ved begge kandidatene")
Utskrift fra Python:
f''(x) = -12*x*(x - 2)
Kandidater = [0, 2]
f''(-1) = -36
f''(1) = 12
f''(3) = -36
Vendepunktkandidat ved x=0: y = 0
Vendepunktkandidat ved x=2: y = 16
Krumningen skifter ved begge kandidatene

Fasit: Vendepunktene er \((0,0)\) og \((2,16)\).

Vanlig feil: Å kalle alle nullpunkter til f'' vendepunkter uten å kontrollere fortegnsskifte.
Sensorpunkt: Kandidatene og krumningsskiftet må dokumenteres.
Del 1 - Oppgave 5dGrafskisse

Oppgave 5d

Oppgave: Lag en skisse av grafen til \(f(x)=-x^4+4x^3\) på \([-2,4]\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke nullpunkter, ekstremalpunkter, vendepunkter og endepunkter til å lage en presis skisse.

Steg 1 - Marker endepunktene

Grafen starter i \((-2,-48)\) og ender i \((4,0)\).

Steg 2 - Marker nullpunktene

Grafen treffer x-aksen i \((0,0)\) og \((4,0)\).

Steg 3 - Marker toppunktet

Grafen har topp i \((3,27)\).

Steg 4 - Marker vendepunktene

Krumningen skifter i \((0,0)\) og \((2,16)\).

Steg 5 - Bruk monotonien

Grafen stiger fram til x=3 og synker deretter.

Steg 6 - Tegn sammenhengende

Ved x=0 passerer grafen flatt gjennom aksen fordi roten har oddetallsmultiplikitet 3.

Kontrollert grafskisse for oppgave 5.
Kontrollert grafskisse for oppgave 5.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Function[-x^4+4x^3,-2,4]
Graf på det lukkede intervallet

Tolkning: Grafen skal vise alle nøkkelpunktene og riktig form.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
key_x = [-2, 0, 2, 3, 4]
print("Nøkkelpunkter for grafskissen:")
for value in key_x:
    print(f"x = {value:>2}, f(x) = {sp.expand(f.subs(x, value))}")
print("f'(x) =", sp.factor(sp.diff(f, x)))
print("f''(x) =", sp.factor(sp.diff(f, x, 2)))
print("Stiger for x < 3, synker for x > 3 innen intervallet")
Utskrift fra Python:
Nøkkelpunkter for grafskissen:
x = -2, f(x) = -48
x =  0, f(x) = 0
x =  2, f(x) = 16
x =  3, f(x) = 27
x =  4, f(x) = 0
f'(x) = -4*x**2*(x - 3)
f''(x) = -12*x*(x - 2)
Stiger for x < 3, synker for x > 3 innen intervallet

Fasit: Grafen går gjennom \((-2,-48),(0,0),(2,16),(3,27),(4,0)\) med riktig monotoni og krumning.

Vanlig feil: Å tegne x=0 som et topp- eller bunnpunkt.
Sensorpunkt: Skissen må stemme med alle tidligere beregnede egenskaper.
Del 1 - Oppgave 6Sirkelgeometri

Oppgave 6

Oppgave: I en sirkel er \(BD\) diameter, \(\angle BDC=50^{\circ}\), \(\angle BAC=u\) og \(\angle CBD=v\). Bestem \(u\) og \(v\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke periferivinkler som spenner over samme bue og Tales setning for diameteren.

Steg 1 - Sammenlign u og 50 grader

Vinklene \(\angle BAC\) og \(\angle BDC\) spenner begge over buen \(BC\).

Steg 2 - Bruk periferivinkelsetningen

Periferivinkler over samme bue er like, derfor \(u=50^{\circ}\).

Steg 3 - Bruk diameteren

Fordi \(BD\) er diameter, er \(\angle BCD=90^{\circ}\).

Steg 4 - Se på trekant BCD

Vinkelsummen er \(180^{\circ}\).

Steg 5 - Regn ut v

\(v=180^{\circ}-90^{\circ}-50^{\circ}=40^{\circ}\).

Steg 6 - Skriv konklusjonen

\[u=50^{\circ},\qquad v=40^{\circ}.\]

Geometrisk oppsett med diameter og periferivinkler.
Geometrisk oppsett med diameter og periferivinkler.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Angle[B,D,C]
\(50^{\circ}\)
2
Angle[B,A,C]
\(50^{\circ}\)
3
Angle[C,B,D]
\(40^{\circ}\)

Tolkning: GeoGebra-målingene stemmer med det geometriske resonnementet.

Python-kontroll med SymPy

Python 3 - SymPy
given_angle = 50
right_angle = 90
u = given_angle
v = 180 - right_angle - given_angle
print("Gitt vinkel BDC =", given_angle, "grader")
print("BAC og BDC spenner over samme bue BC")
print("u =", u, "grader")
print("BCD = 90 grader fordi BD er diameter")
print("v = 180 - 90 - 50 =", v, "grader")
print("Kontroll i trekant BCD:", given_angle + right_angle + v, "grader")
Utskrift fra Python:
Gitt vinkel BDC = 50 grader
BAC og BDC spenner over samme bue BC
u = 50 grader
BCD = 90 grader fordi BD er diameter
v = 180 - 90 - 50 = 40 grader
Kontroll i trekant BCD: 180 grader

Fasit: \(u=50^{\circ}\) og \(v=40^{\circ}\).

Vanlig feil: Å bruke vinkelsummen i feil trekant.
Sensorpunkt: Samme-bue-argumentet og Tales setning skal komme tydelig fram.
Del 1 - Oppgave 7aTotal sannsynlighet

Oppgave 7a

Oppgave: 60 % av elevene er jenter. 70 % av jentene og 55 % av guttene har blå øyne. Bestem sannsynligheten for at en tilfeldig elev har blå øyne.
Vis løsning

Hva spør oppgaven om? Vi skal summere sannsynligheten langs de to mulige veiene: jente med blå øyne eller gutt med blå øyne.

Steg 1 - Finn andel gutter

\(P(G)=1-0.60=0.40\).

Steg 2 - Jente og blå

\(P(J\cap B)=0.60\cdot0.70=0.42\).

Steg 3 - Gutt og blå

\(P(G\cap B)=0.40\cdot0.55=0.22\).

Steg 4 - Bruk total sannsynlighet

\(P(B)=0.42+0.22\).

Steg 5 - Regn ut

\[P(B)=0.64.\]

Steg 6 - Skriv prosent

Sannsynligheten er 64 %.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
0.60*0.70+0.40*0.55
\(0.64\)

Tolkning: De to disjunkte veiene summeres.

Python-kontroll med SymPy

Python 3 - SymPy
p_girl = 0.60
p_boy = 1 - p_girl
p_blue_given_girl = 0.70
p_blue_given_boy = 0.55
p_girl_blue = p_girl*p_blue_given_girl
p_boy_blue = p_boy*p_blue_given_boy
p_blue = p_girl_blue + p_boy_blue
print("P(jente) =", p_girl)
print("P(gutt) =", p_boy)
print("P(jente og blå) =", p_girl_blue)
print("P(gutt og blå) =", p_boy_blue)
print("P(blå) =", p_blue)
print("Svar i prosent =", f"{100*p_blue:.1f} %")
Utskrift fra Python:
P(jente) = 0.6
P(gutt) = 0.4
P(jente og blå) = 0.42
P(gutt og blå) = 0.22000000000000003
P(blå) = 0.64
Svar i prosent = 64.0 %

Fasit: \(P(\text{blå øyne})=0.64=64\%\).

Vanlig feil: Å legge sammen 70 % og 55 % uten å vekte med kjønnsandelene.
Sensorpunkt: Et korrekt sannsynlighetstre eller loven om total sannsynlighet.
Del 1 - Oppgave 7bBetinget sannsynlighet

Oppgave 7b

Oppgave: Eleven har ikke blå øyne. Bestem sannsynligheten for at eleven er en gutt.
Vis løsning

Hva spør oppgaven om? Vi skal beregne en betinget sannsynlighet med Bayes-formelen.

Steg 1 - Finn gutt uten blå

\(P(G\cap \overline B)=0.40\cdot0.45=0.18\).

Steg 2 - Finn jente uten blå

\(P(J\cap \overline B)=0.60\cdot0.30=0.18\).

Steg 3 - Finn totalen uten blå

\(P(\overline B)=0.18+0.18=0.36\).

Steg 4 - Bruk definisjonen

\(P(G\mid\overline B)=\frac{P(G\cap\overline B)}{P(\overline B)}\).

Steg 5 - Sett inn

\(P(G\mid\overline B)=0.18/0.36\).

Steg 6 - Regn ut

\[P(G\mid\overline B)=0.50.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
0.40*0.45/(1-0.64)
\(0.50\)

Tolkning: Den betingede sannsynligheten blir en halv.

Python-kontroll med SymPy

Python 3 - SymPy
p_boy = 0.40
p_not_blue_given_boy = 0.45
p_girl = 0.60
p_not_blue_given_girl = 0.30
p_boy_not_blue = p_boy*p_not_blue_given_boy
p_girl_not_blue = p_girl*p_not_blue_given_girl
p_not_blue = p_boy_not_blue + p_girl_not_blue
conditional = p_boy_not_blue/p_not_blue
print("P(gutt og ikke blå) =", p_boy_not_blue)
print("P(jente og ikke blå) =", p_girl_not_blue)
print("P(ikke blå) =", p_not_blue)
print("P(gutt | ikke blå) =", conditional)
print("Svar i prosent =", f"{100*conditional:.1f} %")
Utskrift fra Python:
P(gutt og ikke blå) = 0.18000000000000002
P(jente og ikke blå) = 0.18
P(ikke blå) = 0.36
P(gutt | ikke blå) = 0.5000000000000001
Svar i prosent = 50.0 %

Fasit: \(P(\text{gutt}\mid\text{ikke blå})=0.50=50\%\).

Vanlig feil: Å bruke P(gutt og ikke blå) som sluttresultat uten å dele på P(ikke blå).
Sensorpunkt: Betingelsen må stå i nevneren.
Del 1 - Oppgave 8aKonstruksjon

Oppgave 8a

Oppgave: Konstruer en trekant \(ABC\) slik at \(AB=10.0\,\mathrm{cm}\), \(BC=7.0\,\mathrm{cm}\) og \(AC=11.0\,\mathrm{cm}\).
Vis løsning

Hva spør oppgaven om? Vi skal utføre en SSS-konstruksjon med to sirkler.

Steg 1 - Tegn grunnlinjen

Tegn \(AB=10.0\) cm.

Steg 2 - Tegn sirkel fra A

Tegn en sirkel med sentrum A og radius 11.0 cm.

Steg 3 - Tegn sirkel fra B

Tegn en sirkel med sentrum B og radius 7.0 cm.

Steg 4 - Finn C

Et skjæringspunkt mellom sirklene velges som C.

Steg 5 - Tegn sidene

Trekk linjestykkene AC og BC.

Steg 6 - Kontroller

Passeravstandene gir nøyaktig de tre oppgitte sidelengdene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A=(0,0); B=(10,0)
Grunnlinje
2
Circle[A,11]; Circle[B,7]
Skjæringspunkt \(C\)

Tolkning: Konstruksjonen er entydig opp til speiling i AB.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
AB = sp.Integer(10)
AC = sp.Integer(11)
BC = sp.Integer(7)
xC = sp.simplify((AC**2 + AB**2 - BC**2)/(2*AB))
yC = sp.sqrt(AC**2 - xC**2)
print("Velg A = (0, 0) og B = (10, 0)")
print("x-koordinat til C =", xC)
print("y-koordinat til C =", yC)
print("C tilnærmet =", (float(xC), float(yC)))
print("Kontroll AC =", sp.sqrt(xC**2 + yC**2))
print("Kontroll BC =", sp.sqrt((xC-AB)**2 + yC**2))
Utskrift fra Python:
Velg A = (0, 0) og B = (10, 0)
x-koordinat til C = 43/5
y-koordinat til C = 14*sqrt(6)/5
C tilnærmet = (8.6, 6.858571279792899)
Kontroll AC = 11
Kontroll BC = 7

Fasit: En korrekt SSS-konstruksjon med sirkelradier 11.0 cm og 7.0 cm.

Vanlig feil: Å bytte om radiusene fra A og B.
Sensorpunkt: Passerbuene og alle tre sidelengdene skal være synlige.
Del 1 - Oppgave 8bVinkelhalveringslinjer

Oppgave 8b

Oppgave: Demonstrer at halveringslinjene til de tre vinklene i \(\triangle ABC\) skjærer hverandre i ett punkt.
Vis løsning

Hva spør oppgaven om? Vi skal konstruere hver vinkelhalveringslinje og observere det felles skjæringspunktet.

Steg 1 - Halver vinkel A

Slå en bue fra A, og bruk like buer fra skjæringspunktene til å finne halveringslinjen.

Steg 2 - Halver vinkel B

Gjenta samme konstruksjon i B.

Steg 3 - Finn skjæringspunktet

Halveringslinjene fra A og B skjærer hverandre i S.

Steg 4 - Halver vinkel C

Konstruer også halveringslinjen i C.

Steg 5 - Observer konkurrens

Den tredje halveringslinjen går gjennom det samme punktet S.

Steg 6 - Tolk resultatet

Punktet S er trekantens innsentrum.

Trekanten med vinkelhalveringslinjer og innskrevet sirkel.
Trekanten med vinkelhalveringslinjer og innskrevet sirkel.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
AngleBisector[A,B,C]
Halveringslinje i B
2
Intersect[bisectorA,bisectorB]
\(S\)
3
IsOnPath[S,bisectorC]
true

Tolkning: Den tredje halveringslinjen går gjennom skjæringspunktet til de to første.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
sqrt6 = sp.sqrt(6)
A = sp.Point(0, 0)
B = sp.Point(10, 0)
C = sp.Point(sp.Rational(43,5), sp.Rational(14,5)*sqrt6)
a, b, c = sp.Integer(7), sp.Integer(11), sp.Integer(10)
S = sp.Point((a*A.x+b*B.x+c*C.x)/(a+b+c),
             (a*A.y+b*B.y+c*C.y)/(a+b+c))
print("A =", A)
print("B =", B)
print("C =", C)
print("Innsentrum fra sidevektet formel =", S)
print("S tilnærmet =", (float(S.x), float(S.y)))
print("Alle tre vinkelhalveringslinjene møtes i dette punktet")
Utskrift fra Python:
A = Point2D(0, 0)
B = Point2D(10, 0)
C = Point2D(43/5, 14*sqrt(6)/5)
Innsentrum fra sidevektet formel = Point2D(7, sqrt(6))
S tilnærmet = (7.0, 2.449489742783178)
Alle tre vinkelhalveringslinjene møtes i dette punktet

Fasit: Halveringslinjene er samtidige i ett punkt \(S\), innsentrum.

Vanlig feil: Å bare tegne to halveringslinjer uten å demonstrere at den tredje går gjennom S.
Sensorpunkt: Konstruksjonsspor og felles skjæringspunkt skal vises.
Del 1 - Oppgave 8cNormaler og avstand

Oppgave 8c

Oppgave: Konstruer normalene fra \(S\) ned på sidekantene. Kall fotpunktene \(D,E,F\).
Vis løsning

Hva spør oppgaven om? Vi skal konstruere vinkelrette linjer fra innsentrum til hver av trekantsidene.

Steg 1 - Velg siden AB

Konstruer en linje gjennom S vinkelrett på AB; skjæringspunktet er D.

Steg 2 - Velg siden BC

Konstruer en linje gjennom S vinkelrett på BC; skjæringspunktet er E.

Steg 3 - Velg siden CA

Konstruer en linje gjennom S vinkelrett på CA; skjæringspunktet er F.

Steg 4 - Marker rettvinklene

\(SD\perp AB\), \(SE\perp BC\), \(SF\perp CA\).

Steg 5 - Kontroller plasseringen

Alle fotpunktene ligger på de respektive sidekantene.

Steg 6 - Tolk lengdene

Lengdene SD, SE og SF er avstandene fra S til sidene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
PerpendicularLine[S,AB]
Skjærer AB i D
2
PerpendicularLine[S,BC]
Skjærer BC i E
3
PerpendicularLine[S,CA]
Skjærer CA i F

Tolkning: GeoGebra konstruerer de tre normalene og fotpunktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Point(0, 0)
B = sp.Point(10, 0)
C = sp.Point(sp.Rational(43,5), sp.Rational(14,5)*sp.sqrt(6))
S = sp.Point(7, sp.sqrt(6))
lines = [sp.Line(A,B), sp.Line(B,C), sp.Line(C,A)]
names = ["AB", "BC", "CA"]
for name, line in zip(names, lines):
    foot = line.projection(S)
    distance = sp.simplify(S.distance(foot))
    print(f"Fotpunkt på {name} = {foot}")
    print(f"Avstand fra S til {name} = {distance}")
Utskrift fra Python:
Fotpunkt på AB = Point2D(7, 0)
Avstand fra S til AB = sqrt(6)
Fotpunkt på BC = Point2D(47/5, 6*sqrt(6)/5)
Avstand fra S til BC = sqrt(6)
Fotpunkt på CA = Point2D(301/55, 98*sqrt(6)/55)
Avstand fra S til CA = sqrt(6)

Fasit: Tre vinkelrette normaler fra S med fotpunkter \(D,E,F\).

Vanlig feil: Å trekke linjer til hjørnene i stedet for vinkelrett ned på sidene.
Sensorpunkt: Rettvinkelmarkering og fotpunkter på korrekt side.
Del 1 - Oppgave 8dInnskrevet sirkel

Oppgave 8d

Oppgave: Forklar at \(SD=SE=SF\). Konstruer den innskrevne sirkelen i \(\triangle ABC\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke egenskapen at et punkt på en vinkelhalveringslinje har lik avstand til vinkelens sider.

Steg 1 - Bruk vinkel A

Fordi S ligger på halveringslinjen i A, er avstanden fra S til AB lik avstanden til AC.

Steg 2 - Bruk vinkel B

Fordi S ligger på halveringslinjen i B, er avstanden til BA lik avstanden til BC.

Steg 3 - Kombiner

Dermed er \(SD=SE=SF\).

Steg 4 - Velg radius

Sett \(r=SD\).

Steg 5 - Tegn sirkelen

Tegn sirkel med sentrum S og radius r.

Steg 6 - Kontroller tangering

Sirkelen tangerer alle tre sidene i D, E og F og er derfor den innskrevne sirkelen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Distance[S,AB]
\(r\)
2
Distance[S,BC]
\(r\)
3
Circle[S,r]
Innskrevet sirkel

Tolkning: Lik avstand til alle sidene gir tre tangeringer.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
base = sp.Integer(10)
height = sp.Rational(14,5)*sp.sqrt(6)
area = sp.simplify(base*height/2)
semiperimeter = sp.Rational(10+7+11,2)
r = sp.simplify(area/semiperimeter)
print("Areal av trekanten =", area)
print("Halvomkrets =", semiperimeter)
print("Innradius r = areal / halvomkrets =", r)
print("SD =", r)
print("SE =", r)
print("SF =", r)
print("Sirkelen med sentrum S og radius sqrt(6) tangerer alle tre sidene")
Utskrift fra Python:
Areal av trekanten = 14*sqrt(6)
Halvomkrets = 14
Innradius r = areal / halvomkrets = sqrt(6)
SD = sqrt(6)
SE = sqrt(6)
SF = sqrt(6)
Sirkelen med sentrum S og radius sqrt(6) tangerer alle tre sidene

Fasit: \(SD=SE=SF=\sqrt6\,\mathrm{cm}\) i den valgte koordinatmodellen; sirkelen med sentrum S og radius SD er innskrevet.

Vanlig feil: Å bruke avstanden fra S til et hjørne som radius.
Sensorpunkt: Forklaringen med lik avstand til sidene og korrekt sirkelradius.
Del 1 - Oppgave 9Logaritmelikning

Oppgave 9

Oppgave: Løs likningen \[\lg (x+2)^2=\lg x^4.\]
Vis løsning

Hva spør oppgaven om? Vi skal først ta hensyn til definisjonsmengden og deretter bruke at lg er én-til-én.

Steg 1 - Finn domenet

Vi må ha \((x+2)^2>0\) og \(x^4>0\), altså \(x\ne-2\) og \(x\ne0\).

Steg 2 - Fjern logaritmene

Likheten gir \((x+2)^2=x^4\).

Steg 3 - Flytt alt til én side

\(x^4-(x+2)^2=0\).

Steg 4 - Faktoriser som differanse av kvadrater

\((x^2-x-2)(x^2+x+2)=0\).

Steg 5 - Finn reelle røtter

Første faktor gir \(x=2\) eller \(x=-1\); den andre har diskriminant -7.

Steg 6 - Kontroller domenet

Begge reelle løsningene er tillatt.

GeoGebra/CAS-kontroll

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

Tolkning: CAS finner de to reelle løsningene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
poly = sp.expand(x**4 - (x + 2)**2)
print("Etter at logaritmene fjernes:")
print("x^4 - (x + 2)^2 =", poly)
print("Faktorisert =", sp.factor(poly))
roots = sp.solve(sp.Eq(poly, 0), x)
print("Reelle algebraiske røtter =", roots)
valid = [r for r in roots if r != -2 and r != 0]
print("Gyldige røtter etter domenekontroll =", valid)
for r in valid:
    print(f"Kontroll for x={r}: (x+2)^2 =", (r+2)**2, ", x^4 =", r**4)
Utskrift fra Python:
Etter at logaritmene fjernes:
x^4 - (x + 2)^2 = x**4 - x**2 - 4*x - 4
Faktorisert = (x - 2)*(x + 1)*(x**2 + x + 2)
Reelle algebraiske røtter = [-1, 2]
Gyldige røtter etter domenekontroll = [-1, 2]
Kontroll for x=-1: (x+2)^2 = 1 , x^4 = 1
Kontroll for x=2: (x+2)^2 = 16 , x^4 = 16

Fasit: \(x=-1\) eller \(x=2\).

Vanlig feil: Å glemme at logaritmeargumentene må være strengt positive.
Sensorpunkt: Domenekontroll, korrekt algebra og begge løsninger.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aEksponentialmodell

Oppgave 1a

Oppgave: Folketallet modelleres med \(f(t)=ce^{kt}\), der \(t\) er år etter 1960. I 1960 var folketallet 3.0 milliarder og i 2013 var det 7.1 milliarder. Bestem \(c\) og \(k\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke de to datapunktene t=0 og t=53.

Steg 1 - Bruk 1960-data

\(f(0)=ce^0=c=3.0\), så \(c=3\).

Steg 2 - Bruk 2013-data

2013 er 53 år etter 1960, derfor \(7.1=3e^{53k}\).

Steg 3 - Isoler eksponentialleddet

\(e^{53k}=7.1/3\).

Steg 4 - Ta naturlig logaritme

\(53k=\ln(7.1/3)\).

Steg 5 - Løs for k

\[k=\frac{\ln(7.1/3)}{53}\approx0.0162544.\]

Steg 6 - Skriv modellen

\(f(t)=3e^{0.0162544t}\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[{c=3,c*exp(53k)=7.1},{c,k}]
\(c=3,\ k\approx0.0162544\)

Tolkning: CAS bestemmer begge konstantene fra datapunktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
c, k = sp.symbols("c k", positive=True)
ratio = sp.Rational(71, 10) / 3
k_exact = sp.log(ratio)/53
print("Fra f(0)=3 får vi c = 3")
print("Forhold 7.1/3 =", ratio)
print("Eksakt k =", k_exact)
print("k tilnærmet =", sp.N(k_exact, 10))
print("Kontroll 3*exp(53*k) =", sp.N(3*sp.exp(53*k_exact), 12))
print("Modell: f(t) = 3*exp(k*t)")
Utskrift fra Python:
Fra f(0)=3 får vi c = 3
Forhold 7.1/3 = 71/30
Eksakt k = log(71/30)/53
k tilnærmet = 0.01625438671
Kontroll 3*exp(53*k) = 7.10000000000
Modell: f(t) = 3*exp(k*t)

Fasit: \(c=3\) og \(k=\dfrac{\ln(7.1/3)}{53}\approx0.0162544\).

Vanlig feil: Å bruke 2013 som t i stedet for t=53.
Sensorpunkt: Riktig tidsforskyvning og løsning av eksponentiallikningen.
Del 2 - Oppgave 1bEksponentiallikning

Oppgave 1b

Oppgave: Når vil folketallet passere 10 milliarder ifølge modellen?
Vis løsning

Hva spør oppgaven om? Vi skal løse f(t)=10 og deretter legge t til 1960.

Steg 1 - Sett opp likningen

\(3e^{kt}=10\).

Steg 2 - Isoler eksponentialleddet

\(e^{kt}=10/3\).

Steg 3 - Ta ln

\(kt=\ln(10/3)\).

Steg 4 - Løs for t

\(t=\ln(10/3)/k\approx74.07\).

Steg 5 - Gå tilbake til kalenderår

\(1960+74.07\approx2034.07\).

Steg 6 - Tolk

Modellen passerer 10 milliarder tidlig i 2034.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[3*exp(k*t)=10,t]
\(t\approx74.07\)

Tolkning: Tidsverdien tilsvarer kalenderåret 2034.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
k = sp.log(sp.Rational(71,30))/53
t = sp.log(sp.Rational(10,3))/k
year = 1960 + t
print("k =", sp.N(k, 10))
print("Løsning av 3*exp(k*t)=10")
print("t eksakt =", sp.simplify(t))
print("t tilnærmet =", sp.N(t, 10))
print("Kalenderår =", sp.N(year, 10))
print("Modellen passerer 10 milliarder i løpet av 2034")
Utskrift fra Python:
k = 0.01625438671
Løsning av 3*exp(k*t)=10
t eksakt = log((10/3)**(53/log(71/30)))
t tilnærmet = 74.07063866
Kalenderår = 2034.070639
Modellen passerer 10 milliarder i løpet av 2034

Fasit: Folketallet passerer 10 milliarder omkring år 2034.

Vanlig feil: Å oppgi t=74 som kalenderår.
Sensorpunkt: Tidsverdien må omregnes til årstall.
Del 2 - Oppgave 1cÅrlig vekstfaktor

Oppgave 1c

Oppgave: Forklar at modellen gir en fast prosentvis vekst hvert år, og bestem prosenten.
Vis løsning

Hva spør oppgaven om? Vi skal sammenligne f(t+1) med f(t).

Steg 1 - Skriv forholdet

\(\frac{f(t+1)}{f(t)}=\frac{ce^{k(t+1)}}{ce^{kt}}\).

Steg 2 - Forkort

Forholdet blir \(e^k\), uavhengig av t.

Steg 3 - Tolk faktoren

Dermed er vekstfaktoren den samme hvert år.

Steg 4 - Finn prosentfaktoren

Årlig prosent er \((e^k-1)\cdot100\%\).

Steg 5 - Sett inn k

\((e^{0.0162544}-1)\cdot100\%\approx1.6387\%\).

Steg 6 - Rund av

Den faste årlige veksten er omtrent 1.64 %.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
exp(k)-1
\(0.0163872\)

Tolkning: Forholdet f(t+1)/f(t) er konstant.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
k = sp.log(sp.Rational(71,30))/53
growth_factor = sp.exp(k)
percent = 100*(growth_factor - 1)
print("Årlig vekstfaktor e^k =", sp.N(growth_factor, 12))
print("Årlig prosent = 100*(e^k - 1)")
print("Prosent tilnærmet =", sp.N(percent, 10), "%")
print("Kontroll: faktoren er uavhengig av t")
print("f(t+1)/f(t) = e^k")
Utskrift fra Python:
Årlig vekstfaktor e^k = 1.01638720792
Årlig prosent = 100*(e^k - 1)
Prosent tilnærmet = 1.638720792 %
Kontroll: faktoren er uavhengig av t
f(t+1)/f(t) = e^k

Fasit: Den årlige veksten er omtrent \(1.64\%\).

Vanlig feil: Å forveksle k=0.01625 med nøyaktig prosent uten å bruke e^k-1.
Sensorpunkt: Forklaring med forholdet f(t+1)/f(t) og korrekt prosent.
Del 2 - Oppgave 2aVektorer og vinkel

Oppgave 2a

Oppgave: Punktene er \(A(-1,0)\), \(B(7,-1)\) og \(C(5,8)\). Bestem \(\overrightarrow{CB}\), \(\overrightarrow{CA}\) og \(\angle ACB\).
Vis løsning

Hva spør oppgaven om? Vi skal finne vektorene fra C og bruke skalarproduktet til vinkelen.

Steg 1 - Finn CB

\(\overrightarrow{CB}=B-C=(2,-9)\).

Steg 2 - Finn CA

\(\overrightarrow{CA}=A-C=(-6,-8)\).

Steg 3 - Beregn skalarproduktet

\((2,-9)\cdot(-6,-8)=60\).

Steg 4 - Finn lengdene

\(|CB|=\sqrt{85}\) og \(|CA|=10\).

Steg 5 - Bruk cosinusformelen

\(\cos C=60/(10\sqrt{85})=6/\sqrt{85}\).

Steg 6 - Finn vinkelen

\[C\approx49.4^{\circ}.\]

Punktene A, B, C og normalpunktet E.
Punktene A, B, C og normalpunktet E.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Vector[C,B]
\((2,-9)\)
2
Vector[C,A]
\((-6,-8)\)
3
Angle[A,C,B]
\(49.4^{\circ}\)

Tolkning: Vektorene og vinkelen stemmer med koordinatene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
CB = sp.Matrix([2, -9])
CA = sp.Matrix([-6, -8])
dot = CB.dot(CA)
len_CB = sp.sqrt(CB.dot(CB))
len_CA = sp.sqrt(CA.dot(CA))
cos_angle = sp.simplify(dot/(len_CB*len_CA))
angle = sp.acos(cos_angle)*180/sp.pi
print("CB =", tuple(CB))
print("CA =", tuple(CA))
print("Skalarprodukt =", dot)
print("|CB| =", len_CB)
print("|CA| =", len_CA)
print("cos(vinkel ACB) =", cos_angle)
print("Vinkel ACB tilnærmet =", sp.N(angle, 10), "grader")
Utskrift fra Python:
CB = (2, -9)
CA = (-6, -8)
Skalarprodukt = 60
|CB| = sqrt(85)
|CA| = 10
cos(vinkel ACB) = 6*sqrt(85)/85
Vinkel ACB tilnærmet = 49.39870535 grader

Fasit: \(\overrightarrow{CB}=(2,-9)\), \(\overrightarrow{CA}=(-6,-8)\), \(\angle ACB\approx49.4^{\circ}\).

Vanlig feil: Å bruke vektorer med utgangspunkt i feil punkt.
Sensorpunkt: Korrekte vektorer og full skalarproduktberegning.
Del 2 - Oppgave 2bTrekantareal

Oppgave 2b

Oppgave: Bestem arealet til \(\triangle ABC\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke determinanten av to sidevektorer.

Steg 1 - Finn sidevektorene fra A

\(\overrightarrow{AB}=(8,-1)\) og \(\overrightarrow{AC}=(6,8)\).

Steg 2 - Sett opp determinanten

\(\det(AB,AC)=8\cdot8-(-1)\cdot6\).

Steg 3 - Regn ut

Determinanten er 70.

Steg 4 - Ta absoluttverdi

Arealet av parallellogrammet er 70.

Steg 5 - Halver

Trekantarealet er \(70/2\).

Steg 6 - Skriv svaret

\[A=35.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Area[Polygon[A,B,C]]
\(35\)

Tolkning: GeoGebra gir samme areal.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
AB = sp.Matrix([8, -1])
AC = sp.Matrix([6, 8])
determinant = sp.Matrix.hstack(AB, AC).det()
area = sp.Abs(determinant)/2
print("AB =", tuple(AB))
print("AC =", tuple(AC))
print("Determinant =", determinant)
print("Absolutt determinant =", abs(determinant))
print("Trekantareal = |det|/2 =", area)
Utskrift fra Python:
AB = (8, -1)
AC = (6, 8)
Determinant = 70
Absolutt determinant = 70
Trekantareal = |det|/2 = 35

Fasit: Arealet er \(35\) kvadratenheter.

Vanlig feil: Å glemme å halvere parallellogramarealet.
Sensorpunkt: Determinantens absoluttverdi og faktor 1/2.
Del 2 - Oppgave 2cOrtogonalitet

Oppgave 2c

Oppgave: Bestem punktet \(E\) på x-aksen slik at \(\overrightarrow{CE}\perp\overrightarrow{AB}\).
Vis løsning

Hva spør oppgaven om? Vi skal la E=(e,0) og kreve at skalarproduktet blir null.

Steg 1 - Parameteriser E

La \(E=(e,0)\).

Steg 2 - Finn CE

\(\overrightarrow{CE}=(e-5,-8)\).

Steg 3 - Finn AB

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

Steg 4 - Sett skalarprodukt lik null

\(8(e-5)+(-1)(-8)=0\).

Steg 5 - Løs

\(8e-32=0\), altså \(e=4\).

Steg 6 - Skriv punktet

\[E=(4,0).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Dot[(e-5,-8),(8,-1)]=0,e]
\(e=4\)

Tolkning: Skalarproduktet blir null for E=(4,0).

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
e = sp.symbols("e", real=True)
CE = sp.Matrix([e - 5, -8])
AB = sp.Matrix([8, -1])
dot = sp.expand(CE.dot(AB))
solution = sp.solve(sp.Eq(dot, 0), e)
print("E = (e, 0)")
print("CE =", tuple(CE))
print("AB =", tuple(AB))
print("CE dot AB =", dot)
print("Løsning e =", solution)
print("Kontroll for e=4:", dot.subs(e, 4))
print("E = (4, 0)")
Utskrift fra Python:
E = (e, 0)
CE = (e - 5, -8)
AB = (8, -1)
CE dot AB = 8*e - 32
Løsning e = [4]
Kontroll for e=4: 0
E = (4, 0)

Fasit: \(E=(4,0)\).

Vanlig feil: Å bruke CE og BA uten å være konsekvent i skalarproduktet.
Sensorpunkt: Parameterisering av E og null skalarprodukt.
Del 2 - Oppgave 3aArealfunksjon

Oppgave 3a

Oppgave: \(f(x)=4-0.125x^3\), og rektangelet har bredde x og høyde f(x). Vis at \[G(x)=4x-0.125x^4.\]
Vis løsning

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

Steg 1 - Les av bredden

\(OA=x\).

Steg 2 - Les av høyden

\(OC=AB=f(x)=4-0.125x^3\).

Steg 3 - Bruk arealformelen

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

Steg 4 - Sett inn f

\(G(x)=x(4-0.125x^3)\).

Steg 5 - Multipliser inn

\[G(x)=4x-0.125x^4.\]

Steg 6 - Kontroller domenet

Formelen gjelder for \(0<x<2\sqrt[3]{4}\).

Rektangelet under grafen til f.
Rektangelet under grafen til f.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Expand[x*(4-0.125x^3)]
\(4x-0.125x^4\)

Tolkning: CAS bekrefter utvidelsen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
f = 4 - sp.Rational(1,8)*x**3
G = sp.expand(x*f)
print("Bredde = x")
print("Høyde f(x) =", f)
print("Areal G(x) = x*f(x)")
print("G(x) utvidet =", G)
print("Kontroll G - (4*x - x^4/8) =", sp.simplify(G-(4*x-x**4/8)))
Utskrift fra Python:
Bredde = x
Høyde f(x) = 4 - x**3/8
Areal G(x) = x*f(x)
G(x) utvidet = -x**4/8 + 4*x
Kontroll G - (4*x - x^4/8) = 0

Fasit: \(G(x)=4x-0.125x^4\).

Vanlig feil: Å bruke x+f(x) i stedet for x·f(x).
Sensorpunkt: Bredde ganger høyde og korrekt utvidelse.
Del 2 - Oppgave 3bNumerisk likning

Oppgave 3b

Oppgave: Bestem \(x\) slik at rektangelet får areal 5.0.
Vis løsning

Hva spør oppgaven om? Vi skal løse den fjerdegradslikningen G(x)=5 innenfor det oppgitte domenet.

Steg 1 - Sett opp likningen

\(4x-0.125x^4=5\).

Steg 2 - Fjern desimalen

Multipliser med 8: \(32x-x^4=40\).

Steg 3 - Skriv standardform

\(x^4-32x+40=0\).

Steg 4 - Løs numerisk

Likningen har to reelle røtter i det tillatte intervallet.

Steg 5 - Oppgi røttene

\(x\approx1.3555\) og \(x\approx2.5296\).

Steg 6 - Kontroller

Begge verdiene gir G(x)=5.0 og ligger mellom 0 og \(2\sqrt[3]{4}\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[4x-0.125x^4=5,x]
\(x\approx1.3555\) eller \(x\approx2.5296\)

Tolkning: Begge skjæringspunktene med linjen y=5 må tas med.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
G = 4*x - sp.Rational(1,8)*x**4
poly = sp.expand(8*(G-5))
roots = sp.nroots(poly)
upper = 2*sp.real_root(4, 3)
valid = [complex(r) for r in roots if abs(complex(r).imag) < 1e-12 and 0 < complex(r).real < float(upper)]
print("Likning G(x)=5 gir polynomet =", poly)
print("Alle numeriske røtter:")
for r in roots:
    print(r)
print("Øvre domenegrense =", sp.N(upper, 10))
print("Gyldige x-verdier:")
for r in valid:
    value = r.real
    print(f"x = {value:.10f}, G(x) = {float(G.subs(x, value)):.10f}")
Utskrift fra Python:
Likning G(x)=5 gir polynomet = -x**4 + 32*x - 40
Alle numeriske røtter:
1.35549846550018
2.52964836561351
-1.94257341555684 - 2.80924188112031*I
-1.94257341555684 + 2.80924188112031*I
Øvre domenegrense = 3.174802104
Gyldige x-verdier:
x = 1.3554984655, G(x) = 5.0000000000
x = 2.5296483656, G(x) = 5.0000000000

Fasit: \(x\approx1.3555\) eller \(x\approx2.5296\).

Vanlig feil: Å oppgi bare én av de to positive løsningene.
Sensorpunkt: Begge røtter i domenet og numerisk kontroll.
Del 2 - Oppgave 3cOptimering

Oppgave 3c

Oppgave: Bestem det største arealet rektangelet kan ha.
Vis løsning

Hva spør oppgaven om? Vi skal maksimere arealfunksjonen ved å sette den deriverte lik null.

Steg 1 - Deriver G

\(G\'(x)=4-0.5x^3\).

Steg 2 - Sett lik null

\(4-0.5x^3=0\).

Steg 3 - Løs

\(x^3=8\), altså \(x=2\).

Steg 4 - Kontroller maksimum

\(G''(x)=-1.5x^2<0\) ved x=2.

Steg 5 - Finn arealet

\(G(2)=8-0.125\cdot16=6\).

Steg 6 - Skriv maksimum

Det største arealet er 6.0 kvadratenheter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Extremum[4x-0.125x^4,0,2*cuberoot(4)]
Maksimum \((2,6)\)

Tolkning: CAS finner det indre maksimumspunktet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
G = 4*x - sp.Rational(1,8)*x**4
Gp = sp.factor(sp.diff(G, x))
Gpp = sp.diff(G, x, 2)
critical = sp.solve(sp.Eq(Gp, 0), x)
print("G(x) =", G)
print("G'(x) =", Gp)
print("Kritisk positiv x-verdi =", critical)
for c in critical:
    print(f"G({c}) =", sp.simplify(G.subs(x, c)))
    print(f"G''({c}) =", sp.simplify(Gpp.subs(x, c)))
print("Maksimalt areal = 6")
Utskrift fra Python:
G(x) = -x**4/8 + 4*x
G'(x) = -(x - 2)*(x**2 + 2*x + 4)/2
Kritisk positiv x-verdi = [2]
G(2) = 6
G''(2) = -6
Maksimalt areal = 6

Fasit: Det største arealet er \(6.0\), oppnådd når \(x=2\).

Vanlig feil: Å finne x=2, men ikke beregne selve arealet.
Sensorpunkt: Kritisk punkt, maksimumskontroll og funksjonsverdi.
Del 2 - Oppgave 4aGraftegning

Oppgave 4a

Oppgave: Tegn grafen til \[f(x)=x^3-4x^2-9x+28.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke graftegner og kontrollere viktige trekk ved grafen.

Steg 1 - Skriv funksjonen i graftegneren

Legg inn \(f(x)=x^3-4x^2-9x+28\).

Steg 2 - Velg passende vindu

Et vindu omtrent -5 til 7 på x-aksen viser hovedtrekkene.

Steg 3 - Finn y-skjæring

\(f(0)=28\).

Steg 4 - Finn ekstremalpunkter

\(f\'(x)=3x^2-8x-9\), som gir to stasjonære punkter og mulige ekstremalpunkter.

Steg 5 - Observer formen

Positivt ledende tredjegradsledd gir graf ned mot venstre og opp mot høyre.

Steg 6 - Lagre grafen

Grafen brukes videre sammen med en sekantlinje.

Grafen til f og linjen gjennom de to oppgitte punktene.
Grafen til f og linjen gjennom de to oppgitte punktene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
f(x)=x^3-4x^2-9x+28
Kubisk graf

Tolkning: Graftegneren viser funksjonen og gjør skjæringspunkter synlige.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3 - 4*x**2 - 9*x + 28
fp = sp.diff(f, x)
critical = sp.solve(sp.Eq(fp, 0), x)
print("f(x) =", f)
print("f(0) =", f.subs(x, 0))
print("f'(x) =", fp)
print("Kritiske x-verdier =", critical)
for c in critical:
    print("Punkt =", (sp.N(c, 8), sp.N(f.subs(x, c), 8)))
print("Grafen er en kubisk funksjon med positiv ledende koeffisient")
Utskrift fra Python:
f(x) = x**3 - 4*x**2 - 9*x + 28
f(0) = 28
f'(x) = 3*x**2 - 8*x - 9
Kritiske x-verdier = [4/3 - sqrt(43)/3, 4/3 + sqrt(43)/3]
Punkt = (-0.85247951, 32.145915)
Punkt = (3.5191462, -9.6273968)
Grafen er en kubisk funksjon med positiv ledende koeffisient

Fasit: Grafen til den oppgitte tredjegradsfunksjonen, med korrekt skala og form.

Vanlig feil: Å bruke for trangt grafvindu slik at ekstremalpunktene ikke vises.
Sensorpunkt: Korrekt funksjonsinnskriving og lesbar graf.
Del 2 - Oppgave 4bSkjæringspunkter og Vieta

Oppgave 4b

Oppgave: En linje skjærer grafen i \((-3,-8)\) og \((2,2)\). Bestem det tredje skjæringspunktet og summen av x-koordinatene.
Vis løsning

Hva spør oppgaven om? Vi skal finne linjen, løse skjæringslikningen og bruke røttene.

Steg 1 - Finn stigningstallet

\(m=(2-(-8))/(2-(-3))=10/5=2\).

Steg 2 - Finn linjen

Gjennom (2,2): \(y-2=2(x-2)\), altså \(y=2x-2\).

Steg 3 - Sett graf lik linje

\(x^3-4x^2-9x+28=2x-2\).

Steg 4 - Faktoriser

\(x^3-4x^2-11x+30=(x+3)(x-2)(x-5)\).

Steg 5 - Finn tredje punkt

Ny x-verdi er 5, og linjen gir y=8.

Steg 6 - Summer x-verdiene

\(-3+2+5=4\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Line[(-3,-8),(2,2)]
\(y=2x-2\)
2
Intersect[f,y=2x-2]
\((-3,-8),(2,2),(5,8)\)

Tolkning: CAS bekrefter tredje skjæringspunkt og sum.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
f = x**3 - 4*x**2 - 9*x + 28
line = 2*x - 2
equation = sp.expand(f - line)
print("Linje gjennom punktene: y =", line)
print("Skjæringspolynom f(x)-linje =", equation)
print("Faktorisert =", sp.factor(equation))
roots = sp.solve(sp.Eq(equation, 0), x)
print("x-koordinater =", roots)
for r in roots:
    print(f"Skjæringspunkt for x={r}:", (r, line.subs(x, r)))
print("Sum av x-koordinatene =", sum(roots))
Utskrift fra Python:
Linje gjennom punktene: y = 2*x - 2
Skjæringspolynom f(x)-linje = x**3 - 4*x**2 - 11*x + 30
Faktorisert = (x - 5)*(x - 2)*(x + 3)
x-koordinater = [-3, 2, 5]
Skjæringspunkt for x=-3: (-3, -8)
Skjæringspunkt for x=2: (2, 2)
Skjæringspunkt for x=5: (5, 8)
Sum av x-koordinatene = 4

Fasit: Det tredje skjæringspunktet er \((5,8)\), og summen av x-koordinatene er 4.

Vanlig feil: Å finne x=5 uten å beregne y-koordinaten.
Sensorpunkt: Linjelikning, faktorisert skjæringslikning og sum.
Del 2 - Oppgave 4cSymbolsk sekantlinje

Oppgave 4c

Oppgave: \(g(x)=x^3+ax^2+bx+c\). En linje \(\ell\) går gjennom \((s,g(s))\) og \((t,g(t))\). Bestem likningen for \(\ell\).
Vis løsning

Hva spør oppgaven om? Vi skal finne et symbolsk stigningstall og deretter en forenklet linjelikning.

Steg 1 - Skriv to-punktsformelen

\(\ell(x)=g(s)+\frac{g(t)-g(s)}{t-s}(x-s)\).

Steg 2 - Faktoriser differansen

\(g(t)-g(s)=(t-s)[s^2+st+t^2+a(s+t)+b]\).

Steg 3 - Finn stigningstallet

\(m=s^2+st+t^2+a(s+t)+b\).

Steg 4 - Sett inn i linjen

\(\ell(x)=g(s)+m(x-s)\).

Steg 5 - Forenkle konstantleddet

\(g(s)-ms=c-st(a+s+t)\).

Steg 6 - Skriv standardform

\[\ell(x)=[s^2+st+t^2+a(s+t)+b]x+c-st(a+s+t).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[(g(t)-g(s))/(t-s)]
\(s^2+st+t^2+a(s+t)+b\)

Tolkning: CAS faktoriserer differansen og gir linjen i standardform.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, s, t, a, b, c = sp.symbols("x s t a b c")
def g(z):
    return z**3 + a*z**2 + b*z + c
m = sp.factor((g(t)-g(s))/(t-s))
line = sp.factor(g(s) + m*(x-s))
line_expanded = sp.collect(sp.expand(line), x)
print("g(s) =", g(s))
print("g(t) =", g(t))
print("Stigningstall m =", m)
print("Linje i punkt-stigning-form = g(s) + m*(x-s)")
print("Linje utvidet =", line_expanded)
expected = (s**2+s*t+t**2+a*(s+t)+b)*x + c - s*t*(a+s+t)
print("Kontroll linje - forventet =", sp.simplify(line_expanded-expected))
Utskrift fra Python:
g(s) = a*s**2 + b*s + c + s**3
g(t) = a*t**2 + b*t + c + t**3
Stigningstall m = a*s + a*t + b + s**2 + s*t + t**2
Linje i punkt-stigning-form = g(s) + m*(x-s)
Linje utvidet = -a*s*t + c - s**2*t - s*t**2 + x*(a*s + a*t + b + s**2 + s*t + t**2)
Kontroll linje - forventet = 0

Fasit: \(\ell(x)=[s^2+st+t^2+a(s+t)+b]x+c-st(a+s+t)\).

Vanlig feil: Å glemme å dele på t-s i stigningstallet.
Sensorpunkt: Symbolsk differansefaktorisering og korrekt linjelikning.
Del 2 - Oppgave 4dTredje rot og Vieta

Oppgave 4d

Oppgave: Bestem x-koordinaten til det tredje skjæringspunktet mellom grafen til g og linjen \(\ell\). Bestem summen av de tre x-koordinatene.
Vis løsning

Hva spør oppgaven om? Vi skal faktorisere skjæringslikningen symbolsk og bruke Vieta.

Steg 1 - Sett opp skjæringslikningen

Vi løser \(g(x)-\ell(x)=0\).

Steg 2 - Bruk de kjente røttene

Fordi linjen går gjennom punktene ved x=s og x=t, er x-s og x-t faktorer.

Steg 3 - Faktoriser resten

CAS gir \[(x-s)(x-t)(x+a+s+t)=0.\]

Steg 4 - Finn tredje rot

\(x+a+s+t=0\), altså \(x_3=-a-s-t\).

Steg 5 - Summer røttene

\(s+t+(-a-s-t)=-a\).

Steg 6 - Knytt til Vieta

For en monisk kubikk med x²-koeffisient a er rotsummen -a.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[g(x)-l(x)]
\((x-s)(x-t)(x+a+s+t)\)

Tolkning: Den tredje roten og rotsummen følger direkte av faktoriseringen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, s, t, a, b, c = sp.symbols("x s t a b c")
g = x**3 + a*x**2 + b*x + c
m = s**2+s*t+t**2+a*(s+t)+b
line = m*x + c - s*t*(a+s+t)
difference = sp.factor(g-line)
third_root = -a-s-t
print("g(x) - l(x) faktorisert =", difference)
print("Kjente røtter: x = s og x = t")
print("Tredje rot =", third_root)
print("Sum av røttene =", sp.simplify(s+t+third_root))
print("Kontroll ved innsetting av tredje rot =", sp.simplify(difference.subs(x, third_root)))
Utskrift fra Python:
g(x) - l(x) faktorisert = (-s + x)*(-t + x)*(a + s + t + x)
Kjente røtter: x = s og x = t
Tredje rot = -a - s - t
Sum av røttene = -a
Kontroll ved innsetting av tredje rot = 0

Fasit: Det tredje skjæringspunktet har x-koordinat \(-a-s-t\), og summen av de tre x-koordinatene er \(-a\).

Vanlig feil: Å tro at tredje rot er a-s-t i stedet for -a-s-t.
Sensorpunkt: Faktorisering og korrekt bruk av Vieta.
Kildegrunnlag: Det offisielle eksamenssettet REA3022 Matematikk R1, høsten 2015. Løsningene, forklaringene, figurene og kontrollene er utarbeidet originalt for ifingo.