R1 eksamenVår 2022LK20

Matematikk R1 eksamen – vår 2022

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - våren 2022, LK20 (REA3056)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon av potens og logaritme

Oppgave 1a

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

Hva spør oppgaven om? Vi deriverer ledd for ledd og tar hensyn til logaritmens definisjonsmengde.

Steg 1 - Domene

Fordi \(\ln x\) inngår, må \(x>0\).

Steg 2 - Potensregelen

\[(x^3)\prime=3x^2.\]

Steg 3 - Logaritmeregelen

\[(\ln x)\prime=1/x.\]

Steg 4 - Samle

\[f\prime(x)=3x^2+\frac1x.\]

Steg 5 - Kontrollform

\[f\prime(x)=\frac{3x^3+1}{x},\qquad x>0.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^3+ln(x)]
\(3x^2+1/x\)

Tolkning: CAS gir samme derivert.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", positive=True)
f = x**3 + sp.log(x)
f_prime = sp.diff(f, x)
expected = 3*x**2 + 1/x
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Expected =", expected)
print("Difference =", sp.simplify(f_prime-expected))
print("Domain: x > 0")
Utskrift fra Python:
f(x) = x**3 + log(x)
f'(x) = 3*x**2 + 1/x
Expected = 3*x**2 + 1/x
Difference = 0
Domain: x > 0

Fasit: \(f\prime(x)=3x^2+\dfrac1x\), for \(x>0\).

Vanlig feil: Å glemme domenet til logaritmen.
Sensorpunkt: Riktig derivert og domene skal framgå.
Del 1 - Oppgave 1bProduktregel og eksponentialfunksjon

Oppgave 1b

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

Hva spør oppgaven om? Funksjonen er et produkt, og eksponentialleddet krever kjerneregelen.

Steg 1 - Faktorer

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

Steg 2 - Deriver

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

Steg 3 - Produktregelen

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

Steg 4 - Faktoriser

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

Steg 5 - Domene

Uttrykket gjelder for alle reelle x.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x exp(2x)]
\((2x+1)e^{2x}\)

Tolkning: Produkt- og kjerneregel er brukt.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
g = x*sp.exp(2*x)
g_prime = sp.factor(sp.diff(g, x))
expected = sp.exp(2*x)*(1+2*x)
print("g(x) =", g)
print("g'(x) =", g_prime)
print("Expanded =", sp.expand(g_prime))
print("Expected =", expected)
print("Difference =", sp.simplify(g_prime-expected))
Utskrift fra Python:
g(x) = x*exp(2*x)
g'(x) = (2*x + 1)*exp(2*x)
Expanded = 2*x*exp(2*x) + exp(2*x)
Expected = (2*x + 1)*exp(2*x)
Difference = 0

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

Vanlig feil: Å glemme den indre deriverte 2.
Sensorpunkt: Produktregelen og kjerneregelen må vises.
Del 1 - Oppgave 2Eksponentiallikning

Oppgave 2

Oppgave: Løs likningen \[e^{2x}-e^x=2.\]
Vis løsning

Hva spør oppgaven om? Vi innfører \(y=e^x\) og får en andregradslikning.

Steg 1 - Substitusjon

Sett \(y=e^x>0\). Da er \(e^{2x}=y^2\).

Steg 2 - Likning i y

\[y^2-y-2=0.\]

Steg 3 - Faktoriser

\[(y-2)(y+1)=0.\]

Steg 4 - Forkast ugyldig rot

\(y=-1\) kan ikke være \(e^x\). Derfor er \(y=2\).

Steg 5 - Tilbake til x

\[e^x=2\Rightarrow x=\ln2.\]

Steg 6 - Kontroll

\(e^{2\ln2}-e^{\ln2}=4-2=2\).

GeoGebra/CAS-kontroll

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

Tolkning: Den eneste reelle løsningen er ln(2).

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x, y = sp.symbols("x y", real=True)
quadratic = y**2-y-2
roots = sp.solve(sp.Eq(quadratic,0),y)
valid = [r for r in roots if r.is_positive]
solution = sp.log(valid[0])
print("Quadratic =", quadratic)
print("Roots for y =", roots)
print("Positive root =", valid[0])
print("Solution x =", solution)
print("Original left side =", sp.simplify(sp.exp(2*solution)-sp.exp(solution)))
Utskrift fra Python:
Quadratic = y**2 - y - 2
Roots for y = [-1, 2]
Positive root = 2
Solution x = log(2)
Original left side = 2

Fasit: \(x=\ln2\).

Vanlig feil: Å beholde roten \(y=-1\).
Sensorpunkt: Substitusjon og gyldighetskontroll skal være med.
Del 1 - Oppgave 3Grenseverdi ved faktorisering

Oppgave 3

Oppgave: Bestem \[\lim_{x\to3}\frac{x-3}{x^2+x-12}.\]
Vis løsning

Hva spør oppgaven om? Direkte innsetting gir 0/0, så nevneren må faktoriseres.

Steg 1 - Ubestemt form

Ved \(x=3\) blir både teller og nevner 0.

Steg 2 - Faktoriser

\[x^2+x-12=(x-3)(x+4).\]

Steg 3 - Forkort

For \(x\ne3\): \[\frac{x-3}{(x-3)(x+4)}=\frac1{x+4}.\]

Steg 4 - Ta grensen

\[\lim_{x\to3}\frac1{x+4}=\frac17.\]

Steg 5 - Tolkning

Funksjonen har et fjernbart hull, men grensen finnes.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Limit[(x-3)/(x^2+x-12),x,3]
\(1/7\)

Tolkning: CAS håndterer forkortingen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x")
expr = (x-3)/(x**2+x-12)
factored = sp.factor(x**2+x-12)
simplified = sp.cancel(expr)
limit_value = sp.limit(expr,x,3)
print("Expression =", expr)
print("Factored denominator =", factored)
print("Simplified =", simplified)
print("Limit =", limit_value)
print("Decimal =", sp.N(limit_value,12))
Utskrift fra Python:
Expression = (x - 3)/(x**2 + x - 12)
Factored denominator = (x - 3)*(x + 4)
Simplified = 1/(x + 4)
Limit = 1/7
Decimal = 0.142857142857

Fasit: Grenseverdien er \(\dfrac17\).

