R1 eksamenHøst 2025LK20

Matematikk R1 eksamen – høst 2025

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - høsten 2025, LK20 (REA3056)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon

Oppgave 1a

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

Hva spør oppgaven om? Vi skal derivere hvert ledd med potensregelen.

Steg 1 - Del opp

Funksjonen har et tredjegradsledd, et lineært ledd og en konstant.

Steg 2 - Deriver tredjegradsleddet

\[\frac{d}{dx}\left(\frac13x^3\right)=\frac13\cdot3x^2=x^2.\]

Steg 3 - Deriver resten

\[\frac{d}{dx}(x)=1,\qquad \frac{d}{dx}(2)=0.\]

Steg 4 - Sett sammen

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

Steg 5 - Kontroller

Den deriverte er alltid positiv, noe som betyr at f er strengt voksende.

GeoGebra/CAS-kontroll

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

Tolkning: CAS bekrefter potensregelen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
f=sp.Rational(1,3)*x**3+x+2
print("f(x) =", f)
print("Derivative of x^3/3 =", sp.diff(sp.Rational(1,3)*x**3,x))
print("Derivative of x =", sp.diff(x,x))
print("Derivative of 2 =", sp.diff(2,x))
print("f'(x) =", sp.diff(f,x))
print("Minimum value of f'(x) is 1")
Utskrift fra Python:
f(x) = x**3/3 + x + 2
Derivative of x^3/3 = x**2
Derivative of x = 1
Derivative of 2 = 0
f'(x) = x**2 + 1
Minimum value of f'(x) is 1

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

Vanlig feil: Å glemme faktoren 3 fra potensregelen.
Sensorpunkt: Alle ledd skal deriveres og uttrykket forenkles.
Del 1 - Oppgave 1bKvotientregel og kjerneregel

Oppgave 1b

Oppgave: For \(g(x)=\frac{2x-3}{e^x}\), bestem \(g^{\prime}(2)\) og \(g^{\prime}(3)\).
Vis løsning

Hva spør oppgaven om? Vi skal derivere g og sette inn de to x-verdiene.

Steg 1 - Skriv om

\[g(x)=(2x-3)e^{-x}.\]

Steg 2 - Bruk produktregelen

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

Steg 3 - Faktoriser

\[g^{\prime}(x)=(5-2x)e^{-x}=\frac{5-2x}{e^x}.\]

Steg 4 - Sett inn x=2

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

Steg 5 - Sett inn x=3