Vanlig feil: Å svare 0/0.
Sensorpunkt: Faktorisering og grenseovergang må vises.
Del 1 - Oppgave 4aVinkelrette vektorer

Oppgave 4a

Oppgave: Punktene er \(A(1,2)\), \(B(-1,5)\) og \(C(t,4)\). Bestem t slik at \(\angle BAC=90^{\circ}\).
Vis løsning

Hva spør oppgaven om? Vektorene fra A til B og fra A til C må ha skalarprodukt 0.

Steg 1 - Vektorer

\[\overrightarrow{AB}=(-2,3),\qquad \overrightarrow{AC}=(t-1,2).\]

Steg 2 - Ortogonalitetskrav

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

Steg 3 - Forenkle

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

Steg 4 - Løs

\[t=4.\]

Steg 5 - Kontroll

Når t=4 er \(\overrightarrow{AC}=(3,2)\), og skalarproduktet er \(-6+6=0\).

GeoGebra/CAS-kontroll

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

Tolkning: Skalarproduktet blir null.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
AB = sp.Matrix([-2,3])
AC = sp.Matrix([t-1,2])
dot_product = sp.expand(AB.dot(AC))
solution = sp.solve(sp.Eq(dot_product,0),t)[0]
print("AB =", tuple(AB))
print("AC =", tuple(AC))
print("Dot product =", dot_product)
print("Solution t =", solution)
print("Control =", AB.dot(AC.subs(t,solution)))
Utskrift fra Python:
AB = (-2, 3)
AC = (t - 1, 2)
Dot product = 8 - 2*t
Solution t = 4
Control = 0

Fasit: \(t=4\).

Vanlig feil: Å bruke vektorer med ulike startpunkter.
Sensorpunkt: Vektorene skal ha felles startpunkt A.
Del 1 - Oppgave 4bKollinearitet

Oppgave 4b

Oppgave: Bestem t slik at A, B og C ligger på en rett linje.
Vis løsning

Hva spør oppgaven om? Vektorene \(\overrightarrow{AB}\) og \(\overrightarrow{AC}\) må være parallelle.

Steg 1 - Vektorer

\[\overrightarrow{AB}=(-2,3),\qquad \overrightarrow{AC}=(t-1,2).\]

Steg 2 - Determinant

\[(-2)\cdot2-3(t-1)=0.\]

Steg 3 - Forenkle

\[-4-3t+3=0\Rightarrow -3t-1=0.\]

Steg 4 - Løs

\[t=-\frac13.\]

Steg 5 - Kontroll

Stigningstallet fra A til C blir \(2/(-4/3)=-3/2\), lik stigningstallet fra A til B.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(-2)*2-3*(t-1)=0,t]
\(t=-1/3\)

Tolkning: Null determinant gir parallelle vektorer.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
AB = sp.Matrix([-2,3])
AC = sp.Matrix([t-1,2])
det = sp.expand(AB[0]*AC[1]-AB[1]*AC[0])
solution = sp.solve(sp.Eq(det,0),t)[0]
ratio_x = sp.simplify(AC[0].subs(t,solution)/AB[0])
ratio_y = sp.simplify(AC[1]/AB[1])
print("Determinant =", det)
print("Solution t =", solution)
print("AC =", tuple(AC.subs(t,solution)))
print("Ratios =", ratio_x, ratio_y)
print("Parallel =", sp.simplify(ratio_x-ratio_y)==0)
Utskrift fra Python:
Determinant = -3*t - 1
Solution t = -1/3
AC = (-4/3, 2)
Ratios = 2/3 2/3
Parallel = True

Fasit: \(t=-\dfrac13\).

Vanlig feil: Å sammenligne stigningstall med feil fortegn.
Sensorpunkt: En gyldig parallellitetstest skal vises.
Del 1 - Oppgave 5aTolkning av programkode

Oppgave 5a

Oppgave: Programmet bruker \(f(x)=x/(1+x^2)\), starter i \(x=0\), setter \(h=0{,}001\) og øker x så lenge \(f(x)\le f(x+h)\). Forklar hva som skjer.
Vis løsning

Hva spør oppgaven om? While-løkken utfører et trinnvis søk etter stedet der funksjonen slutter å vokse.

Steg 1 - Funksjon

Koden definerer \(f(x)=x/(1+x^2)\).

Steg 2 - Start og skritt

Søket starter i 0 og går mot høyre med skrittlengde 0,001.

Steg 3 - Løkketest

Så lenge neste funksjonsverdi er minst like stor som den nåværende, økes x.

Steg 4 - Stopp

Løkken stopper ved første rutenettspunkt der \(f(x+h)<f(x)\).

Steg 5 - Hensikt

Eleven ønsker en numerisk tilnærming til x-koordinaten til et maksimumspunkt.

Steg 6 - Utskrift

Koden skriver ut x-verdien, ikke selve maksimalverdien.

Illustrasjon til Oppgave 5a
Programmet går fram til funksjonen slutter å stige.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Extremum[x/(1+x^2),0,3]
\((1,1/2)\)

Tolkning: Grafverktøyet viser toppunktet som koden leter etter.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
def f(x):
    return x/(1+x**2)

x = 0.0
h = 0.001
iterations = 0
while f(x) <= f(x+h):
    x = x+h
    iterations += 1
print("Step size h =", h)
print("Iterations =", iterations)
print("Printed x =", x)
print("f(x) =", f(x))
print("f(x+h) =", f(x+h))
print("Next value is smaller =", f(x+h) < f(x))
Utskrift fra Python:
Step size h = 0.001
Iterations = 1000
Printed x = 1.0000000000000007
f(x) = 0.5
f(x+h) = 0.4999997502498751
Next value is smaller = True

Fasit: Programmet tilnærmer maksimumspunktets x-koordinat og skriver ut omtrent \(x=1\).

Vanlig feil: Å tro at utskriften er maksimalverdien.
Sensorpunkt: Løkkens test, oppdatering og hensikt skal forklares.
Del 1 - Oppgave 5bAnalytisk maksimum

Oppgave 5b

Oppgave: Gjør beregninger og bestem svaret eleven ønsker å finne.
Vis løsning

Hva spør oppgaven om? Vi deriverer funksjonen og undersøker fortegnet.

Steg 1 - Kvotientregelen

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

Steg 2 - Forenkle

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

Steg 3 - Kritiske punkter

\(f\prime(x)=0\) når \(x=\pm1\).

Steg 4 - Relevant punkt

Programmet starter i 0 og går mot høyre, så det finner \(x=1\).

Steg 5 - Fortegn

For \(0\le x<1\) er den deriverte positiv, og for \(x>1\) negativ. Derfor er x=1 et maksimum.

Steg 6 - Verdi

\[f(1)=\frac12.\]

Steg 7 - Programutskrift

På grunn av flyttallsavrunding blir utskriften \(1.0000000000000007\), som tilsvarer 1.

Illustrasjon til Oppgave 5b
Det eksakte toppunktet er (1,1/2).

GeoGebra/CAS-kontroll

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

Tolkning: Derivert og graf gir samme toppunkt.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
f = x/(1+x**2)
f_prime = sp.factor(sp.diff(f,x))
critical = sp.solve(sp.Eq(sp.together(f_prime).as_numer_denom()[0],0),x)
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Critical values =", critical)
print("Relevant x =", 1)
print("f(1) =", f.subs(x,1))
print("Sign at 1/2 =", sp.sign(f_prime.subs(x,sp.Rational(1,2))))
print("Sign at 2 =", sp.sign(f_prime.subs(x,2)))
Utskrift fra Python:
f(x) = x/(x**2 + 1)
f'(x) = -(x - 1)*(x + 1)/(x**2 + 1)**2
Critical values = [-1, 1]
Relevant x = 1
f(1) = 1/2
Sign at 1/2 = 1
Sign at 2 = -1

Fasit: Eleven ønsker \(x=1\); maksimalverdien er \(1/2\).

Vanlig feil: Å oppgi bare 0,5 når programmet skriver ut x.
Sensorpunkt: Eksakt derivasjon og kobling til programmet skal vises.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aKontinuitet i stykkevis funksjon

Oppgave 1a

Oppgave: Funksjonen er \[f(x)=\begin{cases}x^2+1,&x<2,\\x-t,&x\ge2.\end{cases}\] Bestem t slik at f blir kontinuerlig.
Vis løsning

Hva spør oppgaven om? Kontinuitet i skjøtepunktet krever at venstre grenseverdi er lik funksjonsverdien i x=2.

Steg 1 - Venstre grense

\[\lim_{x\to2^-}f(x)=2^2+1=5.\]

Steg 2 - Funksjonsverdi

Fordi det andre uttrykket gjelder i x=2, er \[f(2)=2-t.\]

Steg 3 - Kontinuitetskrav

\[2-t=5.\]

Steg 4 - Løs

\[t=-3.\]

Steg 5 - Kontroll

Når t=-3 er høyre uttrykk \(x+3\), og begge sider møtes i \((2,5)\).

Illustrasjon til Oppgave 1a
Med t=-3 møtes uttrykkene i (2,5).

GeoGebra/CAS-kontroll

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

Tolkning: Uttrykkene får samme verdi i x=2.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x, t = sp.symbols("x t", real=True)
left_limit = sp.limit(x**2+1,x,2,dir="-")
right_value = 2-t
solution = sp.solve(sp.Eq(left_limit,right_value),t)[0]
print("Left limit =", left_limit)
print("Right value =", right_value)
print("Continuity equation =", sp.Eq(left_limit,right_value))
print("Solution t =", solution)
print("Common value =", right_value.subs(t,solution))
Utskrift fra Python:
Left limit = 5
Right value = 2 - t
Continuity equation = Eq(5, 2 - t)
Solution t = -3
Common value = 5

Fasit: \(t=-3\).

Vanlig feil: Å bruke første uttrykk som funksjonsverdi i x=2.
Sensorpunkt: Begge sider av skjøtepunktet skal sammenlignes.
Del 2 - Oppgave 1bDeriverbarhet i skjøtepunkt

Oppgave 1b

Oppgave: Avgjør om f er deriverbar i \(x=2\) for t-verdien fra a).
Vis løsning

Hva spør oppgaven om? En kontinuerlig stykkevis funksjon er deriverbar bare når de ensidige deriverte er like.

Steg 1 - Venstre derivert

For \(x<2\) er \(f\prime(x)=2x\), så \[f\prime_-(2)=4.\]

Steg 2 - Høyre uttrykk

Når t=-3, er høyre uttrykk \(x+3\).

Steg 3 - Høyre derivert

\[f\prime_+(2)=1.\]

Steg 4 - Sammenlign

Fordi \(4\ne1\), finnes ingen felles derivert.

Steg 5 - Tolkning

Grafen er sammenhengende, men har en knekk i \((2,5)\).

Illustrasjon til Oppgave 1b
Knekken viser de ulike stigningstallene.

GeoGebra/CAS-kontroll

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

Tolkning: Ulike ensidige stigningstall betyr ikke deriverbar.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
left = x**2+1
right = x+3
left_slope = sp.diff(left,x).subs(x,2)
right_slope = sp.diff(right,x).subs(x,2)
print("Left expression =", left)
print("Right expression =", right)
print("Left slope =", left_slope)
print("Right slope =", right_slope)
print("Differentiable =", left_slope==right_slope)
Utskrift fra Python:
Left expression = x**2 + 1
Right expression = x + 3
Left slope = 4
Right slope = 1
Differentiable = False

Fasit: Nei. f er kontinuerlig, men ikke deriverbar i \(x=2\).

Vanlig feil: Å anta at kontinuitet innebærer deriverbarhet.
Sensorpunkt: Begge ensidige deriverte må beregnes.
Del 2 - Oppgave 2aLengder av sammensatte vektorer

Oppgave 2a

Oppgave: Gitt \(|\vec a|=2\), \(|\vec b|=3\), \(\vec a\cdot\vec b=-3\), \(\vec u=\vec a+\vec b\) og \(\vec v=\vec a-6\vec b\). Bestem lengdene.
Vis løsning

Hva spør oppgaven om? Vi beregner kvadrerte lengder med skalarprodukt.

Steg 1 - u

\[|\vec u|^2=|\vec a|^2+2\vec a\cdot\vec b+|\vec b|^2=4-6+9=7.\]