\[g^{\prime}(3)=\frac{-1}{e^3}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Simplify[Derivative[(2x-3)/exp(x)]]
\((5-2x)e^{-x}\), \(g\prime(2)=e^{-2}\), \(g\prime(3)=-e^{-3}\)

Tolkning: CAS gir samme faktoriserte uttrykk.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
g=(2*x-3)/sp.exp(x)
gp=sp.simplify(sp.diff(g,x))
print("g(x) =", g)
print("g'(x) before factoring =", sp.diff(g,x))
print("g'(x) simplified =", gp)
print("g'(2) =", sp.simplify(gp.subs(x,2)))
print("g'(2) decimal =", sp.N(gp.subs(x,2),12))
print("g'(3) =", sp.simplify(gp.subs(x,3)))
print("g'(3) decimal =", sp.N(gp.subs(x,3),12))
Utskrift fra Python:
g(x) = (2*x - 3)*exp(-x)
g'(x) before factoring = -(2*x - 3)*exp(-x) + 2*exp(-x)
g'(x) simplified = (5 - 2*x)*exp(-x)
g'(2) = exp(-2)
g'(2) decimal = 0.135335283237
g'(3) = -exp(-3)
g'(3) decimal = -0.0497870683679

Fasit: \(g^{\prime}(2)=e^{-2}\) og \(g^{\prime}(3)=-e^{-3}\).

Vanlig feil: Fortegnsfeil når e^{-x} deriveres.
Sensorpunkt: Den deriverte og begge eksakte innsettinger må vises.
Del 1 - Oppgave 1cMonotoni og toppunkt

Oppgave 1c

Oppgave: Hva forteller svarene i b om grafen til g når \(x\in[2,3]\)?
Vis løsning

Hva spør oppgaven om? Vi skal tolke fortegnene til den deriverte og finne hvor den skifter fortegn.

Steg 1 - Tolk endepunktene

Siden \(g^{\prime}(2)>0\), stiger grafen ved x=2. Siden \(g^{\prime}(3)<0\), synker grafen ved x=3.

Steg 2 - Finn nullpunktet til den deriverte

\[(5-2x)e^{-x}=0.\] Eksponentialfaktoren er positiv, så \(5-2x=0\), altså \(x=\frac52\).

Steg 3 - Fortegn

For \(x<\frac52\) er \(5-2x>0\), og for \(x>\frac52\) er faktoren negativ.

Steg 4 - Konklusjon

g øker på \([2,\frac52]\) og avtar på \([\frac52,3]\).

Steg 5 - Toppunkt

Dermed har grafen et toppunkt i intervallet ved \[\left(\frac52,\frac{2}{e^{5/2}}\right).\]

Grafen stiger før x=2,5 og synker etter x=2,5.
Grafen stiger før x=2,5 og synker etter x=2,5.

GeoGebra/CAS-kontroll

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

Tolkning: Fortegnsskiftet er fra pluss til minus.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
g=(2*x-3)*sp.exp(-x)
gp=sp.factor(sp.diff(g,x))
critical=sp.solve(sp.Eq(gp,0),x)[0]
print("g'(x) =", gp)
print("Critical x =", critical)
print("g'(2) =", sp.N(gp.subs(x,2),10))
print("g'(2.25) =", sp.N(gp.subs(x,sp.Rational(9,4)),10))
print("g'(2.75) =", sp.N(gp.subs(x,sp.Rational(11,4)),10))
print("g'(3) =", sp.N(gp.subs(x,3),10))
print("Maximum point =", (critical,sp.simplify(g.subs(x,critical))))
Utskrift fra Python:
g'(x) = -(2*x - 5)*exp(-x)
Critical x = 5/2
g'(2) = 0.1353352832
g'(2.25) = 0.05269961228
g'(2.75) = -0.03196393060
g'(3) = -0.04978706837
Maximum point = (5/2, 2*exp(-5/2))

Fasit: g øker fram til \(x=2,5\) og avtar etterpå; toppunktet er \(\left(2,5,2e^{-2,5}\right)\).

Vanlig feil: Å bare si at grafen først stiger og så synker uten å finne skiftepunktet.
Sensorpunkt: Knyt fortegnene til monotoni og dokumenter toppunktet.
Del 1 - Oppgave 2aLogaritmelikning

Oppgave 2a

Oppgave: Løs \[(\lg x)^2-2\lg x=8.\]
Vis løsning

Hva spør oppgaven om? Vi skal gjøre likningen om til en andregradslikning i lg x.

Steg 1 - Definisjonsmengde

Logaritmen krever \(x>0\).

Steg 2 - Sett y=lg x

Likningen blir \[y^2-2y-8=0.\]

Steg 3 - Faktoriser

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

Steg 4 - Finn y

\[y=4\quad\text{eller}\quad y=-2.\]

Steg 5 - Gå tilbake til x

\[x=10^4=10000\quad\text{eller}\quad x=10^{-2}=0,01.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[(log(10,x))^2-2log(10,x)=8,x]
\(x=10^4\) eller \(x=10^{-2}\)

Tolkning: Begge løsningene er positive og gyldige.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
y=sp.symbols("y", real=True)
quadratic=y**2-2*y-8
roots=sp.solve(sp.Eq(quadratic,0),y)
print("Quadratic in y =", quadratic)
print("Factorization =", sp.factor(quadratic))
print("Solutions for y = lg(x):", roots)
xs=[10**int(r) for r in roots]
print("Corresponding x-values =", xs)
for value in xs:
    check=sp.log(value,10)**2-2*sp.log(value,10)
    print("Check x =", value, "gives", sp.simplify(check))
Utskrift fra Python:
Quadratic in y = y**2 - 2*y - 8
Factorization = (y - 4)*(y + 2)
Solutions for y = lg(x): [-2, 4]
Corresponding x-values = [0.01, 10000]
Check x = 0.01 gives 42.4151848838272/log(10)**2
Check x = 10000 gives 8

Fasit: \(x=10000\) eller \(x=0,01\).

Vanlig feil: Å miste løsningen med negativ logaritmeverdi.
Sensorpunkt: Vis substitusjonen, faktoriser og kontroller x>0.
Del 1 - Oppgave 2bLogaritmens definisjon

Oppgave 2b

Oppgave: Bestem a slik at \[\log_a\left(\frac1{64}\right)=-3.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke definisjonen av logaritme og kontrollere kravene til grunntallet.

Steg 1 - Bruk definisjonen

\[\log_a(1/64)=-3\iff a^{-3}=\frac1{64}.\]

Steg 2 - Snu brøkene

\[\frac1{a^3}=\frac1{64}.\]

Steg 3 - Løs

\[a^3=64\Rightarrow a=4.\]

Steg 4 - Kontroller grunnkrav

Et logaritmegrunnlag må være positivt og forskjellig fra 1. Tallet 4 oppfyller begge krav.

Steg 5 - Kontroll

\[4^{-3}=\frac1{4^3}=\frac1{64}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[a^(-3)=1/64,a]
\(a=4\)

Tolkning: Grunnlaget er gyldig fordi 4>0 og 4≠1.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a=sp.symbols("a", positive=True)
solution=sp.solve(sp.Eq(a**(-3),sp.Rational(1,64)),a)
print("Equation: a^(-3) = 1/64")
print("Positive real solution =", solution)
value=solution[0]
print("a^3 =", value**3)
print("a^(-3) =", sp.simplify(value**(-3)))
print("Base conditions: positive =", bool(value>0), ", different from 1 =", value!=1)
Utskrift fra Python:
Equation: a^(-3) = 1/64
Positive real solution = [4]
a^3 = 64
a^(-3) = 1/64
Base conditions: positive = True , different from 1 = True

Fasit: \(a=4\).

Vanlig feil: Å svare a=-4; et logaritmegrunnlag kan ikke være negativt.
Sensorpunkt: Definisjonen og grunnkravene skal være eksplisitte.
Del 1 - Oppgave 3aGrenseverdi med vertikal asymptote

Oppgave 3a

Oppgave: Bestem \[\lim_{x\to-2}\frac{x^2-4x+2}{x^2-2x-8}\] dersom den eksisterer.
Vis løsning

Hva spør oppgaven om? Vi skal undersøke ensidige grenser fordi nevneren blir null mens telleren ikke blir null.

Steg 1 - Faktoriser nevneren

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

Steg 2 - Kontroller telleren

Ved x=-2 er telleren \[4+8+2=14\neq0.\]

Steg 3 - Venstre side

Når \(x\to-2^-\), er både \(x-4\) og \(x+2\) negative. Nevneren er positiv og nær 0, så brøken går mot \(+\infty\).

Steg 4 - Høyre side

Når \(x\to-2^+\), er \(x-4<0\) og \(x+2>0\). Nevneren er negativ og nær 0, så brøken går mot \(-\infty\).

Steg 5 - Konklusjon

De ensidige grensene er ulike. Den tosidige grenseverdien eksisterer derfor ikke.

Brøken går mot motsatte uendeligheter på hver side av x=-2.
Brøken går mot motsatte uendeligheter på hver side av x=-2.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
LimitBelow((x^2-4x+2)/(x^2-2x-8),-2); LimitAbove((x^2-4x+2)/(x^2-2x-8),-2)
Venstre: \(+\infty\), høyre: \(-\infty\)

Tolkning: Ulike ensidige grenser betyr at den tosidige grensen ikke finnes.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
expr=(x**2-4*x+2)/(x**2-2*x-8)
print("Expression =", expr)
print("Factored denominator =", sp.factor(x**2-2*x-8))
print("Numerator at -2 =", (x**2-4*x+2).subs(x,-2))
left=sp.limit(expr,x,-2,dir='-')
right=sp.limit(expr,x,-2,dir='+')
print("Left-hand limit =", left)
print("Right-hand limit =", right)
print("Two-sided limit exists =", left==right)
Utskrift fra Python:
Expression = (x**2 - 4*x + 2)/(x**2 - 2*x - 8)
Factored denominator = (x - 4)*(x + 2)
Numerator at -2 = 14
Left-hand limit = oo
Right-hand limit = -oo
Two-sided limit exists = False

Fasit: Grenseverdien eksisterer ikke; venstre grense er \(+\infty\), høyre grense er \(-\infty\).

Vanlig feil: Å forkorte en faktor som ikke finnes i telleren.
Sensorpunkt: Begge ensidige grenser må dokumenteres.
Del 1 - Oppgave 3b1Fjernbar diskontinuitet

Oppgave 3b1

Oppgave: Bestem a slik at \[\lim_{x\to-2}\frac{x^2+ax+2}{x^2-2x-8}\] eksisterer.
Vis løsning

Hva spør oppgaven om? Vi skal kreve at telleren også har faktoren x+2.

Steg 1 - Nevnerens nullpunkt

Nevneren har faktoren \(x+2\), og blir null ved x=-2.

Steg 2 - Krav til telleren

For å unngå en vertikal asymptote må telleren også bli null ved x=-2.

Steg 3 - Sett inn

\[(-2)^2+a(-2)+2=0.\]

Steg 4 - Løs

\[6-2a=0\Rightarrow a=3.\]

Steg 5 - Faktoriser med denne verdien

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

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[(-2)^2+a(-2)+2=0,a]
\(a=3\)

Tolkning: Da kan faktoren x+2 forkortes.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x,a=sp.symbols("x a", real=True)
numerator=x**2+a*x+2
condition=sp.Eq(numerator.subs(x,-2),0)
solution=sp.solve(condition,a)[0]
print("Numerator =", numerator)
print("Condition at x=-2 =", condition)
print("a =", solution)
print("Numerator after substitution =", numerator.subs(a,solution))
print("Factorization =", sp.factor(numerator.subs(a,solution)))
print("Common factor with denominator = x + 2")
Utskrift fra Python:
Numerator = a*x + x**2 + 2
Condition at x=-2 = Eq(6 - 2*a, 0)
a = 3
Numerator after substitution = x**2 + 3*x + 2
Factorization = (x + 1)*(x + 2)
Common factor with denominator = x + 2

Fasit: \(a=3\).

Vanlig feil: Å forsøke å bruke l’Hôpitals regel før parameteren er bestemt.
Sensorpunkt: Kravet om felles faktor skal begrunnes.
Del 1 - Oppgave 3b2Beregne grense etter forkorting

Oppgave 3b2

Oppgave: Bestem grenseverdien når a har verdien fra b1.
Vis løsning

Hva spør oppgaven om? Vi skal forkorte den felles faktoren og sette inn x=-2.

Steg 1 - Sett inn a=3

\[\frac{x^2+3x+2}{x^2-2x-8}.\]

Steg 2 - Faktoriser

\[\frac{(x+1)(x+2)}{(x-4)(x+2)}.\]

Steg 3 - Forkort for x≠-2

\[\frac{x+1}{x-4}.\]

Steg 4 - Ta grensen

\[\lim_{x\to-2}\frac{x+1}{x-4}=\frac{-1}{-6}=\frac16.\]

Steg 5 - Tolk

Det opprinnelige uttrykket har et hull ved x=-2, men grensen er endelig.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Limit[(x^2+3x+2)/(x^2-2x-8),x,-2]
\(1/6\)

Tolkning: CAS forkorter den felles faktoren.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
expr=(x**2+3*x+2)/(x**2-2*x-8)
print("Original expression =", expr)
print("Factored numerator =", sp.factor(x**2+3*x+2))
print("Factored denominator =", sp.factor(x**2-2*x-8))
reduced=sp.cancel(expr)
print("Reduced expression for x != -2 =", reduced)
print("Value of reduced expression at -2 =", reduced.subs(x,-2))
print("Limit =", sp.limit(expr,x,-2))
Utskrift fra Python:
Original expression = (x**2 + 3*x + 2)/(x**2 - 2*x - 8)
Factored numerator = (x + 1)*(x + 2)
Factored denominator = (x - 4)*(x + 2)
Reduced expression for x != -2 = (x + 1)/(x - 4)
Value of reduced expression at -2 = 1/6
Limit = 1/6

Fasit: Grenseverdien er \(\frac16\).

Vanlig feil: Å sette inn x=-2 før faktoren er forkortet og stoppe ved 0/0.
Sensorpunkt: Faktorisering og forkorting må vises.
Del 1 - Oppgave 4aAvstand mellom punkter

Oppgave 4a

Oppgave: Punktene er A(-2,3) og B(3,2). Bestem lengden AB.
Vis løsning

Hva spør oppgaven om? Vi skal bruke avstandsformelen.

Steg 1 - Finn koordinatforskjellen

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

Steg 2 - Bruk Pytagoras

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

Steg 3 - Regn ut

\[AB=\sqrt{25+1}=\sqrt{26}.\]

Steg 4 - Desimalkontroll

\(\sqrt{26}\approx5,10\).

Steg 5 - Konklusjon

Lengden er positiv og oppgis eksakt som \(\sqrt{26}\).

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Distance[(-2,3),(3,2)]
\(\sqrt{26}\)

Tolkning: Avstandsverktøyet gir samme lengde.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
A=sp.Matrix([-2,3]); B=sp.Matrix([3,2])
AB=B-A
length=sp.sqrt(AB.dot(AB))
print("A =", tuple(A))
print("B =", tuple(B))
print("Vector AB =", tuple(AB))
print("Squared length =", AB.dot(AB))
print("Exact length =", length)
print("Decimal length =", sp.N(length,12))
Utskrift fra Python:
A = (-2, 3)
B = (3, 2)
Vector AB = (5, -1)
Squared length = 26
Exact length = sqrt(26)
Decimal length = 5.09901951359

Fasit: \(AB=\sqrt{26}\).

Vanlig feil: Å summere koordinatforskjellene uten å kvadrere.
Sensorpunkt: Vis vektor eller avstandsformel og eksakt svar.
Del 1 - Oppgave 4bLinjens skjæring med x-aksen

Oppgave 4b

Oppgave: Linja gjennom A og B skjærer x-aksen i C. Bestem C.
Vis løsning

Hva spør oppgaven om? Vi skal finne linjelikningen og sette y=0.

Steg 1 - Stigningstall

\[m=\frac{2-3}{3-(-2)}=-\frac15.\]

Steg 2 - Punkt-stigning-form

Gjennom A får vi \[y-3=-\frac15(x+2).\]

Steg 3 - Sett y=0

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

Steg 4 - Løs

\[15=x+2\Rightarrow x=13.\]

Steg 5 - Punktet

\[C=(13,0).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Intersect[Line[(-2,3),(3,2)],xAxis]
\(C=(13,0)\)

Tolkning: Skjæringspunktet finnes ved y=0.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
A=(-2,3); B=(3,2)
slope=sp.Rational(B[1]-A[1],B[0]-A[0])
y_line=A[1]+slope*(x-A[0])
x_intercept=sp.solve(sp.Eq(y_line,0),x)[0]
print("Slope =", slope)
print("Line equation y =", sp.expand(y_line))
print("Equation for x-intercept:", sp.Eq(y_line,0))
print("x-intercept =", x_intercept)
print("C =", (x_intercept,0))
print("Check y(13) =", y_line.subs(x,13))
Utskrift fra Python:
Slope = -1/5
Line equation y = 13/5 - x/5
Equation for x-intercept: Eq(13/5 - x/5, 0)
x-intercept = 13
C = (13, 0)
Check y(13) = 0

Fasit: \(C=(13,0)\).

Vanlig feil: Å bruke den omvendte brøken i stigningstallet.
Sensorpunkt: Linjens likning og innsetting av y=0 skal vises.
Del 1 - Oppgave 4cOrtogonalitet med skalarprodukt

Oppgave 4c

Oppgave: Punktet D=(2,t). Bestem t slik at \(\angle ABD=90^{\circ}\).
Vis løsning

Hva spør oppgaven om? Vinkelen ligger i B, så vektorene BA og BD må være ortogonale.

Steg 1 - Vektor BA

\[\overrightarrow{BA}=A-B=[-5,1].\]

Steg 2 - Vektor BD

\[\overrightarrow{BD}=D-B=[-1,t-2].\]

Steg 3 - Ortogonalitetskrav

\[\overrightarrow{BA}\cdot\overrightarrow{BD}=0.\]

Steg 4 - Regn ut

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

Steg 5 - Løs

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

GeoGebra/CAS-kontroll

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

Tolkning: Skalarproduktet blir null.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t=sp.symbols("t", real=True)
BA=sp.Matrix([-5,1]); BD=sp.Matrix([-1,t-2])
dot=sp.expand(BA.dot(BD))
solution=sp.solve(sp.Eq(dot,0),t)[0]
print("BA =", tuple(BA))
print("BD =", tuple(BD))
print("Dot product =", dot)
print("Equation =", sp.Eq(dot,0))
print("t =", solution)
print("Check dot product =", dot.subs(t,solution))
print("D =", (2,solution))
Utskrift fra Python:
BA = (-5, 1)
BD = (-1, t - 2)
Dot product = t + 3
Equation = Eq(t + 3, 0)
t = -3
Check dot product = 0
D = (2, -3)

Fasit: \(t=-3\).

Vanlig feil: Å bruke vektorene AB og AD; vinkelen er i B.
Sensorpunkt: Riktige vektorer fra B og skalarproduktlikningen må vises.
Del 1 - Oppgave 5aEkstremalpunkt for logaritmefunksjon

Oppgave 5a

Oppgave: For \(f(x)=4x^2\ln x\), bestem eventuelle topp- og bunnpunkter.
Vis løsning

Hva spør oppgaven om? Vi skal ta hensyn til definisjonsmengden x>0, derivere og analysere fortegn.

Steg 1 - Definisjonsmengde

\(\ln x\) krever \(x>0\).

Steg 2 - Deriver med produktregelen

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

Steg 3 - Finn kritisk punkt

Siden x>0, er 4x ikke null. Derfor \[2\ln x+1=0\Rightarrow x=e^{-1/2}=\frac1{\sqrt e}.\]

Steg 4 - Fortegn

Faktoren \(2\ln x+1\) er negativ før dette punktet og positiv etter. Punktet er derfor et bunnpunkt.

Steg 5 - Funksjonsverdi

\[f(e^{-1/2})=4e^{-1}\left(-\frac12\right)=-\frac2e.\] Det finnes ikke noe toppunkt på x>0.

Funksjonen har et bunnpunkt ved x=e^{-1/2} og nullpunkt ved x=1.
Funksjonen har et bunnpunkt ved x=e^{-1/2} og nullpunkt ved x=1.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve(Derivative(4x^2 ln(x))=0,x)
Bunnpunkt \((e^{-1/2},-2/e)\)

Tolkning: Den deriverte skifter fra negativ til positiv.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", positive=True)
f=4*x**2*sp.log(x)
fp=sp.factor(sp.diff(f,x))
critical=sp.solve(sp.Eq(fp,0),x)[0]
value=sp.simplify(f.subs(x,critical))
print("Domain: x > 0")
print("f(x) =", f)
print("f'(x) =", fp)
print("Critical x =", critical)
print("f(critical x) =", value)
print("f' at x=0.2 =", sp.N(fp.subs(x,sp.Rational(1,5)),10))
print("f' at x=1 =", fp.subs(x,1))
print("Classification: local and global minimum, no maximum")
Utskrift fra Python:
Domain: x > 0
f(x) = 4*x**2*log(x)
f'(x) = 4*x*(2*log(x) + 1)
Critical x = exp(-1/2)
f(critical x) = -2*exp(-1)
f' at x=0.2 = -1.775100660
f' at x=1 = 4
Classification: local and global minimum, no maximum

Fasit: Bunnpunktet er \(\left(e^{-1/2},-2/e\right)\). Det finnes ikke toppunkt.

Vanlig feil: Å ta med x=0 som kritisk punkt selv om funksjonen ikke er definert der.
Sensorpunkt: Definisjonsmengde, produktregel, fortegn og koordinater må være med.
Del 1 - Oppgave 5bHalveringsmetoden

Oppgave 5b

Oppgave: Forklar programmet i linje 11–20 og bestem verdien som skrives ut.
Vis løsning

Hva spør oppgaven om? Vi skal identifisere algoritmen, følge intervalloppdateringen og kjøre den nøyaktige koden.

Steg 1 - Startintervall

Programmet starter med a=0,1 og b=3. Funksjonen har ulikt fortegn i endepunktene, så et nullpunkt ligger i intervallet.

Steg 2 - Midtpunkt

Linje 11 setter \(m=(a+b)/2\).

Steg 3 - Stoppvilkår

Så lenge \(|f(m)|\ge 0,0001\), fortsetter løkken. Programmet stopper altså når funksjonsverdien i midtpunktet er tilstrekkelig nær null.

Steg 4 - Velg halvintervall

Linje 15–18 undersøker fortegnet til \(f(a)f(m)\). Hvis produktet er negativt, ligger nullpunktet mellom a og m og b settes lik m. Ellers settes a lik m.

Steg 5 - Resultat

Dette er halveringsmetoden for nullpunktet x=1. Etter 15 iterasjoner skrives omtrent \(1,000010681152344\) ut.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Root[4x^2 ln(x),0.1,3]
\(x\approx1,000010681152344\)

Tolkning: Programmet halverer intervallet til |f(m)|<0,0001.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
from math import log

a = 0.1
b = 3
maks_avvik = 0.0001

def f(x):
    return 4*x**2*log(x)

m = (a+b)/2
iterations = 0
while abs(f(m)) >= maks_avvik:
    if f(a)*f(m) < 0:
        b = m
    else:
        a = m
    m = (a+b)/2
    iterations += 1

print("Printed value:", m)
print("Iterations:", iterations)
print("Final interval:", (a,b))
print("f(m):", f(m))
print("Exact zero for comparison: 1.0")
Utskrift fra Python:
Printed value: 1.000010681152344
Iterations: 15
Final interval: (0.9999664306640625, 1.000054931640625)
f(m): 4.272529389942768e-05
Exact zero for comparison: 1.0

Fasit: Programmet bruker halveringsmetoden og skriver ut \(1,000010681152344\).

Vanlig feil: Å si at programmet finner bunnpunktet. Det søker et nullpunkt fordi stoppvilkåret bruker |f(m)|.
Sensorpunkt: Forklar intervallet, fortegnstesten, stoppvilkåret og faktisk utskrift.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aLogistisk regresjon

Oppgave 1a

Oppgave: Lag en modell \(F(t)=\frac{B}{1+a e^{-kt}}\) for folketallet t år etter 1960, og vurder gyldighetsområdet.
Vis løsning

Hva spør oppgaven om? Vi skal utføre logistisk regresjon på de ni datapunktene.

Steg 1 - Definer tid

Vi bruker t=0 for 1960, t=1 for 1961, ..., t=20 for 1980.

Steg 2 - Tilpass modellen

Ikke-lineær regresjon gir omtrent \[B=2840,90,\quad a=5,07482,\quad k=0,247026.\]

Steg 3 - Skriv modellen

\[F(t)=\frac{2840,90}{1+5,07482e^{-0,247026t}}.\]

Steg 4 - Tolk B

Parameteren B er modellens øvre grense. Modellen nærmer seg omtrent 2841 innbyggere.

Steg 5 - Gyldighetsområde

Modellen er godt forankret i observasjonene for 0≤t≤20. Den kan brukes forsiktig litt utenfor intervallet, men langsiktig framskriving er usikker fordi flytting, boligbygging og andre forhold kan endres.

Den logistiske modellen følger datapunktene og nærmer seg et metningsnivå.
Den logistiske modellen følger datapunktene og nærmer seg et metningsnivå.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
FitLogistic({(0,500),(1,604),(3,852),(5,1043),(7,1510),(11,2163),(15,2544),(17,2639),(20,2715)})
\(F(t)\approx2840,90/(1+5,07482e^{-0,247026t})\)

Tolkning: Modellen følger datapunktene og flater ut nær B.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import numpy as np
from scipy.optimize import curve_fit

t=np.array([0,1,3,5,7,11,15,17,20],dtype=float)
y=np.array([500,604,852,1043,1510,2163,2544,2639,2715],dtype=float)

def model(t,B,a,k):
    return B/(1+a*np.exp(-k*t))

parameters,covariance=curve_fit(model,t,y,p0=[2800,5,0.25],maxfev=100000)
B,a,k=parameters
predicted=model(t,*parameters)
residuals=y-predicted
print("B =", B)
print("a =", a)
print("k =", k)
print("Maximum absolute residual =", np.max(np.abs(residuals)))
print("RMSE =", np.sqrt(np.mean(residuals**2)))
print("Model at t=0 =", model(0,*parameters))
print("Model at t=20 =", model(20,*parameters))
Utskrift fra Python:
B = 2840.898903490819
a = 5.074820169037104
k = 0.24702626102914935
Maximum absolute residual = 104.49469713705071
RMSE = 42.059647398049975
Model at t=0 = 467.65152291596456
Model at t=20 = 2741.4150478687675

Fasit: \(F(t)\approx\frac{2840,90}{1+5,07482e^{-0,247026t}}\), primært gyldig for perioden rundt 1960–1980.

Vanlig feil: Å bruke kalenderåret direkte som t og dermed få meningsløse parametere.
Sensorpunkt: Dokumenter regresjonen, parameterverdiene og en faglig vurdering av gyldighet.
Del 2 - Oppgave 1bDeriverte i logistisk modell

Oppgave 1b

Oppgave: Bestem \(F^{\prime}(12)\) og \(F^{\prime\prime}(12)\), og tolk svarene.
Vis løsning

Hva spør oppgaven om? Vi skal bruke den tilpassede modellen og tolke enhetene.

Steg 1 - Førstederivert

For \(F=B/(1+ae^{-kt})\) er \[F^{\prime}(t)=\frac{Bkae^{-kt}}{(1+ae^{-kt})^2}.\]

Steg 2 - Andrederivert

\[F^{\prime\prime}(t)=\frac{Bk^2ae^{-kt}(ae^{-kt}-1)}{(1+ae^{-kt})^3}.\]

Steg 3 - Sett inn t=12

Med regresjonsparameterne får vi \[F^{\prime}(12)\approx115,41.\]

Steg 4 - Andrederivert ved t=12

\[F^{\prime\prime}(12)\approx-16,68.\]

Steg 5 - Tolkning

I 1972 økte folketallet med omtrent 115 personer per år. Vekstfarten var da avtakende med omtrent 16,7 personer per år for hvert år som gikk.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
F(t)=2840.89967/(1+5.07481953 exp(-0.247026084t)); F'(12); F''(12)
\(F\prime(12)\approx115,41\), \(F\prime\prime(12)\approx-16,68\)

Tolkning: Positiv vekst, men avtakende vekstfart.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t=sp.symbols("t", real=True)
B=sp.Float('2840.89967'); a=sp.Float('5.07481953'); k=sp.Float('0.247026084')
F=B/(1+a*sp.exp(-k*t))
Fp=sp.diff(F,t); Fpp=sp.diff(Fp,t)
print("F(t) =", F)
print("F'(t) =", Fp)
print("F''(t) =", Fpp)
print("F(12) =", sp.N(F.subs(t,12),12))
print("F'(12) =", sp.N(Fp.subs(t,12),12), "persons/year")
print("F''(12) =", sp.N(Fpp.subs(t,12),12), "persons/year^2")
print("Population is increasing:", Fp.subs(t,12)>0)
print("Growth rate is decreasing:", Fpp.subs(t,12)<0)
Utskrift fra Python:
F(t) = 2840.89967/(1 + 5.07481953*exp(-0.247026084*t))
F'(t) = 3561.38817705117*exp(-0.247026084*t)/(1 + 5.07481953*exp(-0.247026084*t))**2
F''(t) = -879.75577498085*exp(-0.247026084*t)/(1 + 5.07481953*exp(-0.247026084*t))**2 + 8929.2035770062*exp(-0.494052168*t)/(1 + 5.07481953*exp(-0.247026084*t))**3
F(12) = 2251.39471181
F'(12) = 115.405370943 persons/year
F''(12) = -16.6768932523 persons/year^2
Population is increasing: True
Growth rate is decreasing: True

Fasit: \(F^{\prime}(12)\approx115\) personer/år og \(F^{\prime\prime}(12)\approx-16,7\) personer/år².

Vanlig feil: Å tolke F″ som at folketallet synker. Det er vekstfarten som synker, mens F′ fortsatt er positiv.
Sensorpunkt: Oppgi enheter og en praktisk tolkning av begge deriverte.
Del 2 - Oppgave 1cUlikhet med den deriverte

Oppgave 1c

Oppgave: Når økte folketallet med mer enn 150 personer per år ifølge modellen?
Vis løsning

Hva spør oppgaven om? Vi skal løse ulikheten F′(t)>150.

Steg 1 - Sett opp

Vi løser \[\frac{Bkae^{-kt}}{(1+ae^{-kt})^2}>150.\]

Steg 2 - Finn grensepunktene

Likningen \(F^{\prime}(t)=150\) gir omtrent \[t=3,329\quad\text{og}\quad t=9,822.\]

Steg 3 - Test mellom røttene

Den logistiske vekstfarten er størst ved vendepunktet og er større enn 150 mellom de to tidspunktene.

Steg 4 - Tidsintervall

\[3,329<t<9,822.\]

Steg 5 - Kalenderår

Dette svarer omtrent til perioden fra våren 1963 til høsten 1969.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[Derivative[F](t)>150,t]
\(3,329<t<9,822\)

Tolkning: Vekstfarten overstiger 150 mellom de to skjæringspunktene.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t=sp.symbols("t", real=True)
B=sp.Float('2840.89967'); a=sp.Float('5.07481953'); k=sp.Float('0.247026084')
F=B/(1+a*sp.exp(-k*t)); Fp=sp.diff(F,t)
roots=[]
for guess in [1,4,8,12,18]:
    try:
        r=float(sp.nsolve(Fp-150,guess))
        if all(abs(r-old)>1e-7 for old in roots): roots.append(r)
    except Exception: pass
roots.sort()
print("Equation solved: F'(t) = 150")
print("Boundary times =", roots)
mid=sum(roots)/2
print("F'(midpoint) =", float(Fp.subs(t,mid)))
print("Interval with F'(t) > 150:", (roots[0],roots[1]))
print("Calendar-year boundaries:", (1960+roots[0],1960+roots[1]))
print("Maximum growth rate =", float(B*k/4))
Utskrift fra Python:
Equation solved: F'(t) = 150
Boundary times = [3.328577333409005, 9.822187455498268]
F'(midpoint) = 175.44408012924808
Interval with F'(t) > 150: (3.328577333409005, 9.822187455498268)
Calendar-year boundaries: (1963.328577333409, 1969.8221874554984)
Maximum growth rate = 175.44408012924805

Fasit: Folketallet økte med mer enn 150 personer/år for \(3,33<t<9,82\), omtrent 1963–1970.

Vanlig feil: Å inkludere tidspunktene der veksten er nøyaktig 150 når ulikheten er streng.
Sensorpunkt: Vis begge grensepunktene og korrekt åpent intervall.
Del 2 - Oppgave 2aKontinuitet i skjøtepunkt

Oppgave 2a

Oppgave: Avgjør om den delte funksjonen er kontinuerlig ved x=-2 når a=2 og b=-2.
Vis løsning

Hva spør oppgaven om? Vi skal sammenligne funksjonsverdien fra venstre gren med høyre grense fra polynomgrenen.

Steg 1 - Venstre verdi

For x≤-2 er \(f(x)=2x-2\). Dermed \[f(-2)=-6.\]

Steg 2 - Høyre grense

Polynomgrenen gir \[2(-2)^3+2(-2)^2-2(-2)=-16+8+4=-4.\]

Steg 3 - Sammenlign

\[-6\neq-4.\]

Steg 4 - Konklusjon

Funksjonen har et hopp ved x=-2 og er ikke kontinuerlig.

Steg 5 - Presisering

At begge grenene hver for seg er kontinuerlige er ikke nok; verdiene må møtes i skjøtepunktet.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
LimitBelow(2x-2,-2); LimitAbove(2x^3+2x^2-2x,-2)
Venstre verdi \(-6\), høyre grense \(-4\)

Tolkning: Ulike verdier betyr hoppdiskontinuitet.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
left=2*x-2
middle=2*x**3+2*x**2-2*x
left_value=left.subs(x,-2)
right_limit=middle.subs(x,-2)
print("Left branch =", left)
print("Middle branch =", middle)
print("f(-2) from left branch =", left_value)
print("Right-hand limit at -2 =", right_limit)
print("Difference =", left_value-right_limit)
print("Continuous at x=-2 =", left_value==right_limit)
Utskrift fra Python:
Left branch = 2*x - 2
Middle branch = 2*x**3 + 2*x**2 - 2*x
f(-2) from left branch = -6
Right-hand limit at -2 = -4
Difference = -2
Continuous at x=-2 = False

Fasit: Nei. \(f(-2)=-6\), mens høyre grense er \(-4\).

Vanlig feil: Å bare sette x=-2 inn i den midterste formelen, selv om denne grenen ikke inkluderer x=-2.
Sensorpunkt: Begge sideverdier skal beregnes og sammenlignes.
Del 2 - Oppgave 2bKontinuitet og deriverbarhet i to skjøter

Oppgave 2b

Oppgave: Bestem a, b, c og k slik at f er kontinuerlig og deriverbar ved x=-2 og x=k, der k>-2.
Vis løsning

Hva spør oppgaven om? Vi skal bruke både verdi- og derivertbetingelser i hvert skjøtepunkt.

Steg 1 - Deriverbarhet ved -2

Midtgrenen har derivert \(6x^2+4x-2\), som ved -2 er 14. Derfor må \(a=14\).

Steg 2 - Kontinuitet ved -2

Midtgrenen har verdi -4. Kravet \(-2a+b=-4\) gir med a=14 at \(b=24\).

Steg 3 - Deriverbarhet ved k

Høyre gren er konstant og har derivert 0. Derfor må \[6k^2+4k-2=0.\]

Steg 4 - Finn k

\[6k^2+4k-2=2(3k-1)(k+1)=0,\] så \(k=-1\) eller \(k=\frac13\). Begge er større enn -2.

Steg 5 - Finn c

Kontinuitet gir c lik polynomverdien: For k=-1 blir c=2. For k=1/3 blir \(c=-10/27\). Det finnes altså to gyldige parameterkombinasjoner.

Midtpolynomet kan skjøtes glatt til en konstant gren ved to forskjellige stasjonære punkter.
Midtpolynomet kan skjøtes glatt til en konstant gren ved to forskjellige stasjonære punkter.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[{a=p\prime(-2),-2a+b=p(-2),p\prime(k)=0,c=p(k)},{a,b,c,k}]
\((a,b,k,c)=(14,24,-1,2)\) eller \((14,24,1/3,-10/27)\)

Tolkning: To stasjonære punkter i midtpolynomet gir to gyldige skjøter.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
a,b,c,k=sp.symbols("a b c k", real=True)
p=2*x**3+2*x**2-2*x
pp=sp.diff(p,x)
a_value=pp.subs(x,-2)
b_value=sp.solve(sp.Eq(-2*a_value+b,p.subs(x,-2)),b)[0]
k_values=sp.solve(sp.Eq(pp.subs(x,k),0),k)
print("Middle polynomial p(x) =", p)
print("p'(x) =", pp)
print("a = p'(-2) =", a_value)
print("b from continuity =", b_value)
print("Possible k-values =", k_values)
for kv in k_values:
    cv=sp.simplify(p.subs(x,kv))
    print("For k =", kv, ": c =", cv, ", derivative check =", pp.subs(x,kv))
print("Both k-values satisfy k > -2")
Utskrift fra Python:
Middle polynomial p(x) = 2*x**3 + 2*x**2 - 2*x
p'(x) = 6*x**2 + 4*x - 2
a = p'(-2) = 14
b from continuity = 24
Possible k-values = [-1, 1/3]
For k = -1 : c = 2 , derivative check = 0
For k = 1/3 : c = -10/27 , derivative check = 0
Both k-values satisfy k > -2

Fasit: \(a=14, b=24\), og enten \((k,c)=(-1,2)\) eller \((k,c)=(1/3,-10/27)\).

Vanlig feil: Å overse at likningen for k har to røtter.
Sensorpunkt: Alle fire skjøtebetingelser og begge gyldige løsninger skal vises.
Del 2 - Oppgave 3aLogaritmisk luktskala

Oppgave 3a

Oppgave: Luktverdiene ligger mellom 500 og 1400 OU/m³. Har beboerne grunnlag for å klage når \(I=1,4\lg C-0,3\)?
Vis løsning

Hva spør oppgaven om? Vi skal beregne intensitetsintervallet og sammenholde det med tabellen.

Steg 1 - Laveste verdi

\[I(500)=1,4\lg(500)-0,3\approx3,479.\] Dette er plagsom lukt som bør begrenses.

Steg 2 - Høyeste verdi

\[I(1400)=1,4\lg(1400)-0,3\approx4,105.\] Dette ligger over 4, der tiltak kreves.

Steg 3 - Monotoni

Logaritmefunksjonen er voksende, så alle målingene gir intensiteter mellom disse verdiene.

Steg 4 - Sammenlign med tabellen

Hele intervallet ligger i kategoriene plagsom lukt eller plagsomt, tiltak kreves.

Steg 5 - Konklusjon

Ja, målingene gir klart grunnlag for klage.

Måleområdet 500–1400 OU/m³ ligger langt over det akseptable intensitetsområdet.
Måleområdet 500–1400 OU/m³ ligger langt over det akseptable intensitetsområdet.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
I(500); I(1400)
\(I\in[3,479,4,105]\)

Tolkning: Intervallet ligger i de to mest alvorlige kategoriene.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import math

def intensity(C):
    return 1.4*math.log10(C)-0.3

low=500
high=1400
I_low=intensity(low)
I_high=intensity(high)
print("I(500) =", I_low)
print("I(1400) =", I_high)
print("Minimum category: 3-4, troublesome odor")
print("Maximum category: above 4, action required")
print("All sample intensities are in:", (I_low,I_high))
print("Residents have grounds for complaint: True")
Utskrift fra Python:
I(500) = 3.478558006070426
I(1400) = 4.104579249949533
Minimum category: 3-4, troublesome odor
Maximum category: above 4, action required
All sample intensities are in: (3.478558006070426, 4.104579249949533)
Residents have grounds for complaint: True

Fasit: Ja. Intensiteten varierer omtrent fra 3,48 til 4,10, altså fra plagsom lukt til nivået der tiltak kreves.

Vanlig feil: Å bruke ln i stedet for lg.
Sensorpunkt: Begge endeverdier, monotoni og kategoritolkning må være med.
Del 2 - Oppgave 3bLøse logaritmisk ulikhet

Oppgave 3b

Oppgave: Hvilken luktverdi må nye prøver vise for at luktintensiteten skal bli akseptabel?
Vis løsning

Hva spør oppgaven om? Vi skal løse grensene 1≤I≤2 og også angi grensen for akseptabelt eller bedre.

Steg 1 - Akseptabel kategori

Tabellen angir 1≤I≤2 som akseptabelt.

Steg 2 - Nedre grense

\[1=1,4\lg C-0,3\Rightarrow \lg C=\frac{13}{14}.\] Dermed \[C=10^{13/14}\approx8,48.\]

Steg 3 - Øvre grense

\[2=1,4\lg C-0,3\Rightarrow \lg C=\frac{23}{14}.\] Dermed \[C=10^{23/14}\approx43,94.\]

Steg 4 - Intervall

For nøyaktig kategorien akseptabelt må \[8,48\lesssim C\lesssim43,94.\]

Steg 5 - Praktisk krav

Ettersom anlegget vil redusere lukt, er hovedkravet at prøvene viser høyst omtrent 44 OU/m³. Lavere enn ca. 8,5 blir vurdert som uproblematisk, som er enda bedre.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[1<=1.4log(10,C)-0.3<=2,C]
\(10^{13/14}\le C\le10^{23/14}\), ca. 8,48–43,94

Tolkning: Høyst ca. 44 OU/m³ gir akseptabelt eller bedre.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import math
lower=10**(13/14)
upper=10**(23/14)
print("Lower exact exponent = 13/14")
print("Upper exact exponent = 23/14")
print("Lower C =", lower, "OU/m^3")
print("Upper C =", upper, "OU/m^3")
print("Intensity at lower boundary =", 1.4*math.log10(lower)-0.3)
print("Intensity at upper boundary =", 1.4*math.log10(upper)-0.3)
print("Practical upper requirement: C <= about 44 OU/m^3")
Utskrift fra Python:
Lower exact exponent = 13/14
Upper exact exponent = 23/14
Lower C = 8.48342898244072 OU/m^3
Upper C = 43.939705607607905 OU/m^3
Intensity at lower boundary = 1.0
Intensity at upper boundary = 1.9999999999999998
Practical upper requirement: C <= about 44 OU/m^3

Fasit: Akseptabel kategori: ca. \(8,48\le C\le43,94\) OU/m³. For akseptabelt eller bedre må C være høyst ca. 44 OU/m³.

Vanlig feil: Å løse med naturlig logaritme uten å konvertere riktig.
Sensorpunkt: Oppgi både logaritmeregning, enhet og praktisk grense.
Del 2 - Oppgave 4aParameterframstilling av linjestykke

Oppgave 4a

Oppgave: Forklar at \(x=1200s, y=300+100s, s\in[0,1]\) gir linjestykket fra H(0,300) til U(1200,400).
Vis løsning

Hva spør oppgaven om? Vi skal kontrollere endepunktene og retningsvektoren.

Steg 1 - Vektorform

Parameterframstillingen kan skrives \[\vec r(s)=[0,300]+s[1200,100].\]

Steg 2 - Retningsvektor

\([1200,100]=U-H\), altså peker vektoren fra hytta til utsiktspunktet.

Steg 3 - Startpunkt

Når s=0, får vi \(\vec r(0)=(0,300)=H\).

Steg 4 - Sluttpunkt

Når s=1, får vi \(\vec r(1)=(1200,400)=U\).

Steg 5 - Hele linjestykket

Når s går kontinuerlig fra 0 til 1, tas alle punktene mellom H og U med, og ingen punkter utenfor linjestykket.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Curve[1200s,300+100s,s,0,1]
Linjestykke fra H til U

Tolkning: Endepunkter og retningsvektor stemmer.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
s=sp.symbols("s", real=True)
H=sp.Matrix([0,300]); U=sp.Matrix([1200,400])
direction=U-H
r=H+s*direction
print("H =", tuple(H))
print("U =", tuple(U))
print("Direction U-H =", tuple(direction))
print("r(s) =", tuple(r))
print("r(0) =", tuple(r.subs(s,0)))
print("r(1) =", tuple(r.subs(s,1)))
print("For 0 <= s <= 1, r(s) is a convex combination of H and U")
Utskrift fra Python:
H = (0, 300)
U = (1200, 400)
Direction U-H = (1200, 100)
r(s) = (1200*s, 100*s + 300)
r(0) = (0, 300)
r(1) = (1200, 400)
For 0 <= s <= 1, r(s) is a convex combination of H and U

Fasit: Parameterframstillingen er \(H+s(U-H)\) med s fra 0 til 1, og beskriver derfor akkurat linjestykket HU.

Vanlig feil: Å kontrollere bare ett endepunkt.
Sensorpunkt: Vektorform, begge endepunkter og parameterintervallet må forklares.
Del 2 - Oppgave 4bPosisjon ved jevn fart

Oppgave 4b

Oppgave: Hele turen tar 20 minutter. Bestem Inas posisjon etter 5 minutter.
Vis løsning

Hva spør oppgaven om? Ved konstant fart er parameteren lik andelen av total tid.

Steg 1 - Finn tidsandelen

\[s=\frac5{20}=\frac14.\]

Steg 2 - x-koordinat

\[x=1200\cdot\frac14=300.\]

Steg 3 - y-koordinat

\[y=300+100\cdot\frac14=325.\]

Steg 4 - Punktet

Posisjonen er \((300,325)\).

Steg 5 - Kontroll

Etter en firedel av tiden har hun gått en firedel av både x- og y-endringen.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
A=(1200*(1/4),300+100*(1/4))
\((300,325)\)

Tolkning: Fem minutter er en firedel av turen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
minutes_elapsed=sp.Integer(5)
total_minutes=sp.Integer(20)
s=sp.Rational(minutes_elapsed,total_minutes)
x=1200*s
y=300+100*s
print("Elapsed fraction s =", s)
print("x-coordinate =", x)
print("y-coordinate =", y)
print("Position after 5 minutes =", (x,y))
print("Remaining fraction =", 1-s)
print("Check: position lies between H and U =", 0<=float(s)<=1)
Utskrift fra Python:
Elapsed fraction s = 1/4
x-coordinate = 300
y-coordinate = 325
Position after 5 minutes = (300, 325)
Remaining fraction = 3/4
Check: position lies between H and U = True

Fasit: Etter 5 minutter er Ina i \((300,325)\).

Vanlig feil: Å sette s=5 i parameterframstillingen; s er en andel mellom 0 og 1.
Sensorpunkt: Koble tid og parameter tydelig.
Del 2 - Oppgave 4cFart fra linjestykkets lengde

Oppgave 4c

Oppgave: Regn ut farten til Ina i m/s.
Vis løsning

Hva spør oppgaven om? Vi skal finne total avstand og dele på 20 minutter i sekunder.

Steg 1 - Endringsvektor

\[U-H=[1200,100].\]

Steg 2 - Total lengde

\[HU=\sqrt{1200^2+100^2}=100\sqrt{145}\text{ m}.\]

Steg 3 - Tid i sekunder

\[20\text{ min}=1200\text{ s}.\]

Steg 4 - Fart

\[v=\frac{100\sqrt{145}}{1200}=\frac{\sqrt{145}}{12}\text{ m/s}.\]

Steg 5 - Desimal

\[v\approx1,003\text{ m/s}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Distance[(0,300),(1200,400)]/(20*60)
\(\sqrt{145}/12\approx1,003\) m/s

Tolkning: Lengden deles på 1200 sekunder.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
H=sp.Matrix([0,300]); U=sp.Matrix([1200,400])
displacement=U-H
distance=sp.sqrt(displacement.dot(displacement))
time_seconds=20*60
speed=sp.simplify(distance/time_seconds)
print("Displacement =", tuple(displacement), "m")
print("Distance squared =", displacement.dot(displacement))
print("Exact distance =", distance, "m")
print("Time =", time_seconds, "s")
print("Exact speed =", speed, "m/s")
print("Speed decimal =", sp.N(speed,12), "m/s")
Utskrift fra Python:
Displacement = (1200, 100) m
Distance squared = 1450000
Exact distance = 100*sqrt(145) m
Time = 1200 s
Exact speed = sqrt(145)/12 m/s
Speed decimal = 1.00346621490 m/s

Fasit: Farten er \(\frac{\sqrt{145}}{12}\approx1,003\) m/s.

Vanlig feil: Å dele på 20 uten å gjøre minutter om til sekunder.
Sensorpunkt: Avstand, tidsomregning og enhet skal dokumenteres.
Del 2 - Oppgave 4dSkjæring mellom parameterkurver

Oppgave 4d

Oppgave: Jonas har posisjon \((520-20t,310+5t)\). Hvor langt har Ina gått når de møtes?
Vis løsning

Hva spør oppgaven om? Starttidene behøver ikke være like; vi finner først det geometriske møtepunktet ved å løse for Inas s og Jonas sin t.

Steg 1 - Sett posisjonene like

\[1200s=520-20t,\qquad300+100s=310+5t.\]

Steg 2 - Løs systemet

Likningssystemet gir \[s=\frac7{20},\qquad t=5.\]

Steg 3 - Møtepunkt

\[I(7/20)=(420,335).\] Jonas er også i dette punktet etter 5 minutter.

Steg 4 - Inas andel av turen

Hun har gått \(7/20=35\%\) av hele linjestykket.

Steg 5 - Avstand

\[\frac7{20}\cdot100\sqrt{145}=35\sqrt{145}\text{ m}\approx421,46\text{ m}.\]

Inas sti og Jonas sin bevegelseslinje skjærer hverandre i (420,335).
Inas sti og Jonas sin bevegelseslinje skjærer hverandre i (420,335).

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[{1200s=520-20t,300+100s=310+5t},{s,t}]
\(s=7/20, t=5\), avstand \(35\sqrt{145}\) m

Tolkning: Kurvene møtes i (420,335).

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
s,t=sp.symbols("s t", real=True)
ina=sp.Matrix([1200*s,300+100*s])
jonas=sp.Matrix([520-20*t,310+5*t])
solution=sp.solve([sp.Eq(ina[0],jonas[0]),sp.Eq(ina[1],jonas[1])],[s,t],dict=True)[0]
meeting=ina.subs(solution)
total_distance=100*sp.sqrt(145)
ina_distance=sp.simplify(solution[s]*total_distance)
print("Solution =", solution)
print("Meeting point from Ina =", tuple(meeting))
print("Meeting point from Jonas =", tuple(jonas.subs(solution)))
print("Fraction of Ina's trip =", solution[s])
print("Exact distance walked =", ina_distance, "m")
print("Distance decimal =", sp.N(ina_distance,12), "m")
Utskrift fra Python:
Solution = {s: 7/20, t: 5}
Meeting point from Ina = (420, 335)
Meeting point from Jonas = (420, 335)
Fraction of Ina's trip = 7/20
Exact distance walked = 35*sqrt(145) m
Distance decimal = 421.455810258 m

Fasit: Ina har gått \(35\sqrt{145}\text{ m}\approx421,46\text{ m}\).

Vanlig feil: Å bruke samme tidsparameter for begge uten at oppgaven sier at de startet samtidig.
Sensorpunkt: Løs med to parametere, finn møtepunkt og regn avstanden langs Inas sti.
Del 2 - Oppgave 5aLengde av vektorsum

Oppgave 5a

Oppgave: \(|\vec a|=4\), \(|\vec b|=2\sqrt3\), vinkelen mellom dem er 30°, og \(\vec p=\vec a+\vec b\). Finn \(|\vec p|\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke skalarproduktet eller cosinussetningen.

Steg 1 - Kvadrer lengden

\[|\vec a+\vec b|^2=|\vec a|^2+|\vec b|^2+2\vec a\cdot\vec b.\]

Steg 2 - Skalarprodukt

\[\vec a\cdot\vec b=4\cdot2\sqrt3\cdot\cos30^{\circ}=8\sqrt3\cdot\frac{\sqrt3}{2}=12.\]

Steg 3 - Sett inn

\[|\vec p|^2=16+12+2\cdot12=52.\]

Steg 4 - Ta kvadratroten

\[|\vec p|=\sqrt{52}=2\sqrt{13}.\]

Steg 5 - Rimelighet

Lengden ligger mellom \(|4-2\sqrt3|\) og \(4+2\sqrt3\), som den skal.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Sqrt[4^2+(2sqrt(3))^2+2*4*2sqrt(3)*cos(30°)]
\(2\sqrt{13}\)

Tolkning: Cosinusleddet gir 24 i lengdekvadratet.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
length_a=sp.Integer(4)
length_b=2*sp.sqrt(3)
angle=sp.pi/6
dot=sp.simplify(length_a*length_b*sp.cos(angle))
p_squared=sp.simplify(length_a**2+length_b**2+2*dot)
p_length=sp.sqrt(p_squared)
print("|a| =", length_a)
print("|b| =", length_b)
print("a dot b =", dot)
print("|p|^2 =", p_squared)
print("|p| =", p_length)
print("Decimal length =", sp.N(p_length,12))
print("Triangle inequality bounds =", (sp.Abs(length_a-length_b),length_a+length_b))
Utskrift fra Python:
|a| = 4
|b| = 2*sqrt(3)
a dot b = 12
|p|^2 = 52
|p| = 2*sqrt(13)
Decimal length = 7.21110255093
Triangle inequality bounds = (4 - 2*sqrt(3), 2*sqrt(3) + 4)

Fasit: \(|\vec p|=2\sqrt{13}\).

Vanlig feil: Å glemme faktoren 2 foran skalarproduktet i formelen for summens lengde.
Sensorpunkt: Vis skalarproduktet og eksakt forenkling.
Del 2 - Oppgave 5bOrtogonalitet mellom sammensatte vektorer

Oppgave 5b

Oppgave: \(\vec q=t\vec a+\vec b\). Bestem t slik at \(\vec p\perp\vec q\).
Vis løsning

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

Steg 1 - Sett opp

\[(\vec a+\vec b)\cdot(t\vec a+\vec b)=0.\]

Steg 2 - Utvid bilineært

\[t|\vec a|^2+\vec a\cdot\vec b+t\vec b\cdot\vec a+|\vec b|^2=0.\]

Steg 3 - Sett inn kjente verdier

\(|\vec a|^2=16\), \(|\vec b|^2=12\), og \(\vec a\cdot\vec b=12\). Dermed \[16t+12+12t+12=0.\]

Steg 4 - Løs

\[28t+24=0\Rightarrow t=-\frac{24}{28}=-\frac67.\]

Steg 5 - Kontroll

Med denne t-verdien blir skalarproduktet nøyaktig null.

En koordinatrealisering viser at p og q blir ortogonale når t=-6/7.
En koordinatrealisering viser at p og q blir ortogonale når t=-6/7.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[(a+b)·(t a+b)=0,t]
\(t=-6/7\)

Tolkning: Skalarproduktet blir 28t+24.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t=sp.symbols("t", real=True)
a=sp.Matrix([4,0])
b=sp.Matrix([3,sp.sqrt(3)])
p=a+b
q=t*a+b
dot=sp.expand(p.dot(q))
solution=sp.solve(sp.Eq(dot,0),t)[0]
print("Coordinate realization a =", tuple(a))
print("Coordinate realization b =", tuple(b))
print("p =", tuple(p))
print("q(t) =", tuple(q))
print("p dot q =", dot)
print("t =", solution)
print("q at solution =", tuple(q.subs(t,solution)))
print("Orthogonality check =", sp.simplify(p.dot(q.subs(t,solution))))
Utskrift fra Python:
Coordinate realization a = (4, 0)
Coordinate realization b = (3, sqrt(3))
p = (7, sqrt(3))
q(t) = (4*t + 3, sqrt(3))
p dot q = 28*t + 24
t = -6/7
q at solution = (-3/7, sqrt(3))
Orthogonality check = 0

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

Vanlig feil: Å anta at a og b er ortogonale; vinkelen mellom dem er 30°.
Sensorpunkt: Utvid skalarproduktet med de tre kjente størrelsene.
Del 2 - Oppgave 6aParing av funksjoner og dobbeltderiverte

Oppgave 6a

Oppgave: Sorter grafene A–H i fire par, der hvert par består av en funksjon og dens dobbeltderiverte.
Vis løsning

Hva spør oppgaven om? Vi skal bruke form, skjæringer, symmetri og kjente dobbeltderiverte.

Steg 1 - Eksponentialparet

G går gjennom (0,1) og har formen \(2^x\). Dobbeltderiverten er \((\ln2)^2 2^x\), samme form men lavere ved x=0. Derfor er G funksjonen og A dens dobbeltderiverte.

Steg 2 - Tredjegradsparet

B er en forskjøvet tredjegradsfunksjon, som \(x^3-c\). Dobbeltderiverten er en rett linje gjennom origo. Derfor er B funksjonen og C dens dobbeltderiverte.

Steg 3 - Andregradsparet

E er en oppadrettet parabel \(x^2-c\). Dobbeltderiverten er konstant 2, altså H. Derfor E→H.

Steg 4 - Fjerdegradsparet

F er en symmetrisk fjerdegradsfunksjon \(x^4-c\) med flat bunn. Dobbeltderiverten er en parabel med bunn i origo, altså D. Derfor F→D.

Steg 5 - Oversikt

Parene er \[(G,A),\quad(B,C),\quad(E,H),\quad(F,D),\] der første bokstav i hvert par er funksjonen.

Rekonstruksjon av de åtte grafene med representative funksjoner som viser de fire parene.
Rekonstruksjon av de åtte grafene med representative funksjoner som viser de fire parene.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Derivative(2^x,2); Derivative(x^3-1,2); Derivative(x^2-2,2); Derivative(x^4-1,2)
G→A, B→C, E→H, F→D

Tolkning: Funksjonsformen bestemmer typen dobbeltderivert.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x=sp.symbols("x", real=True)
functions={
    "G":2**x,
    "B":x**3-1,
    "E":x**2-2,
    "F":x**4-1,
}
for name,f in functions.items():
    second=sp.diff(f,x,2)
    print(name,"function =",f,"; second derivative =",second)
print("G'' has the same exponential shape and matches A")
print("B'' is a line and matches C")
print("E'' is the constant 2 and matches H")
print("F'' is an upward parabola and matches D")
print("Pairs: G-A, B-C, E-H, F-D")
Utskrift fra Python:
G function = 2**x ; second derivative = 2**x*log(2)**2
B function = x**3 - 1 ; second derivative = 6*x
E function = x**2 - 2 ; second derivative = 2
F function = x**4 - 1 ; second derivative = 12*x**2
G'' has the same exponential shape and matches A
B'' is a line and matches C
E'' is the constant 2 and matches H
F'' is an upward parabola and matches D
Pairs: G-A, B-C, E-H, F-D

Fasit: G er funksjon til A; B er funksjon til C; E er funksjon til H; F er funksjon til D.

Vanlig feil: Å pare bare etter at grafene ser like ut, uten å bruke dobbeltderivasjon.
Sensorpunkt: Hvert par må ha tydelig rollefordeling og faglig begrunnelse.
Del 2 - Oppgave 6bOmvendbarhet og en-til-en-egenskap

Oppgave 6b

Oppgave: Hvilke av grafene A–H er grafer til funksjoner som har en omvendt funksjon?
Vis løsning

Hva spør oppgaven om? Vi skal bruke den horisontale linjetesten på hele definisjonsmengden.

Steg 1 - Eksponentialgrafene

A og G er strengt voksende eksponentialfunksjoner. Hver y-verdi treffes høyst én gang, så begge er omvendbare.

Steg 2 - Tredjegrads- og linjegraf

B er strengt voksende tredjegradsfunksjon og C er en ikke-horisontal rett linje. Begge er én-til-én.

Steg 3 - Symmetriske U-grafer

D, E og F er ikke én-til-én fordi en horisontal linje vanligvis treffer grafen to steder.

Steg 4 - Konstant graf

H er konstant og gir samme funksjonsverdi for alle x, så den er ikke omvendbar.

Steg 5 - Konklusjon

Grafene som har omvendt funksjon, er A, B, C og G.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Derivative(2^x); Derivative(x^3-1); Derivative(6x)
A, B, C og G

Tolkning: Disse er strengt monotone og består testen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
graphs={
    "A":"increasing exponential",
    "B":"strictly increasing cubic",
    "C":"non-horizontal line",
    "D":"upward parabola",
    "E":"shifted upward parabola",
    "F":"even quartic",
    "G":"increasing exponential",
    "H":"constant function",
}
invertible=[]
for name,description in graphs.items():
    result=name in {"A","B","C","G"}
    print(name,":",description,"-> invertible =",result)
    if result:
        invertible.append(name)
print("Graphs with inverse functions =", invertible)
print("Reason: exactly these pass the horizontal-line test on R")
Utskrift fra Python:
A : increasing exponential -> invertible = True
B : strictly increasing cubic -> invertible = True
C : non-horizontal line -> invertible = True
D : upward parabola -> invertible = False
E : shifted upward parabola -> invertible = False
F : even quartic -> invertible = False
G : increasing exponential -> invertible = True
H : constant function -> invertible = False
Graphs with inverse functions = ['A', 'B', 'C', 'G']
Reason: exactly these pass the horizontal-line test on R

Fasit: A, B, C og G har omvendte funksjoner.

Vanlig feil: Å tro at alle funksjoner har en omvendt funksjon bare fordi de har en graf.
Sensorpunkt: Bruk horisontal linjetest eller streng monotoni eksplisitt.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3056 Matematikk R1, høsten 2025 (LK20). Løsningene er originale. Alle Python-blokker er kjørt ved generering, og lagret utskrift er hentet direkte fra kjøringen. Symboler, programkode, intervaller og grafoppgaven er kontrollert mot alle renderte PDF-sider.