Steg 2 - Lengden av u

\[|\vec u|=\sqrt7.\]

Steg 3 - v

\[|\vec v|^2=|\vec a|^2-12\vec a\cdot\vec b+36|\vec b|^2.\]

Steg 4 - Sett inn

\[|\vec v|^2=4-12(-3)+36\cdot9=364.\]

Steg 5 - Lengden av v

\[|\vec v|=\sqrt{364}=2\sqrt{91}.\]

Illustrasjon til Oppgave 2a
En konkret realisering av vektorene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
sqrt(4+2*(-3)+9)
\(\sqrt7\)
2
sqrt(4-12*(-3)+36*9)
\(2\sqrt{91}\)

Tolkning: Skalarproduktene gir de kvadrerte lengdene.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a2, b2, adotb = sp.Integer(4), sp.Integer(9), sp.Integer(-3)
u2 = a2+2*adotb+b2
v2 = a2-12*adotb+36*b2
u_length = sp.sqrt(u2)
v_length = sp.sqrt(v2)
print("|u|^2 =", u2)
print("|u| =", u_length)
print("|v|^2 =", v2)
print("|v| =", v_length)
print("Decimals =", sp.N(u_length,10), sp.N(v_length,10))
Utskrift fra Python:
|u|^2 = 7
|u| = sqrt(7)
|v|^2 = 364
|v| = 2*sqrt(91)
Decimals = 2.645751311 19.07878403

Fasit: \(|\vec u|=\sqrt7\) og \(|\vec v|=2\sqrt{91}\).

Vanlig feil: Å glemme kryssleddene.
Sensorpunkt: Utvidelsen av begge kvadrerte lengder skal være korrekt.
Del 2 - Oppgave 2bVinkel mellom vektorer

Oppgave 2b

Oppgave: Bestem vinkelen mellom \(\vec u\) og \(\vec v\).
Vis løsning

Hva spør oppgaven om? Vi finner først \(ec u\cdotec v\), deretter cosinus til vinkelen.

Steg 1 - Utvid

\[\vec u\cdot\vec v=(\vec a+\vec b)\cdot(\vec a-6\vec b).\]

Steg 2 - Samle

\[\vec u\cdot\vec v=|\vec a|^2-5\vec a\cdot\vec b-6|\vec b|^2.\]

Steg 3 - Sett inn

\[4-5(-3)-6\cdot9=-35.\]

Steg 4 - Vinkelformel

\[\cos\theta=\frac{-35}{\sqrt7\cdot2\sqrt{91}}=-\frac5{2\sqrt{13}}.\]

Steg 5 - Vinkel

\[\theta=\arccos\!\left(-\frac5{2\sqrt{13}}\right)\approx133{,}9^{\circ}.\]

Illustrasjon til Oppgave 2b
Vinkelen mellom u og v er stump.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
acos((-35)/(sqrt(7)*2sqrt(91)))
\(133.897886^{\circ}\)

Tolkning: Negativt skalarprodukt gir stump vinkel.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
u_dot_v = sp.Integer(-35)
u_length = sp.sqrt(7)
v_length = 2*sp.sqrt(91)
cos_theta = sp.simplify(u_dot_v/(u_length*v_length))
theta = sp.acos(cos_theta)
print("u dot v =", u_dot_v)
print("|u| =", u_length)
print("|v| =", v_length)
print("cos(theta) =", cos_theta)
print("theta radians =", theta)
print("theta degrees =", sp.N(theta*180/sp.pi,12))
Utskrift fra Python:
u dot v = -35
|u| = sqrt(7)
|v| = 2*sqrt(91)
cos(theta) = -5*sqrt(13)/26
theta radians = acos(-5*sqrt(13)/26)
theta degrees = 133.897886248

Fasit: Vinkelen er omtrent \(133{,}9^{\circ}\).

Vanlig feil: Å bruke \(ec a\cdotec b\) som teller.
Sensorpunkt: Skalarproduktet mellom u og v må beregnes først.
Del 2 - Oppgave 3Omvendt funksjon og monotoni

Oppgave 3

Oppgave: For \(f(x)=x^3-6x\), bestem største intervall \(I=[a,b]\) med \(1\in I\) der f har omvendt funksjon.
Vis løsning

Hva spør oppgaven om? Vi finner det største monotone intervallet som inneholder 1.

Steg 1 - Deriver

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

Steg 2 - Kritiske punkter

\[x=\pm\sqrt{2}.\]

Steg 3 - Fortegn

På \((-\sqrt{2},\sqrt{2})\) er den deriverte negativ, så f er strengt avtakende.

Steg 4 - Inneholder 1

\(-\sqrt{2}<1<\sqrt{2}\).

Steg 5 - Største intervall

Endepunktene kan tas med: \[I=[-\sqrt{2},\sqrt{2}].\]

Steg 6 - Maksimalitet

Utvidelse forbi et ekstremalpunkt gir gjentatte funksjonsverdier.

Illustrasjon til Oppgave 3
Den uthevede delen er strengt avtakende.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^3-6x]
\(3x^2-6\)
2
Solve[3x^2-6=0,x]
\(x=\pm\sqrt{2}\)

Tolkning: Funksjonen er avtakende mellom kritiske punkter.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3-6*x
f_prime = sp.factor(sp.diff(f,x))
critical = sp.solve(sp.Eq(f_prime,0),x)
interval = sp.Interval(-sp.sqrt(2),sp.sqrt(2))
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Critical points =", critical)
print("Interval =", interval)
print("Contains 1 =", sp.Integer(1) in interval)
print("f'(1) =", f_prime.subs(x,1))
Utskrift fra Python:
f(x) = x**3 - 6*x
f'(x) = 3*(x**2 - 2)
Critical points = [-sqrt(2), sqrt(2)]
Interval = Interval(-sqrt(2), sqrt(2))
Contains 1 = True
f'(1) = -3

Fasit: \(I=[-\sqrt{2},\sqrt{2}]\).

Vanlig feil: Å anta at alle tredjegradsfunksjoner er én-til-én.
Sensorpunkt: Fortegn og maksimalitet av intervallet skal begrunnes.
Del 2 - Oppgave 4Newtons avkjølingslov

Oppgave 4

Oppgave: Rommet er \(22^{\circ}\mathrm C\). Kaffen er 82 grader ved t=0 og 66 grader etter 2 minutter. Finn når den blir lavere enn 40 grader, gitt \(\ln(T-T_0)=-kt+r\).
Vis løsning

Hva spør oppgaven om? Vi bestemmer konstantene og løser deretter en streng ulikhet.

Steg 1 - t=0

\[r=\ln(82-22)=\ln60.\]

Steg 2 - t=2

\[\ln44=-2k+\ln60.\]

Steg 3 - k

\[k=\frac12\ln\left(\frac{15}{11}\right).\]

Steg 4 - Modell

\[T(t)=22+60e^{-kt}.\]

Steg 5 - Krav

\[22+60e^{-kt}<40\iff e^{-kt}<0{,}3.\]

Steg 6 - Løs

\[t>\frac{-\ln0{,}3}{k}\approx7{,}7637.\]

Steg 7 - Tolkning

Temperaturen blir lavere enn 40 grader etter omtrent 7 minutter og 46 sekunder.

Illustrasjon til Oppgave 4
Modellen passerer 40 °C ved omtrent 7,76 minutter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
k=(ln(60)-ln(44))/2
\(0.1550774642\)
2
Solve[22+60exp(-k t)=40,t]
\(t\approx7.763686432\)

Tolkning: Likningen gir grenseøyeblikket.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", nonnegative=True)
k = sp.Rational(1,2)*sp.log(sp.Rational(15,11))
r = sp.log(60)
T = 22+60*sp.exp(-k*t)
crossing = sp.simplify(sp.log(sp.Rational(10,3))/k)
print("r =", r)
print("k =", k)
print("k decimal =", sp.N(k,12))
print("T(t) =", T)
print("Time when T=40 =", crossing)
print("Time decimal =", sp.N(crossing,12))
print("T(2) =", sp.simplify(T.subs(t,2)))
Utskrift fra Python:
r = log(60)
k = log(15/11)/2
k decimal = 0.155077464152
T(t) = 22 + 60*exp(-t*log(15/11)/2)
Time when T=40 = log((10/3)**(2/log(15/11)))
Time decimal = 7.76368643188
T(2) = 66

Fasit: Kaffen er under 40 grader når \(t>7{,}764\) min.

Vanlig feil: Å bruke 40 i stedet for temperaturforskjellen 18.
Sensorpunkt: Konstanter, modell og streng ulikhet skal vises.
Del 2 - Oppgave 5aAlgoritme for rettvinklet trekant

Oppgave 5a

Oppgave: Beskriv en algoritme som avgjør om punktene \(A(a,b)\), \(B(c,d)\) og \(C(e,f)\) danner en rettvinklet trekant.
Vis løsning

Hva spør oppgaven om? Vi beregner kvadrerte sidelengder og bruker Pytagoras uten unødvendige kvadratrøtter.

Steg 1 - Avstander

\[AB^2=(c-a)^2+(d-b)^2,\] \[AC^2=(e-a)^2+(f-b)^2,\] \[BC^2=(e-c)^2+(f-d)^2.\]

Steg 2 - Ikke-degenerert trekant

Ingen side kan ha lengde 0, og punktene må ikke være kollineære.

Steg 3 - Sorter

Sorter de tre sidekvadratene som \(p\le q\le r\).

Steg 4 - Test

Trekanten er rettvinklet når \[p+q=r.\]

Steg 5 - Desimaltall

For flyttall brukes en liten toleranse.

Steg 6 - Output

Skriv den positive meldingen hvis testen er sann, ellers den negative.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Sort[{(c-a)^2+(d-b)^2,(e-a)^2+(f-b)^2,(e-c)^2+(f-d)^2}]
\(\{p,q,r\}\)

Tolkning: Etter sortering testes Pytagoras med p+q=r.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
def squared_distance(P, Q):
    return (Q[0]-P[0])**2 + (Q[1]-P[1])**2

def is_right_triangle(A, B, C, tolerance=1e-10):
    sides = sorted([squared_distance(A,B), squared_distance(A,C), squared_distance(B,C)])
    determinant = (B[0]-A[0])*(C[1]-A[1])-(B[1]-A[1])*(C[0]-A[0])
    return sides[0] > 0 and abs(determinant) > tolerance and abs(sides[0]+sides[1]-sides[2]) <= tolerance
A, B, C = (0,0), (3,0), (0,4)
side_squares = sorted([squared_distance(A,B), squared_distance(A,C), squared_distance(B,C)])
print("Squared side lengths =", side_squares)
print("Determinant =", (B[0]-A[0])*(C[1]-A[1])-(B[1]-A[1])*(C[0]-A[0]))
print("Pythagorean equality =", side_squares[0]+side_squares[1]==side_squares[2])
print("Right triangle =", is_right_triangle(A,B,C))
print("Expected output: Punktene danner en rettvinklet trekant.")
Utskrift fra Python:
Squared side lengths = [9, 16, 25]
Determinant = 12
Pythagorean equality = True
Right triangle = True
Expected output: Punktene danner en rettvinklet trekant.

Fasit: Sorter de tre kvadrerte sidelengdene; testen er \(p+q=r\), forutsatt en ikke-degenerert trekant.

Vanlig feil: Å anta på forhånd hvilken side som er hypotenusen.
Sensorpunkt: Algoritmen må fungere uansett hvor den rette vinkelen ligger.
Del 2 - Oppgave 5bPython-program for trekanttest

Oppgave 5b

Oppgave: Skriv kode med a, b, c, d, e og f som input og nøyaktig én av de to oppgitte tekstene som output.
Vis løsning

Hva spør oppgaven om? Vi implementerer algoritmen med robuste flyttallssammenligninger.

Steg 1 - Punkter

Koordinatene samles i A, B og C.

Steg 2 - Sidekvadrater

Beregn AB², AC² og BC².

Steg 3 - Sortering

Sorter listen slik at siste verdi er mulig hypotenus².

Steg 4 - Degenerasjon

Kontroller at punktene ikke er kollineære.

Steg 5 - Pytagoras

Bruk \(p+q\approx r\) med toleranse.

Steg 6 - Tekst

Returner nøyaktig den teksten oppgaven krever.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A=(a,b), B=(c,d), C=(e,f)
punktene
2
Sort[{Distance[A,B]^2,Distance[A,C]^2,Distance[B,C]^2}]
\(\{p,q,r\}\)

Tolkning: GeoGebra kan kontrollere konkrete input.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
from math import isclose

def right_triangle_message(a, b, c, d, e, f):
    ab2 = (c-a)**2 + (d-b)**2
    ac2 = (e-a)**2 + (f-b)**2
    bc2 = (e-c)**2 + (f-d)**2
    sides = sorted([ab2, ac2, bc2])
    determinant = (c-a)*(f-b)-(d-b)*(e-a)
    right = sides[0] > 0 and not isclose(determinant,0.0,abs_tol=1e-10) and isclose(sides[0]+sides[1],sides[2],rel_tol=1e-10,abs_tol=1e-10)
    if right:
        return "Punktene danner en rettvinklet trekant."
    return "Punktene danner ikke en rettvinklet trekant."
print("Test 1:", right_triangle_message(0,0,3,0,0,4))
print("Test 2:", right_triangle_message(0,0,2,0,1,2))
print("Test 3:", right_triangle_message(0,0,1,0,2,0))
print("Test 1 side squares =", [9,16,25])
print("Test 3 is rejected because the points are collinear")
Utskrift fra Python:
Test 1: Punktene danner en rettvinklet trekant.
Test 2: Punktene danner ikke en rettvinklet trekant.
Test 3: Punktene danner ikke en rettvinklet trekant.
Test 1 side squares = [9, 16, 25]
Test 3 is rejected because the points are collinear

Fasit: Programmet i løsningen gir korrekt tekst for vilkårlige koordinater.

Vanlig feil: Å godkjenne kollineære punkter som en trekant.
Sensorpunkt: Koden skal være generell, kjørbar og bruke de krevde tekstene.
Del 2 - Oppgave 6Maksimering av trekantareal

Oppgave 6

Oppgave: \(g(x)=x^3-3x^2-13x+15\). For \(1<s<5\) danner \(A(1,0)\), \(B(s,0)\) og \(P(s,g(s))\) en trekant. Finn eksakt s som gir størst areal og finn arealet.
Vis løsning

Hva spør oppgaven om? Vi lager en positiv arealfunksjon og maksimerer den.

Steg 1 - Grunnlinje

\[AB=s-1.\]

Steg 2 - Faktoriser

\[g(s)=(s-5)(s-1)(s+3).\] På intervallet er g(s)<0.

Steg 3 - Høyde

Høyden er \(|g(s)|=-g(s)\).

Steg 4 - Areal

\[A(s)=\frac12(s-1)^2(5-s)(s+3).\]

Steg 5 - Deriver

\[A\prime(s)=-2(s-1)(s^2-2s-7).\]

Steg 6 - Kritiske verdier

\[s=1,\quad s=1\pm2\sqrt{2}.\] Bare \(1+2\sqrt{2}\) ligger i \((1,5)\).

Steg 7 - Maksimum

Arealet går mot 0 ved endepunktene, så det indre kritiske punktet er maksimum.

Steg 8 - Verdi

\[A(1+2\sqrt{2})=32.\]

Illustrasjon til Oppgave 6
Maksimumspunktet er (1+2√2,32).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A(s)=1/2*(s-1)^2*(5-s)*(s+3)
arealfunksjonen
2
Extremum[A,1,5]
\((1+2\sqrt{2},32)\)

Tolkning: Det eneste indre ekstremalpunktet er maksimum.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
s = sp.symbols("s", real=True)
g = s**3-3*s**2-13*s+15
area = sp.factor(sp.Rational(1,2)*(s-1)*(-g))
derivative = sp.factor(sp.diff(area,s))
critical = sp.solve(sp.Eq(derivative,0),s)
s_max = 1+2*sp.sqrt(2)
max_area = sp.simplify(area.subs(s,s_max))
print("g(s) factorized =", sp.factor(g))
print("A(s) =", area)
print("A'(s) =", derivative)
print("Critical values =", critical)
print("Value in interval =", s_max)
print("Decimal s =", sp.N(s_max,12))
print("Maximum area =", max_area)
Utskrift fra Python:
g(s) factorized = (s - 5)*(s - 1)*(s + 3)
A(s) = -(s - 5)*(s - 1)**2*(s + 3)/2
A'(s) = -2*(s - 1)*(s**2 - 2*s - 7)
Critical values = [1, 1 - 2*sqrt(2), 1 + 2*sqrt(2)]
Value in interval = 1 + 2*sqrt(2)
Decimal s = 3.82842712475
Maximum area = 32

Fasit: \(s=1+2\sqrt{2}\), og maksimalarealet er \(32\).

Vanlig feil: Å bruke negativ høyde.
Sensorpunkt: Arealfunksjon, intervallkontroll og eksakt maksimum skal vises.
Del 2 - Oppgave 7aBanefart

Oppgave 7a

Oppgave: Piratbåten har \(\vec r_1(t)=[2+24t,4+20t]\). Finn banefarten.
Vis løsning

Hva spør oppgaven om? Banefarten er lengden av hastighetsvektoren.

Steg 1 - Deriver

\[\vec r_1\prime(t)=[24,20].\]

Steg 2 - Norm

\[v=\sqrt{24^2+20^2}=\sqrt{976}.\]

Steg 3 - Forenkle

\[v=4\sqrt{61}.\]

Steg 4 - Desimal

\[v\approx31{,}24\text{ km/h}.\]

Steg 5 - Enhet

Koordinatene er kilometer og t er timer.

Illustrasjon til Oppgave 7a
Piratens bane er den stigende rette linjen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Length[(24,20)]
\(4\sqrt{61}\)

Tolkning: Normen av hastighetsvektoren er banefarten.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
r1 = sp.Matrix([2+24*t,4+20*t])
velocity = sp.diff(r1,t)
speed = sp.sqrt(velocity.dot(velocity))
print("r1(t) =", tuple(r1))
print("r1'(t) =", tuple(velocity))
print("Speed exactly =", sp.simplify(speed))
print("Speed decimal =", sp.N(speed,12))
print("Unit = km/h")
Utskrift fra Python:
r1(t) = (24*t + 2, 20*t + 4)
r1'(t) = (24, 20)
Speed exactly = 4*sqrt(61)
Speed decimal = 31.2409987036
Unit = km/h

Fasit: \(4\sqrt{61}\text{ km/h}\approx31{,}24\text{ km/h}\).

Vanlig feil: Å legge sammen komponentene.
Sensorpunkt: Hastighetsvektor, norm og enhet skal vises.
Del 2 - Oppgave 7bMøte mellom båter

Oppgave 7b

Oppgave: Politibåten har \(\vec r_2(t)=[26t,10-22t]\). Undersøk om den møter piraten.
Vis løsning

Hva spør oppgaven om? Begge koordinater må være like ved samme tidspunkt.

Steg 1 - x-likning

\[2+24t=26t\Rightarrow t=1.\]

Steg 2 - y ved t=1

Piratens y er 24, politiets y er -12. De er ulike.

Steg 3 - y-likning

\[4+20t=10-22t\Rightarrow t=1/7.\]

Steg 4 - x ved t=1/7

Piratens x er \(38/7\), politiets x er \(26/7\).

Steg 5 - Konklusjon

Ingen t oppfyller begge likningene, så båtene møtes ikke.

Illustrasjon til Oppgave 7b
De heltrukne banene gir ikke samme posisjon ved samme tid.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[{2+24t=26t,4+20t=10-22t},t]
ingen løsning

Tolkning: Koordinatlikningene er uforenlige.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
r1 = sp.Matrix([2+24*t,4+20*t])
r2 = sp.Matrix([26*t,10-22*t])
tx = sp.solve(sp.Eq(r1[0],r2[0]),t)[0]
ty = sp.solve(sp.Eq(r1[1],r2[1]),t)[0]
solutions = sp.solve([sp.Eq(r1[0],r2[0]),sp.Eq(r1[1],r2[1])],[t],dict=True)
print("Time from x-equation =", tx)
print("Positions at tx =", tuple(r1.subs(t,tx)), tuple(r2.subs(t,tx)))
print("Time from y-equation =", ty)
print("Positions at ty =", tuple(r1.subs(t,ty)), tuple(r2.subs(t,ty)))
print("Simultaneous solutions =", solutions)
print("Meet =", bool(solutions))
Utskrift fra Python:
Time from x-equation = 1
Positions at tx = (26, 24) (26, -12)
Time from y-equation = 1/7
Positions at ty = (38/7, 48/7) (26/7, 48/7)
Simultaneous solutions = []
Meet = False

Fasit: Nei, politibåten møter ikke piraten.

Vanlig feil: Å løse bare én koordinatlikning.
Sensorpunkt: Samme t må tilfredsstille begge koordinater.
Del 2 - Oppgave 7cNødvendig banefart

Oppgave 7c

Oppgave: En annen politibåt starter i \((0,10)\). Finn banefarten for å treffe piraten i \((8,9)\).
Vis løsning

Hva spør oppgaven om? Vi finner møtetiden fra piratens parameterfunksjon og deler avstanden på tiden.

Steg 1 - Tid

\[2+24t=8\Rightarrow t=1/4.\]

Steg 2 - Kontroller y

\[4+20\cdot1/4=9.\]

Steg 3 - Forflytning

Fra \((0,10)\) til \((8,9)\) er vektoren \([8,-1]\).

Steg 4 - Avstand

\[s=\sqrt{8^2+(-1)^2}=\sqrt{65}.\]

Steg 5 - Fart

\[v=\frac{\sqrt{65}}{1/4}=4\sqrt{65}\text{ km/h}.\]

Steg 6 - Desimal

\[v\approx32{,}25\text{ km/h}.\]

Illustrasjon til Oppgave 7c
Den stiplede banen går til møtepunktet (8,9).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[2+24t=8,t]
\(t=1/4\)
2
Distance[(0,10),(8,9)]/(1/4)
\(4\sqrt{65}\)

Tolkning: Båten dekker sqrt(65) km på et kvart time.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
meeting_time = sp.solve(sp.Eq(2+24*t,8),t)[0]
pirate_y = 4+20*meeting_time
displacement = sp.Matrix([8,-1])
distance = sp.sqrt(displacement.dot(displacement))
speed = sp.simplify(distance/meeting_time)
print("Meeting time =", meeting_time)
print("Pirate y then =", pirate_y)
print("Displacement =", tuple(displacement))
print("Distance =", distance)
print("Speed exactly =", speed)
print("Speed decimal =", sp.N(speed,12))
Utskrift fra Python:
Meeting time = 1/4
Pirate y then = 9
Displacement = (8, -1)
Distance = sqrt(65)
Speed exactly = 4*sqrt(65)
Speed decimal = 32.2490309932

Fasit: \(4\sqrt{65}\text{ km/h}\approx32{,}25\text{ km/h}\).

Vanlig feil: Å bruke piratens fart.
Sensorpunkt: Møtetid, avstand og fart skal dokumenteres.
Del 2 - Oppgave 8aTangering og skjæring

Oppgave 8a

Oppgave: \(f(x)=2x^3-6x^2+2x+3\) og \(g(x)=2x+3\). Vis at grafene tangerer i ett punkt og skjærer i et annet.
Vis løsning

Hva spør oppgaven om? Vi finner fellespunktene og sammenligner de deriverte.

Steg 1 - Sett like

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

Steg 2 - Faktoriser

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

Steg 3 - Punkter

Røttene er x=0 og x=3. Punktene er \((0,3)\) og \((3,9)\).

Steg 4 - Deriver

\[f\prime(x)=6x^2-12x+2,\qquad g\prime(x)=2.\]

Steg 5 - x=0

\[f\prime(0)=2=g\prime(0).\] Grafene tangerer i \((0,3)\).

Steg 6 - x=3

\[f\prime(3)=20\ne2.\] Grafene skjærer i \((3,9)\).

Illustrasjon til Oppgave 8a
Samme tangent i (0,3), ulike stigningstall i (3,9).

GeoGebra/CAS-kontroll

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

Tolkning: Dobbelroten gir tangering; enkelroten gir skjæring.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
f = 2*x**3-6*x**2+2*x+3
g = 2*x+3
difference = sp.factor(f-g)
roots = sp.solve(sp.Eq(f,g),x)
f_prime = sp.diff(f,x)
g_prime = sp.diff(g,x)
print("f-g =", difference)
print("Intersection x-values =", roots)
for value in roots:
    print(f"Point x={value} =", (value,f.subs(x,value)))
    print(f"Slopes x={value} =", f_prime.subs(x,value), g_prime)
print("Tangent at x=0 =", f_prime.subs(x,0)==g_prime)
print("Different slopes at x=3 =", f_prime.subs(x,3)!=g_prime)
Utskrift fra Python:
f-g = 2*x**2*(x - 3)
Intersection x-values = [0, 3]
Point x=0 = (0, 3)
Slopes x=0 = 2 2
Point x=3 = (3, 9)
Slopes x=3 = 20 2
Tangent at x=0 = True
Different slopes at x=3 = True

Fasit: Grafene tangerer i \((0,3)\) og skjærer i \((3,9)\).

Vanlig feil: Å finne bare fellespunktene uten å undersøke stigningstall.
Sensorpunkt: Punkter og deriverte skal sammenlignes.
Del 2 - Oppgave 8bGenerell tangentlinje

Oppgave 8b

Oppgave: Avgjør om påstanden stemmer: Hvis \(F(x)=ax^3+bx^2+cx+d\) og \(G(x)=cx+d\), vil grafene tangere hverandre.
Vis løsning

Hva spør oppgaven om? Vi undersøker funksjonsverdi og stigningstall i x=0.

Steg 1 - Felles punkt

\[F(0)=d=G(0).\]

Steg 2 - Deriver

\[F\prime(x)=3ax^2+2bx+c,\qquad G\prime(x)=c.\]

Steg 3 - Stigning i x=0

\[F\prime(0)=c=G\prime(0).\]

Steg 4 - Tangentlikning

Tangenten til F i x=0 er \[y=F(0)+F\prime(0)x=d+cx.\]

Steg 5 - Identifikasjon

Dette er nøyaktig G(x). Derfor er G tangentlinjen til F i \((0,d)\).

Steg 6 - Særtilfelle

Hvis a=b=0, er F og G identiske; ellers har de minst tangentiell kontakt i x=0.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Tangent[a x^3+b x^2+c x+d,0]
\(y=cx+d\)

Tolkning: Tangentformelen gir G direkte.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x, a, b, c, d = sp.symbols("x a b c d")
F = a*x**3+b*x**2+c*x+d
G = c*x+d
F0 = F.subs(x,0)
G0 = G.subs(x,0)
F_prime0 = sp.diff(F,x).subs(x,0)
G_prime = sp.diff(G,x)
tangent = sp.expand(F0+F_prime0*x)
print("F(0) =", F0)
print("G(0) =", G0)
print("F'(0) =", F_prime0)
print("G'(x) =", G_prime)
print("Tangent to F at 0 =", tangent)
print("Tangent equals G =", sp.simplify(tangent-G)==0)
print("F-G factorized =", sp.factor(F-G))
Utskrift fra Python:
F(0) = d
G(0) = d
F'(0) = c
G'(x) = c
Tangent to F at 0 = c*x + d
Tangent equals G = True
F-G factorized = x**2*(a*x + b)

Fasit: Ja. G er tangentlinjen til F i \((0,d)\).

Vanlig feil: Å kreve to forskjellige fellespunkter for tangering.
Sensorpunkt: Lik verdi og lik derivert i x=0 skal vises.
Del 2 - Oppgave 8cVendepunkt og skjæringspunkt

Oppgave 8c

Oppgave: Finn sammenhengen mellom x-koordinaten til vendepunktet til F og x-koordinaten til det andre skjæringspunktet mellom F og G.
Vis løsning

Hva spør oppgaven om? Vi uttrykker begge koordinatene med a og b.

Steg 1 - Skjæringslikning

\[F(x)-G(x)=ax^3+bx^2=x^2(ax+b).\]

Steg 2 - Andre skjæringspunkt

I tillegg til x=0 får vi \[x_S=-\frac ba.\]

Steg 3 - Andrederivert

\[F\prime\prime(x)=6ax+2b.\]

Steg 4 - Vendepunkt

\[6ax+2b=0\Rightarrow x_V=-\frac{b}{3a}.\]

Steg 5 - Sammenheng

\[x_S=-\frac ba=3\left(-\frac{b}{3a}\right)=3x_V.\]

Steg 6 - Eksempel

For a=2 og b=-6 er \(x_V=1\) og \(x_S=3\).

Illustrasjon til Oppgave 8c
I eksemplet er x-koordinatene 1 og 3.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[6a x+2b=0,x]
\(x_V=-b/(3a)\)
2
Solve[a x+b=0,x]
\(x_S=-b/a=3x_V\)

Tolkning: Det andre skjæringspunktets x-verdi er tre ganger vendepunktets.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x, a, b, c, d = sp.symbols("x a b c d")
F = a*x**3+b*x**2+c*x+d
G = c*x+d
x_intersection = -b/a
x_inflection = -b/(3*a)
relation = sp.simplify(x_intersection-3*x_inflection)
example = {a:2,b:-6}
print("F-G =", sp.factor(F-G))
print("Other intersection x_S =", x_intersection)
print("F''(x) =", sp.diff(F,x,2))
print("Inflection x_V =", x_inflection)
print("x_S - 3*x_V =", relation)
print("Example x_S =", x_intersection.subs(example))
print("Example x_V =", x_inflection.subs(example))
Utskrift fra Python:
F-G = x**2*(a*x + b)
Other intersection x_S = -b/a
F''(x) = 2*(3*a*x + b)
Inflection x_V = -b/(3*a)
x_S - 3*x_V = 0
Example x_S = 3
Example x_V = 1

Fasit: \(x_S=3x_V\).

Vanlig feil: Å bruke tangentpunktet x=0 som det andre skjæringspunktet.
Sensorpunkt: Begge generelle koordinater skal utledes.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3056 Matematikk R1, våren 2022 (LK20). Bokmålssidene og sidebildene fra original-PDF-en er brukt som autoritativ kilde ved symboler og programkode. Løsningene, figurene og kontrollkodene er originale ifingo-utarbeidelser. Python-utskriftene er generert ved faktisk kjøring av hver kodeblokk under produksjonen.