R1 eksamenVår 2025LK20

Matematikk R1 eksamen – vår 2025

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

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

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1Derivasjon av eksponential- og potensfunksjon

Oppgave 1

Oppgave: Deriver funksjonen \[f(x)=e^{-2x}+\frac15x^5-2\pi.\]
Vis løsning

Hva spør oppgaven om? Vi skal derivere hvert ledd og bruke kjerneregelen på eksponentialleddet.

Steg 1 - Del opp funksjonen

Funksjonen består av eksponentialleddet \(e^{-2x}\), potensleddet \(\frac15x^5\) og konstanten \(-2\pi\).

Steg 2 - Deriver eksponentialleddet

Med kjerneregelen får vi \[\frac{d}{dx}e^{-2x}=e^{-2x}\cdot(-2)=-2e^{-2x}.\]

Steg 3 - Deriver potensleddet

Potensregelen gir \[\frac{d}{dx}\left(\frac15x^5\right)=\frac15\cdot5x^4=x^4.\]

Steg 4 - Deriver konstanten

Konstantleddet har derivert lik null: \[\frac{d}{dx}(-2\pi)=0.\]

Steg 5 - Sett sammen

Dermed blir \[f^{\prime}(x)=-2e^{-2x}+x^4.\]

Steg 6 - Rimelighetskontroll

Når \(x\) er stor og positiv, dominerer \(x^4\), mens eksponentialleddet blir svært lite. Dette stemmer med uttrykket.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Derivative[exp(-2x)+(1/5)x^5-2*pi]
\(-2e^{-2x}+x^4\)

Tolkning: CAS bruker kjerneregelen og potensregelen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
f = sp.exp(-2*x) + sp.Rational(1,5)*x**5 - 2*sp.pi
f_prime = sp.diff(f, x)
print("f(x) =", f)
print("Derivative of exp(-2x) =", sp.diff(sp.exp(-2*x), x))
print("Derivative of x^5/5 =", sp.diff(sp.Rational(1,5)*x**5, x))
print("Derivative of -2*pi =", sp.diff(-2*sp.pi, x))
print("f'(x) =", f_prime)
print("Check at x=1:", sp.simplify(f_prime.subs(x,1)))
Utskrift fra Python:
f(x) = x**5/5 - 2*pi + exp(-2*x)
Derivative of exp(-2x) = -2*exp(-2*x)
Derivative of x^5/5 = x**4
Derivative of -2*pi = 0
f'(x) = x**4 - 2*exp(-2*x)
Check at x=1: 1 - 2*exp(-2)

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

Vanlig feil: Å glemme den indre deriverte \(-2\) i eksponentialleddet, eller å la konstanten \(-2\pi\) stå igjen.
Sensorpunkt: Sensor forventer korrekt kjerneregel, korrekt potensregel og et ferdig forenklet uttrykk.
Del 1 - Oppgave 2aNullpunkt for produktfunksjon

Oppgave 2a

Oppgave: En funksjon er gitt ved \[g(x)=\frac12e^x(2x-1)^2.\] Bestem eventuelle nullpunkter til \(g\).
Vis løsning

Hva spør oppgaven om? Vi skal finne hvilke faktorer som kan bli null.

Steg 1 - Se på konstantfaktoren

Faktoren \(\frac12\) er aldri null.

Steg 2 - Se på eksponentialfaktoren

For alle reelle \(x\) er \(e^x>0\). Denne faktoren kan derfor ikke gi nullpunkt.

Steg 3 - Sett polynomfaktoren lik null

Det eneste mulige nullpunktet kommer fra \[(2x-1)^2=0.\]

Steg 4 - Løs likningen

Først får vi \(2x-1=0\), og dermed \[x=\frac12.\]

Steg 5 - Finn koordinatet

Når \(x=\frac12\), er \(g(x)=0\). Nullpunktet er derfor \[\left(\frac12,0\right).\]

Steg 6 - Multiplisitet

Faktoren er kvadrert, så nullpunktet har multiplisitet 2. Grafen tangerer derfor x-aksen i punktet.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[(1/2) exp(x) (2x-1)^2=0,x]
\(x=1/2\)

Tolkning: Eksponentialfaktoren er positiv; den kvadrerte faktoren bestemmer nullpunktet.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
g = sp.Rational(1,2)*sp.exp(x)*(2*x-1)**2
solutions = sp.solve(sp.Eq(g,0), x)
print("g(x) =", g)
print("exp(x) is positive for real x")
print("Equation from the polynomial factor: 2*x - 1 = 0")
print("Solutions =", solutions)
for value in solutions:
    print("g(", value, ") =", sp.simplify(g.subs(x,value)))
print("Multiplicity of the zero from (2*x-1)^2 = 2")
Utskrift fra Python:
g(x) = (2*x - 1)**2*exp(x)/2
exp(x) is positive for real x
Equation from the polynomial factor: 2*x - 1 = 0
Solutions = [1/2]
g( 1/2 ) = 0
Multiplicity of the zero from (2*x-1)^2 = 2

Fasit: Grafen har ett nullpunkt: \(\left(\frac12,0\right)\).

Vanlig feil: Å sette \(e^x=0\). Eksponentialfunksjonen er alltid positiv for reelle \(x\).
Sensorpunkt: Vis faktorargumentet og oppgi nullpunktet som et koordinat.
Del 1 - Oppgave 2bProduktregel og faktorisering

Oppgave 2b

Oppgave: Vis at \[g^{\prime}(x)=\frac12e^x(2x-1)(2x+3).\]
Vis løsning

Hva spør oppgaven om? Vi skal derivere produktet og faktorisere resultatet slik oppgaven krever.

Steg 1 - Identifiser faktorene

Skriv \(g(x)=\frac12\,u(x)v(x)\), der \(u(x)=e^x\) og \(v(x)=(2x-1)^2\).

Steg 2 - Deriver hver faktor

Vi har \(u^{\prime}(x)=e^x\). Kjerneregelen gir \[v^{\prime}(x)=2(2x-1)\cdot2=4(2x-1).\]

Steg 3 - Bruk produktregelen

\[g^{\prime}(x)=\frac12\left(e^x(2x-1)^2+e^x\cdot4(2x-1)\right).\]

Steg 4 - Trekk ut felles faktor

Felles faktor er \(\frac12e^x(2x-1)\): \[g^{\prime}(x)=\frac12e^x(2x-1)\bigl((2x-1)+4\bigr).\]

Steg 5 - Forenkle parentesen

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

Steg 6 - Konklusjon

Dermed er \[g^{\prime}(x)=\frac12e^x(2x-1)(2x+3),\] som skulle vises.

GeoGebra/CAS-kontroll

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

Tolkning: CAS deriverer og faktoriserer uttrykket.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
g = sp.Rational(1,2)*sp.exp(x)*(2*x-1)**2
raw_derivative = sp.diff(g, x)
factored = sp.factor(raw_derivative)
target = sp.Rational(1,2)*sp.exp(x)*(2*x-1)*(2*x+3)
print("g(x) =", g)
print("Raw derivative =", raw_derivative)
print("Expanded derivative =", sp.expand(raw_derivative))
print("Factored derivative =", factored)
print("Target expression =", target)
print("Difference after simplification =", sp.simplify(raw_derivative-target))
Utskrift fra Python:
g(x) = (2*x - 1)**2*exp(x)/2
Raw derivative = (2*x - 1)**2*exp(x)/2 + (8*x - 4)*exp(x)/2
Expanded derivative = 2*x**2*exp(x) + 2*x*exp(x) - 3*exp(x)/2
Factored derivative = (2*x - 1)*(2*x + 3)*exp(x)/2
Target expression = (2*x - 1)*(2*x + 3)*exp(x)/2
Difference after simplification = 0

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

Vanlig feil: Å derivere \((2x-1)^2\) som bare \(2(2x-1)\), uten den indre deriverte 2.
Sensorpunkt: Produktregelen, kjerneregelen og den avsluttende faktoriseringen må være synlige.
Del 1 - Oppgave 2cFortegn og ekstremalpunkter

Oppgave 2c

Oppgave: Finn koordinatene til eventuelle topp- og bunnpunkter på grafen til \(g\).
Vis løsning

Hva spør oppgaven om? Vi skal løse \(g^{\prime}(x)=0\), lage fortegnsanalyse og beregne funksjonsverdiene.

Steg 1 - Bruk den faktoriserte deriverte

\[g^{\prime}(x)=\frac12e^x(2x-1)(2x+3).\] Faktoren \(\frac12e^x\) er positiv for alle \(x\).

Steg 2 - Finn kritiske x-verdier

\[(2x-1)(2x+3)=0\] gir \[x=\frac12\quad\text{eller}\quad x=-\frac32.\]

Steg 3 - Fortegn til venstre

For \(x<-\frac32\) er begge lineære faktorer negative, så produktet og dermed \(g^{\prime}\) er positivt.

Steg 4 - Fortegn i midten

For \(-\frac32<x<\frac12\) er \(2x+3>0\), mens \(2x-1<0\). Derfor er \(g^{\prime}<0\).

Steg 5 - Fortegn til høyre

For \(x>\frac12\) er begge faktorer positive, så \(g^{\prime}>0\). Dermed er \(x=-\frac32\) et toppunkt og \(x=\frac12\) et bunnpunkt.

Steg 6 - Beregn y-verdiene

\[g\left(-\frac32\right)=\frac12e^{-3/2}(-4)^2=8e^{-3/2},\qquad g\left(\frac12\right)=0.\]

Grafen til g med toppunktet ved x=-3/2 og bunnpunktet ved x=1/2.
Grafen til g med toppunktet ved x=-3/2 og bunnpunktet ved x=1/2.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Extremum[(1/2) exp(x) (2x-1)^2]
Toppunkt \(\left(-\frac32,8e^{-3/2}\right)\), bunnpunkt \(\left(\frac12,0\right)\)

Tolkning: Fortegnet til den deriverte avgjør typen ekstremalpunkt.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
g = sp.Rational(1,2)*sp.exp(x)*(2*x-1)**2
g_prime = sp.factor(sp.diff(g,x))
critical = sp.solve(sp.Eq(g_prime,0),x)
print("g'(x) =", g_prime)
print("Critical x-values =", critical)
for value in critical:
    y_value = sp.simplify(g.subs(x,value))
    second = sp.simplify(sp.diff(g,x,2).subs(x,value))
    kind = "minimum" if second > 0 else "maximum"
    print("x =", value, "g(x) =", y_value, "g''(x) =", second, "=>", kind)
print("Numerical top value =", sp.N(8*sp.exp(-sp.Rational(3,2)),12))
Utskrift fra Python:
g'(x) = (2*x - 1)*(2*x + 3)*exp(x)/2
Critical x-values = [-3/2, 1/2]
x = -3/2 g(x) = 8*exp(-3/2) g''(x) = -4*exp(-3/2) => maximum
x = 1/2 g(x) = 0 g''(x) = 4*exp(1/2) => minimum
Numerical top value = 1.78504128119

Fasit: Toppunkt: \(\left(-\frac32,8e^{-3/2}\right)\). Bunnpunkt: \(\left(\frac12,0\right)\).

Vanlig feil: Å oppgi de kritiske x-verdiene uten å avgjøre om de gir topp eller bunn, eller uten å finne y-koordinatene.
Sensorpunkt: Sensor ser etter nullpunkter til den deriverte, fortegnsskifte og eksakte punktkoordinater.
Del 1 - Oppgave 3aEksponentiallikning med samme grunntall

Oppgave 3a

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

Hva spør oppgaven om? Vi skal isolere potensen og skrive begge sider med grunntall 3.

Steg 1 - Isoler eksponentialleddet

Legg til 5 på begge sider: \[3^{3x+2}=81.\]

Steg 2 - Skriv 81 som en potens av 3

\[81=3^4.\]

Steg 3 - Sammenlikn eksponentene

Når grunntallet er det samme og større enn 0, men ulikt 1, må eksponentene være like: \[3x+2=4.\]

Steg 4 - Løs den lineære likningen

\[3x=2\Rightarrow x=\frac23.\]

Steg 5 - Sett inn

For \(x=\frac23\) er \(3x+2=4\), og venstresiden blir \(3^4-5=81-5=76\).

Steg 6 - Konklusjon

Løsningen er entydig fordi \(3^{3x+2}\) er strengt voksende.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[3^(3x+2)-5=76,x]
\(x=2/3\)

Tolkning: CAS isolerer eksponenten og gir én løsning.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
equation = sp.Eq(3**(3*x+2)-5,76)
solutions = sp.solve(equation,x)
print("Equation =", equation)
print("After adding 5: 3^(3x+2) = 81 = 3^4")
print("Exponent equation: 3*x + 2 = 4")
print("Solutions =", solutions)
for value in solutions:
    print("Check at x =", value, ":", sp.simplify(3**(3*value+2)-5))
Utskrift fra Python:
Equation = Eq(3**(3*x + 2) - 5, 76)
After adding 5: 3^(3x+2) = 81 = 3^4
Exponent equation: 3*x + 2 = 4
Solutions = [2/3]
Check at x = 2/3 : 76

Fasit: \(x=\frac23\).

Vanlig feil: Å skrive \(3x+2=81\) i stedet for å sammenlikne eksponenter.
Sensorpunkt: En kort, eksakt løsning med kontroll gir full uttelling.
Del 1 - Oppgave 3bLogaritmeregler

Oppgave 3b

Oppgave: Løs likningen \[3\lg x+2\lg x^2+\lg\left(\frac1{x^9}\right)=2.\]
Vis løsning

Hva spør oppgaven om? Vi skal først fastsette domenet, deretter bruke potensregelen for logaritmer.

Steg 1 - Finn definisjonsmengden

Alle logaritmeargumentene må være positive. Uttrykket \(\lg x\) krever \[x>0.\]

Steg 2 - Forenkle den andre logaritmen

Når \(x>0\), er \[\lg(x^2)=2\lg x.\] Dermed er \(2\lg(x^2)=4\lg x\).

Steg 3 - Forenkle den tredje logaritmen

\[\lg\left(\frac1{x^9}\right)=\lg(x^{-9})=-9\lg x.\]

Steg 4 - Samle leddene

\[3\lg x+4\lg x-9\lg x=-2\lg x.\] Likningen blir \[-2\lg x=2.\]

Steg 5 - Løs for x

\[\lg x=-1\Rightarrow x=10^{-1}=\frac1{10}.\]

Steg 6 - Kontroller domenet

\(x=\frac1{10}>0\), så løsningen er gyldig.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[3 log(10,x)+2 log(10,x^2)+log(10,1/x^9)=2,x]
\(x=1/10\)

Tolkning: Logaritmereglene reduserer likningen til -2 lg(x)=2.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", positive=True)
expr = 3*sp.log(x,10) + 2*sp.log(x**2,10) + sp.log(x**-9,10)
simplified = sp.expand_log(expr, force=True)
solution = sp.solve(sp.Eq(simplified,2),x)
print("Domain: x > 0")
print("Original logarithmic expression =", expr)
print("Expanded with log rules =", simplified)
print("Combined expression =", sp.simplify(simplified))
print("Solutions =", solution)
for value in solution:
    print("Check x =", value, "gives", sp.simplify(expr.subs(x,value)))
Utskrift fra Python:
Domain: x > 0
Original logarithmic expression = log(x**(-9))/log(10) + 3*log(x)/log(10) + 2*log(x**2)/log(10)
Expanded with log rules = -2*log(x)/log(10)
Combined expression = -2*log(x)/log(10)
Solutions = [1/10]
Check x = 1/10 gives 2

Fasit: \(x=10^{-1}=\frac1{10}\).

Vanlig feil: Å bruke \(\lg(x^2)=2\lg x\) uten å nevne domenet, eller å glemme at \(1/x^9=x^{-9}\).
Sensorpunkt: Definisjonsmengden og korrekt bruk av logaritmereglene må framgå.
Del 1 - Oppgave 4aTosidig grense med vertikal asymptote

Oppgave 4a

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

Hva spør oppgaven om? Vi skal undersøke de ensidige grensene, fordi telleren ikke blir null når nevneren går mot null.

Steg 1 - Kontroller telleren ved x=3

\[3(3^2-3)=3\cdot6=18>0.\] Telleren går altså mot et positivt tall.

Steg 2 - Kontroller nevneren

Nevneren \(x-3\) går mot 0. Fra venstre er den negativ, og fra høyre er den positiv.

Steg 3 - Venstregrensen

Når \(x\to3^-\), får vi et positivt tall delt på et svært lite negativt tall: \[\lim_{x\to3^-}\frac{3(x^2-3)}{x-3}=-\infty.\]

Steg 4 - Høyregrensen

Når \(x\to3^+\), får vi et positivt tall delt på et svært lite positivt tall: \[\lim_{x\to3^+}\frac{3(x^2-3)}{x-3}=+\infty.\]

Steg 5 - Sammenlikn

De ensidige grensene er forskjellige. Derfor finnes ikke den tosidige grenseverdien.

Steg 6 - Geometrisk tolkning

Linjen \(x=3\) er en vertikal asymptote, med motsatt uendelig oppførsel på hver side.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
LimitBelow[3(x^2-3)/(x-3),3], LimitAbove[3(x^2-3)/(x-3),3]
\(-\infty\) fra venstre og \(+\infty\) fra høyre

Tolkning: Den tosidige grensen er derfor ikke definert.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
h = 3*(x**2-3)/(x-3)
left = sp.limit(h,x,3,dir="-")
right = sp.limit(h,x,3,dir="+")
print("Function =", h)
print("Numerator at x=3 =", 3*(3**2-3))
print("Left-hand limit =", left)
print("Right-hand limit =", right)
print("Two-sided limit exists =", left == right)
for value in [sp.Rational(299,100),sp.Rational(301,100)]:
    print("h(", value, ") =", sp.N(h.subs(x,value),8))
Utskrift fra Python:
Function = (3*x**2 - 9)/(x - 3)
Numerator at x=3 = 18
Left-hand limit = -oo
Right-hand limit = oo
Two-sided limit exists = False
h( 299/100 ) = -1782.0300
h( 301/100 ) = 1818.0300

Fasit: Den tosidige grenseverdien finnes ikke. Venstregrensen er \(-\infty\), og høyregrensen er \(+\infty\).

Vanlig feil: Å forsøke å faktorisere \(x^2-3\) med \(x-3\); det finnes ingen felles faktor.
Sensorpunkt: Sensor forventer at begge ensidige grenser vurderes før konklusjonen trekkes.
Del 1 - Oppgave 4bGrense med konjugatsetningen

Oppgave 4b

Oppgave: Bestem grenseverdien \[\lim_{x\to4}\frac{\sqrt{x}-2}{x-4}.\]
Vis løsning

Hva spør oppgaven om? Uttrykket gir først 0/0, så vi skal rasjonalisere telleren med det konjugerte uttrykket.

Steg 1 - Direkte innsetting

Når \(x=4\), blir både telleren og nevneren null. Vi har en ubestemt form \(0/0\).

Steg 2 - Multipliser med konjugatet

\[\frac{\sqrt{x}-2}{x-4}\cdot\frac{\sqrt{x}+2}{\sqrt{x}+2}.\]

Steg 3 - Bruk kvadratsetningen

Telleren blir \((\sqrt{x}-2)(\sqrt{x}+2)=x-4\).

Steg 4 - Forkort

For \(x\ne4\) får vi \[\frac{x-4}{(x-4)(\sqrt{x}+2)}=\frac1{\sqrt{x}+2}.\]

Steg 5 - Ta grensen

Nå kan vi sette inn \(x=4\): \[\frac1{\sqrt4+2}=\frac14.\]

Steg 6 - Tolkning

Grensen er også den deriverte av \(\sqrt{x}\) i \(x=4\), siden uttrykket er en differansekvotient.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Limit[(sqrt(x)-2)/(x-4),x,4]
\(1/4\)

Tolkning: Rasjonalisering fjerner den ubestemte formen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", positive=True)
expr = (sp.sqrt(x)-2)/(x-4)
rationalized = sp.simplify(expr)
limit_value = sp.limit(expr,x,4)
print("Original expression =", expr)
print("Direct substitution gives 0/0")
print("After rationalization =", rationalized)
print("Limit =", limit_value)
print("Derivative of sqrt(x) at 4 =", sp.diff(sp.sqrt(x),x).subs(x,4))
for value in [sp.Rational(399,100),sp.Rational(401,100)]:
    print("x =", value, "value =", sp.N(expr.subs(x,value),10))
Utskrift fra Python:
Original expression = (sqrt(x) - 2)/(x - 4)
Direct substitution gives 0/0
After rationalization = (sqrt(x) - 2)/(x - 4)
Limit = 1/4
Derivative of sqrt(x) at 4 = 1/4
x = 399/100 value = 0.2501564456
x = 401/100 value = 0.2498439450

Fasit: \(\displaystyle\frac14\).

Vanlig feil: Å forkorte \(\sqrt{x}-2\) direkte mot \(x-4\) uten først å bruke konjugatet.
Sensorpunkt: Vis konjugatmultiplikasjonen og den lovlige forkortingen for \(x e4\).
Del 1 - Oppgave 5aKontinuitet for delt funksjon

Oppgave 5a

Oppgave: \[f(x)=\begin{cases}x^2+2,&x<0,\2e^x,&x\ge0.\end{cases}\] Avgjør om \(f\) er kontinuerlig i \(x=0\).
Vis løsning

Hva spør oppgaven om? Vi skal sammenlikne venstregrensen, høyregrensen og funksjonsverdien.

Steg 1 - Venstregrensen

For \(x<0\) gjelder \(f(x)=x^2+2\). Derfor er \[\lim_{x\to0^-}f(x)=0^2+2=2.\]

Steg 2 - Høyregrensen

For \(x\ge0\) gjelder \(f(x)=2e^x\). Dermed er \[\lim_{x\to0^+}f(x)=2e^0=2.\]

Steg 3 - Funksjonsverdien

Punktet \(x=0\) tilhører den andre grenen, så \[f(0)=2e^0=2.\]

Steg 4 - Kontinuitetskriteriet

En funksjon er kontinuerlig i 0 når begge ensidige grenser finnes, er like og er lik \(f(0)\).

Steg 5 - Sammenlikn

Her er \[\lim_{x\to0^-}f(x)=\lim_{x\to0^+}f(x)=f(0)=2.\]

Steg 6 - Konklusjon

Funksjonen er derfor kontinuerlig i \(x=0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
LimitBelow[x^2+2,0], LimitAbove[2 exp(x),0]
Begge grenser og \(f(0)\) er 2

Tolkning: Alle tre størrelser er like.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
left_expr = x**2+2
right_expr = 2*sp.exp(x)
left_limit = sp.limit(left_expr,x,0,dir="-")
right_limit = sp.limit(right_expr,x,0,dir="+")
f0 = right_expr.subs(x,0)
print("Left branch =", left_expr)
print("Right branch =", right_expr)
print("Left-hand limit =", left_limit)
print("Right-hand limit =", right_limit)
print("f(0) =", f0)
print("Continuous at 0 =", left_limit == right_limit == f0)
Utskrift fra Python:
Left branch = x**2 + 2
Right branch = 2*exp(x)
Left-hand limit = 2
Right-hand limit = 2
f(0) = 2
Continuous at 0 = True

Fasit: Ja. \(f\) er kontinuerlig i \(x=0\), fordi begge ensidige grenser og \(f(0)\) er lik 2.

Vanlig feil: Å kontrollere bare at de to funksjonsuttrykkene gir samme verdi, uten å formulere kontinuitetskriteriet.
Sensorpunkt: Begge ensidige grenser og funksjonsverdien skal oppgis eksplisitt.
Del 1 - Oppgave 5bDeriverbarhet for delt funksjon

Oppgave 5b

Oppgave: Avgjør om den samme funksjonen er deriverbar i \(x=0\).
Vis løsning

Hva spør oppgaven om? Vi skal sammenlikne venstre- og høyrederivert. Kontinuitet alene er ikke nok.

Steg 1 - Deriver venstre gren

For \(x<0\) er \[f^{\prime}(x)=2x.\] Venstrederivert i 0 er derfor \[f_-^{\prime}(0)=0.\]

Steg 2 - Deriver høyre gren

For \(x>0\) er \[f^{\prime}(x)=2e^x.\] Høyrederivert i 0 er \[f_+^{\prime}(0)=2e^0=2.\]

Steg 3 - Sammenlikn

Vi får \[f_-^{\prime}(0)=0\ne2=f_+^{\prime}(0).\]

Steg 4 - Bruk kriteriet

En funksjon er deriverbar i et skjøtepunkt bare dersom venstre- og høyrederivert er like.

Steg 5 - Geometrisk betydning

Grafen er sammenhengende, men har et knekkpunkt i \((0,2)\). Tangenthelningen skifter brått fra 0 til 2.

Steg 6 - Konklusjon

Funksjonen er ikke deriverbar i \(x=0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Derivative[x^2+2](0), Derivative[2 exp(x)](0)
Venstrederivert 0, høyrederivert 2

Tolkning: Ulike ensidige deriverte betyr at den deriverte ikke finnes.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
left_expr = x**2+2
right_expr = 2*sp.exp(x)
left_derivative = sp.diff(left_expr,x)
right_derivative = sp.diff(right_expr,x)
left_at_zero = left_derivative.subs(x,0)
right_at_zero = right_derivative.subs(x,0)
print("Left derivative expression =", left_derivative)
print("Right derivative expression =", right_derivative)
print("Left derivative at 0 =", left_at_zero)
print("Right derivative at 0 =", right_at_zero)
print("Derivatives agree =", left_at_zero == right_at_zero)
print("Conclusion: f is not differentiable at x=0")
Utskrift fra Python:
Left derivative expression = 2*x
Right derivative expression = 2*exp(x)
Left derivative at 0 = 0
Right derivative at 0 = 2
Derivatives agree = False
Conclusion: f is not differentiable at x=0

Fasit: Nei. \(f_-^{\prime}(0)=0\), mens \(f_+^{\prime}(0)=2\).

Vanlig feil: Å konkludere med deriverbarhet bare fordi funksjonen er kontinuerlig.
Sensorpunkt: Sensor forventer beregning av begge ensidige deriverte og en tydelig konklusjon.
Del 1 - Oppgave 6aAvstand mellom punkter

Oppgave 6a

Oppgave: Jelena er i \(J(0,0)\), Nils i \(N(-1,2)\) og Ahmad i \(A(1,1)\). Hvor langt er det mellom Nils og Ahmad? Gi svaret eksakt.
Vis løsning

Hva spør oppgaven om? Vi skal bruke avstandsformelen, eller lengden av vektoren fra N til A.

Steg 1 - Finn vektoren

\[\overrightarrow{NA}=A-N=(1-(-1),1-2)=(2,-1).\]

Steg 2 - Bruk lengdeformelen

Lengden av \((u,v)\) er \(\sqrt{u^2+v^2}\).

Steg 3 - Sett inn komponentene

\[|\overrightarrow{NA}|=\sqrt{2^2+(-1)^2}.\]

Steg 4 - Regn ut

\[|\overrightarrow{NA}|=\sqrt{4+1}=\sqrt5.\]

Steg 5 - Enhet

Aksene er målt i meter, så avstanden er \(\sqrt5\) meter.

Steg 6 - Rimelighet

Punktene skiller 2 meter horisontalt og 1 meter vertikalt, så en diagonal på litt over 2 meter er rimelig.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Distance[(-1,2),(1,1)]
\(\sqrt5\)

Tolkning: GeoGebra beregner den euklidske avstanden.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
N = sp.Matrix([-1,2])
A = sp.Matrix([1,1])
NA = A-N
distance = sp.sqrt(NA.dot(NA))
print("N =", tuple(N))
print("A =", tuple(A))
print("Vector NA =", tuple(NA))
print("Squared distance =", NA.dot(NA))
print("Exact distance =", distance)
print("Decimal distance =", sp.N(distance,10), "meters")
Utskrift fra Python:
N = (-1, 2)
A = (1, 1)
Vector NA = (2, -1)
Squared distance = 5
Exact distance = sqrt(5)
Decimal distance = 2.236067978 meters

Fasit: Avstanden er \(\sqrt5\) meter.

Vanlig feil: Å summere koordinatforskjellene uten å kvadrere dem.
Sensorpunkt: Vektoren, lengdeformelen og enheten må komme fram.
Del 1 - Oppgave 6bParallelle vektorer

Oppgave 6b

Oppgave: En basketball ligger i punktet \((-1,a)\), der \(a\in\mathbb R\). Vektoren fra Jelena til ballen er parallell med vektoren fra Nils til Ahmad. Bestem \(a\).
Vis løsning

Hva spør oppgaven om? Vi skal kreve at de to vektorene er skalarmultipler av hverandre.

Steg 1 - Vektor til ballen

Fra \(J(0,0)\) til \((-1,a)\) er vektoren \[\vec p=(-1,a).\]

Steg 2 - Vektor fra Nils til Ahmad

\[\overrightarrow{NA}=(2,-1).\]

Steg 3 - Sett opp parallellitetsvilkåret

Det må finnes et tall \(k\) slik at \[(-1,a)=k(2,-1).\]

Steg 4 - Bruk første komponent

\[-1=2k\Rightarrow k=-\frac12.\]

Steg 5 - Bruk andre komponent

\[a=k(-1)=\left(-\frac12\right)(-1)=\frac12.\]

Steg 6 - Kontroll

\[(-1,\tfrac12)=-\frac12(2,-1),\] så vektorene er faktisk parallelle og motsatt rettet.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[Determinant[{{-1,a},{2,-1}}]=0,a]
\(a=1/2\)

Tolkning: Null determinant bekrefter parallellitet.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a,k = sp.symbols("a k", real=True)
vector_ball = sp.Matrix([-1,a])
vector_NA = sp.Matrix([2,-1])
solutions = sp.solve([sp.Eq(-1,2*k),sp.Eq(a,-k)],[a,k],dict=True)
determinant = sp.det(sp.Matrix.hstack(vector_ball,vector_NA))
print("Vector from J to ball =", tuple(vector_ball))
print("Vector from N to A =", tuple(vector_NA))
print("Determinant =", determinant)
print("Solution from scalar multiple equations =", solutions)
value = solutions[0][a]
print("a =", value)
print("Vector check =", tuple(vector_ball.subs(a,value)), "= -1/2 *", tuple(vector_NA))
Utskrift fra Python:
Vector from J to ball = (-1, a)
Vector from N to A = (2, -1)
Determinant = 1 - 2*a
Solution from scalar multiple equations = [{a: 1/2, k: -1/2}]
a = 1/2
Vector check = (-1, 1/2) = -1/2 * (2, -1)

Fasit: \(a=\frac12\).

Vanlig feil: Å sette de to vektorene lik hverandre. Parallelle vektorer trenger bare å være skalarmultipler.
Sensorpunkt: Vis enten skalarmultiplikasjon eller determinant lik null, og kontroller begge komponenter.
Del 1 - Oppgave 6cSirkel, ortogonalitet og nærmeste løsning

Oppgave 6c

Oppgave: Nils flytter seg til et punkt \(M\). Avstanden \(JM\) er \(\sqrt{10}\) meter, \(\angle MAJ=90^{\circ}\), og \(M\) skal være det nærmeste mulige punktet til Nils sin opprinnelige posisjon. Bestem koordinatene til \(M\).
Vis løsning

Hva spør oppgaven om? Vi skal kombinere en sirkelbetingelse, et skalarprodukt lik null og til slutt velge den nærmeste av to løsninger.

Steg 1 - Sett M=(x,y)

Avstanden fra \(J(0,0)\) skal være \(\sqrt{10}\), så \[x^2+y^2=10.\]

Steg 2 - Skriv vektorene i vinkelen

Vinkelen \(\angle MAJ\) har toppunkt A. Derfor bruker vi \[\overrightarrow{AM}=(x-1,y-1),\qquad \overrightarrow{AJ}=(-1,-1).\]

Steg 3 - Bruk rettvinkelvilkåret

\[\overrightarrow{AM}\cdot\overrightarrow{AJ}=0\] gir \[-(x-1)-(y-1)=0\Rightarrow x+y=2.\]

Steg 4 - Løs systemet

Sett \(y=2-x\) inn i sirkellikningen: \[x^2+(2-x)^2=10\Rightarrow x^2-2x-3=0.\]

Steg 5 - Finn de to punktene

Likningen faktoriseres til \((x-3)(x+1)=0\). Dermed får vi \[M_1=(3,-1),\qquad M_2=(-1,3).\]

Steg 6 - Velg nærmeste punkt

Fra Nils sin opprinnelige posisjon \(N(-1,2)\) er avstanden til \((-1,3)\) lik 1, mens avstanden til \((3,-1)\) er 5. Det nærmeste punktet er derfor \[M=(-1,3).\]

De to mulige punktene på sirkelen og hvorfor M=(-1,3) er nærmest den opprinnelige posisjonen N.
De to mulige punktene på sirkelen og hvorfor M=(-1,3) er nærmest den opprinnelige posisjonen N.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[{x^2+y^2=10,(x-1,y-1)·(-1,-1)=0},{x,y}]
\((3,-1)\) og \((-1,3)\); nærmest N er \((-1,3)\)

Tolkning: Begge geometriske løsninger finnes, men avstandskravet velger én.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x,y = sp.symbols("x y", real=True)
J = sp.Matrix([0,0])
A = sp.Matrix([1,1])
N = sp.Matrix([-1,2])
M = sp.Matrix([x,y])
circle_eq = sp.Eq(x**2+y**2,10)
right_angle_eq = sp.Eq((M-A).dot(J-A),0)
solutions = sp.solve([circle_eq,right_angle_eq],[x,y],dict=True)
print("Circle equation =", circle_eq)
print("Right-angle equation =", right_angle_eq)
print("Candidate points =", solutions)
for sol in solutions:
    point = sp.Matrix([sol[x],sol[y]])
    distance_from_N = sp.sqrt((point-N).dot(point-N))
    dot_check = sp.simplify((point-A).dot(J-A))
    print("Point", tuple(point), "distance from N =", distance_from_N, "dot check =", dot_check)
print("Nearest point M = (-1, 3)")
Utskrift fra Python:
Circle equation = Eq(x**2 + y**2, 10)
Right-angle equation = Eq(-x - y + 2, 0)
Candidate points = [{x: -1, y: 3}, {x: 3, y: -1}]
Point (-1, 3) distance from N = 1 dot check = 0
Point (3, -1) distance from N = 5 dot check = 0
Nearest point M = (-1, 3)

Fasit: \(M=(-1,3)\).

Vanlig feil: Å bruke vektorene \(\overrightarrow{MA}\) og \(\overrightarrow{AJ}\) med ulike startpunkter, eller å glemme å velge den nærmeste av de to løsningene.
Sensorpunkt: Sensor forventer både sirkelbetingelsen, skalarproduktet og avstandssammenlikningen.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aLogistisk modell og likningsløsning

Oppgave 1a

Oppgave: PowBat bruker modellen \[S(t)=\frac{2\,500\,000}{1+2500e^{-0,08t}}.\] Hvor lang tid tar det før halvparten av de 3 millioner husstandene i byen har batteriet?
Vis løsning

Hva spør oppgaven om? Halvparten av byens husstander er 1,5 millioner. Vi skal løse \(S(t)=1\,500\,000\).

Steg 1 - Sett opp måltallet

Halvparten av 3 millioner er \[0,5\cdot3\,000\,000=1\,500\,000.\]

Steg 2 - Sett modellen lik måltallet

\[\frac{2\,500\,000}{1+2500e^{-0,08t}}=1\,500\,000.\]

Steg 3 - Isoler nevneren

Divider med 1 500 000 og snu: \[1+2500e^{-0,08t}=\frac{5}{3}.\]

Steg 4 - Isoler eksponentialleddet

\[2500e^{-0,08t}=\frac23\Rightarrow e^{-0,08t}=\frac1{3750}.\]

Steg 5 - Ta naturlig logaritme

\[-0,08t=\ln\left(\frac1{3750}\right)=-\ln(3750).\] Dermed \[t=\frac{\ln(3750)}{0,08}.\]

Steg 6 - Beregn og tolk

\[t\approx102,87.\] Ifølge modellen skjer dette etter omtrent 103 uker.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[2500000/(1+2500 exp(-0.08t))=1500000,t]
\(t=\ln(3750)/0,08\approx102,87\)

Tolkning: Likningen gir tidspunktet når S passerer 1,5 millioner.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
S = sp.Integer(2500000)/(1+2500*sp.exp(-sp.Rational(8,100)*t))
target = sp.Integer(1500000)
solution = sp.solve(sp.Eq(S,target),t)[0]
print("S(t) =", S)
print("Target households =", target)
print("Exact solution t =", sp.simplify(solution))
print("t in weeks =", sp.N(solution,12))
print("S(t) at the solution =", sp.simplify(S.subs(t,solution)))
print("Rounded interpretation: about", round(float(solution)), "weeks")
Utskrift fra Python:
S(t) = 2500000/(1 + 2500*exp(-2*t/25))
Target households = 1500000
Exact solution t = log(193337109521962702274322509765625000000000000*sqrt(6))
t in weeks = 102.868888987
S(t) at the solution = 1500000
Rounded interpretation: about 103 weeks

Fasit: Det tar \(\frac{\ln(3750)}{0,08}\approx102,87\) uker, altså omtrent 103 uker.

Vanlig feil: Å bruke halvparten av modellens bæreevne 2,5 millioner. Oppgaven spør om halvparten av byens 3 millioner husstander.
Sensorpunkt: Sensor forventer riktig måltall, dokumentert likningsløsning og en praktisk avrunding.
Del 2 - Oppgave 1bDerivert av logistisk modell

Oppgave 1b

Oppgave: Bestem \(S^{\prime}(52)\), og gi en praktisk tolkning av svaret.
Vis løsning

Hva spør oppgaven om? Vi skal derivere modellen og tolke den momentane vekstfarten i uke 52.

Steg 1 - Skriv modellen med negativ potens

\[S(t)=2\,500\,000\bigl(1+2500e^{-0,08t}\bigr)^{-1}.\]

Steg 2 - Bruk kjerneregelen

Derivasjon gir \[S^{\prime}(t)=\frac{2\,500\,000\cdot2500\cdot0,08e^{-0,08t}}{\bigl(1+2500e^{-0,08t}\bigr)^2}.\]

Steg 3 - Sett inn t=52

\[S^{\prime}(52)=\frac{500\,000\,000e^{-4,16}}{\bigl(1+2500e^{-4,16}\bigr)^2}.\]

Steg 4 - Beregn numerisk

Et digitalt verktøy gir \[S^{\prime}(52)\approx4872,76.\]

Steg 5 - Enhet

\(S\) måles i husstander og \(t\) i uker. Derfor måles den deriverte i husstander per uke.

Steg 6 - Praktisk tolkning

Rundt uke 52 øker antallet husstander med batteriet med omtrent 4 873 per uke, ifølge modellen. Dette er en momentan vekstfart, ikke nødvendigvis den eksakte økningen gjennom hele ukeintervallet.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Derivative[2500000/(1+2500 exp(-0.08t))](52)
\(S^{\prime}(52)\approx4872,76\)

Tolkning: Verdien er modellens momentane salgsfart i uke 52.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
S = sp.Integer(2500000)/(1+2500*sp.exp(-sp.Rational(8,100)*t))
S_prime = sp.simplify(sp.diff(S,t))
value = sp.simplify(S_prime.subs(t,52))
print("S(t) =", S)
print("S'(t) =", S_prime)
print("Exact S'(52) =", value)
print("Numerical S'(52) =", sp.N(value,15))
print("S(52) =", sp.N(S.subs(t,52),12), "households")
print("Interpretation: households per week near week 52")
Utskrift fra Python:
S(t) = 2500000/(1 + 2500*exp(-2*t/25))
S'(t) = 500000000*exp(2*t/25)/(exp(2*t/25) + 2500)**2
Exact S'(52) = 500000000*exp(104/25)/(exp(104/25) + 2500)**2
Numerical S'(52) = 4872.75727402306
S(52) = 62470.4908143 households
Interpretation: households per week near week 52

Fasit: \(S^{\prime}(52)\approx4873\) husstander per uke.

Vanlig feil: Å tolke \(S^{\prime}(52)\) som det totale antallet husstander i uke 52.
Sensorpunkt: Utregningen, enheten og forskjellen mellom nivå og vekstfart må komme tydelig fram.
Del 2 - Oppgave 1cBestemmelse av logistiske parametere

Oppgave 1c

Oppgave: Finn en ny logistisk modell \(F\) når sluttverdien er 1,5 millioner, \(F(0)=500\), og flest nye husstander kjøper batteriet i uke 60.
Vis løsning

Hva spør oppgaven om? Vi skal bruke standardformen \(F(t)=L/(1+Ae^{-kt})\) og bestemme \(L\), \(A\) og \(k\) fra de tre opplysningene.

Steg 1 - Sett inn sluttverdien

For en logistisk modell er den øvre asymptoten \(L\). Derfor er \[L=1\,500\,000.\]

Steg 2 - Bruk startverdien

\[500=F(0)=\frac{1\,500\,000}{1+A}.\] Dermed er \(1+A=3000\), altså \[A=2999.\]

Steg 3 - Bruk tidspunktet for størst vekst

En logistisk funksjon har størst vekst når \(F=L/2\). For standardformen skjer dette når \(Ae^{-kt}=1\).

Steg 4 - Sett inn t=60

\[2999e^{-60k}=1.\] Ta logaritmen: \[\ln2999-60k=0.\]

Steg 5 - Finn k

\[k=\frac{\ln2999}{60}\approx0,133434.\]

Steg 6 - Skriv modellen

\[F(t)=\frac{1\,500\,000}{1+2999e^{-(\ln2999/60)t}}\approx\frac{1\,500\,000}{1+2999e^{-0,133434t}}.\] Modellen gir \(F(0)=500\) og \(F(60)=750\,000\).

Den opprinnelige modellen S og den nye modellen F med infleksjonspunkt i uke 60.
Den opprinnelige modellen S og den nye modellen F med infleksjonspunkt i uke 60.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[{F(0)=500,F(60)=750000},{A,k}] for F(t)=1500000/(1+A exp(-kt))
\(A=2999\), \(k=\ln(2999)/60\)

Tolkning: Halv bæreevne i uke 60 gir infleksjonspunktet.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
L = sp.Integer(1500000)
A = sp.Integer(2999)
k = sp.log(A)/60
F = L/(1+A*sp.exp(-k*t))
F0 = L/(1+A)
F60 = L/2
Fprime60 = L*k/4
print("L =", L)
print("A from F(0)=500 =", A)
print("k =", k)
print("k decimal =", sp.N(k,15))
print("F(t) =", F)
print("F(0) =", F0)
print("F(60) =", F60)
print("F'(60) =", Fprime60)
print("F'(60) decimal =", sp.N(Fprime60,12))
Utskrift fra Python:
L = 1500000
A from F(0)=500 = 2999
k = log(2999)/60
k decimal = 0.133433902979150
F(t) = 1500000/(1 + 2999*exp(-t*log(2999)/60))
F(0) = 500
F(60) = 750000
F'(60) = 6250*log(2999)
F'(60) decimal = 50037.7136172

Fasit: \(\displaystyle F(t)=\frac{1\,500\,000}{1+2999e^{-(\ln2999/60)t}}\), eller omtrent \(\displaystyle\frac{1\,500\,000}{1+2999e^{-0,133434t}}\).

Vanlig feil: Å sette vekstfarten størst når funksjonen når sluttverdien. I en logistisk modell er veksten størst ved halvparten av bæreevnen.
Sensorpunkt: Alle tre parameterne må knyttes eksplisitt til hver sin opplysning i teksten.
Del 2 - Oppgave 2aStørste intervall for omvendt funksjon

Oppgave 2a

Oppgave: \[f(x)=\frac13x^3-2x^2-1\] har definisjonsmengde \(I=[a,b]\), der \(2\in I\). Bestem det største intervallet \(I\) slik at \(f\) har en omvendt funksjon \(g\).
Vis løsning

Hva spør oppgaven om? Vi skal finne det største intervallet som inneholder 2 og der \(f\) er én-til-én.

Steg 1 - Deriver funksjonen

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

Steg 2 - Finn kritiske punkter

\[f^{\prime}(x)=0\] når \(x=0\) eller \(x=4\). Disse punktene deler tallinjen i monotoniintervaller.

Steg 3 - Fortegn

For \(x<0\) er \(f^{\prime}>0\); for \(0<x<4\) er \(f^{\prime}<0\); og for \(x>4\) er \(f^{\prime}>0\).

Steg 4 - Velg intervallet som inneholder 2

Tallet 2 ligger i intervallet \([0,4]\), der funksjonen er strengt avtakende og dermed én-til-én.

Steg 5 - Vis at intervallet er størst

Utvider vi mot venstre forbi 0 eller mot høyre forbi 4, snur monotoni-retningen. Da får funksjonen gjentatte funksjonsverdier og mister en-til-én-egenskapen.

Steg 6 - Konklusjon og verdimengde

Det største intervallet er \[I=[0,4].\] På dette intervallet går \(f\) fra \(f(0)=-1\) til \(f(4)=-35/3\), så \(g\) har definisjonsmengde \([-35/3,-1]\).

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Derivative[(1/3)x^3-2x^2-1]; Extremum[(1/3)x^3-2x^2-1]
\(I=[0,4]\)

Tolkning: Funksjonen er strengt avtakende på dette intervallet.

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-2*x**2-1
f_prime = sp.factor(sp.diff(f,x))
critical = sp.solve(sp.Eq(f_prime,0),x)
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Critical points =", critical)
print("Sign at x=-1 =", sp.sign(f_prime.subs(x,-1)))
print("Sign at x=2 =", sp.sign(f_prime.subs(x,2)))
print("Sign at x=5 =", sp.sign(f_prime.subs(x,5)))
print("f(0) =", f.subs(x,0))
print("f(4) =", f.subs(x,4))
print("Largest interval containing 2: [0, 4]")
Utskrift fra Python:
f(x) = x**3/3 - 2*x**2 - 1
f'(x) = x*(x - 4)
Critical points = [0, 4]
Sign at x=-1 = 1
Sign at x=2 = -1
Sign at x=5 = 1
f(0) = -1
f(4) = -35/3
Largest interval containing 2: [0, 4]

Fasit: \(I=[0,4]\).

Vanlig feil: Å velge hele definisjonsmengden \(\mathbb R\), selv om tredjegradsfunksjonen ikke er én-til-én på hele tallinjen.
Sensorpunkt: Derivert, fortegn og begrunnelse for maksimaliteten til intervallet skal være med.
Del 2 - Oppgave 2bDerivert av omvendt funksjon

Oppgave 2b

Oppgave: Bestem stigningstallet til tangenten til grafen til \(g=f^{-1}\) i punktet \((-10,3)\).
Vis løsning

Hva spør oppgaven om? Punktet betyr at \(g(-10)=3\), altså \(f(3)=-10\). Vi skal bruke formelen for den deriverte av en omvendt funksjon.

Steg 1 - Kontroller punktet

\[f(3)=\frac13\cdot27-2\cdot9-1=9-18-1=-10.\] Dermed ligger \((-10,3)\) på grafen til \(g\).

Steg 2 - Formelen

Når \(g=f^{-1}\), gjelder \[g^{\prime}(y)=\frac1{f^{\prime}(g(y))},\] så lenge nevneren ikke er null.

Steg 3 - Finn f-prime

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

Steg 4 - Evaluer ved x=3

\[f^{\prime}(3)=9-12=-3.\]

Steg 5 - Inverter stigningstallet

\[g^{\prime}(-10)=\frac1{f^{\prime}(3)}=-\frac13.\]

Steg 6 - Tolkning

Tangenten til \(g\) i \((-10,3)\) har stigningstall \(-1/3\). Dette er det resiproke stigningstallet til tangenten til \(f\) i \((3,-10)\).

GeoGebra/CAS-kontroll

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

Tolkning: Den omvendte funksjonens stigningstall er det resiproke av f-prime ved prebildet.

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-2*x**2-1
f_prime = sp.diff(f,x)
preimage = sp.Integer(3)
y_value = f.subs(x,preimage)
slope_f = f_prime.subs(x,preimage)
slope_g = sp.simplify(1/slope_f)
print("f(3) =", y_value)
print("Point on inverse graph =", (y_value,preimage))
print("f'(x) =", f_prime)
print("f'(3) =", slope_f)
print("g'(-10) = 1/f'(3) =", slope_g)
print("Decimal slope =", sp.N(slope_g,10))
Utskrift fra Python:
f(3) = -10
Point on inverse graph = (-10, 3)
f'(x) = x**2 - 4*x
f'(3) = -3
g'(-10) = 1/f'(3) = -1/3
Decimal slope = -0.3333333333

Fasit: Stigningstallet er \(-\frac13\).

Vanlig feil: Å beregne \(f^{\prime}(-10)\). For et punkt \((-10,3)\) på den omvendte grafen er prebildet 3.
Sensorpunkt: Koblingen mellom punktet på \(g\), punktet på \(f\) og inversderivasjonsformelen må vises.
Del 2 - Oppgave 2cParallelle tangenter på omvendt graf

Oppgave 2c

Oppgave: Grafen til \(g\) har en annen tangent med samme stigningstall som tangenten i \((-10,3)\). Bestem koordinatene til det andre tangeringspunktet.
Vis løsning

Hva spør oppgaven om? Vi skal finne et annet prebildet \(x\) der \(1/f^{\prime}(x)=-1/3\), og deretter speile punktet over linjen \(y=x\).

Steg 1 - Sett opp likningen

For et punkt \((f(x),x)\) på \(g\) er \[g^{\prime}(f(x))=\frac1{f^{\prime}(x)}.\] Vi krever \[\frac1{x^2-4x}=-\frac13.\]

Steg 2 - Løs for f-prime

Likningen er ekvivalent med \[x^2-4x=-3.\]

Steg 3 - Faktoriser

\[x^2-4x+3=0\Rightarrow(x-1)(x-3)=0.\] Dermed er \(x=1\) eller \(x=3\).

Steg 4 - Velg den andre løsningen

\(x=3\) gir det kjente punktet. Den andre prebildet er \(x=1\).

Steg 5 - Finn funksjonsverdien

\[f(1)=\frac13-2-1=-\frac83.\]

Steg 6 - Bytt koordinater for den omvendte grafen

Punktet \((1,-8/3)\) på \(f\) svarer til punktet \[\left(-\frac83,1\right)\] på \(g\).

Grafene til f og g=f^{-1}. De markerte punktene på g har begge tangentstigning -1/3.
Grafene til f og g=f^{-1}. De markerte punktene på g har begge tangentstigning -1/3.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[1/(x^2-4x)=-1/3,x]
\(x=1\) og \(x=3\); nytt punkt på g er \((-8/3,1)\)

Tolkning: Løsningen x=3 er kjent; x=1 gir det andre tangeringspunktet.

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-2*x**2-1
f_prime = sp.diff(f,x)
preimages = sp.solve(sp.Eq(1/f_prime,-sp.Rational(1,3)),x)
print("Equation: 1/f'(x) = -1/3")
print("f'(x) =", f_prime)
print("Preimages =", preimages)
for value in preimages:
    inverse_point = (sp.simplify(f.subs(x,value)), value)
    inverse_slope = sp.simplify(1/f_prime.subs(x,value))
    print("x =", value, "point on g =", inverse_point, "slope =", inverse_slope)
print("Other tangent point =", (sp.Rational(-8,3),1))
Utskrift fra Python:
Equation: 1/f'(x) = -1/3
f'(x) = x**2 - 4*x
Preimages = [1, 3]
x = 1 point on g = (-8/3, 1) slope = -1/3
x = 3 point on g = (-10, 3) slope = -1/3
Other tangent point = (-8/3, 1)

Fasit: Det andre tangeringspunktet er \(\left(-\frac83,1\right)\).

Vanlig feil: Å oppgi punktet \((1,-8/3)\), som ligger på \(f\), uten å bytte koordinater for den omvendte funksjonen.
Sensorpunkt: Sensor forventer likningen for samme stigningstall og korrekt koordinatbytte.
Del 2 - Oppgave 3Kontinuitet og deriverbarhet bestemmer polynom

Oppgave 3

Oppgave: Funksjonen er \[f(x)=\begin{cases}-9x-15,&x\le-2,\p(x),&-2<x<1,\\frac{x^2}{2}-x-\frac72,&x\ge1,\end{cases}\] der \(p\) er et tredjegradspolynom. Bestem hele funksjonsuttrykket når \(f\) er kontinuerlig og deriverbar for alle \(x\in\mathbb R\).
Vis løsning

Hva spør oppgaven om? Et tredjegradspolynom har fire ukjente koeffisienter. Kontinuitet og lik derivert i de to skjøtepunktene gir fire likninger.

Steg 1 - Sett opp det ukjente polynomet

La \[p(x)=ax^3+bx^2+cx+d.\] Da er \[p^{\prime}(x)=3ax^2+2bx+c.\]

Steg 2 - Kontinuitet ved x=-2

Venstre gren gir \(-9(-2)-15=3\). Derfor må \[p(-2)=3.\]

Steg 3 - Deriverbarhet ved x=-2

Venstre gren har derivert \(-9\), så \[p^{\prime}(-2)=-9.\]

Steg 4 - Kontinuitet ved x=1

Høyre gren gir \(\frac12-1-\frac72=-4\). Derfor må \[p(1)=-4.\]

Steg 5 - Deriverbarhet ved x=1

Høyre gren har derivert \(x-1\), som er 0 ved \(x=1\). Derfor må \[p^{\prime}(1)=0.\]

Steg 6 - Løs likningssystemet

Løsning av de fire lineære likningene gir \[a=-\frac{13}{27},\quad b=\frac79,\quad c=-\frac19,\quad d=-\frac{113}{27}.\] Dermed \[p(x)=-\frac{13}{27}x^3+\frac79x^2-\frac19x-\frac{113}{27}.\]

Den ferdige delte funksjonen har både sammenhengende verdi og sammenhengende tangent i x=-2 og x=1.
Den ferdige delte funksjonen har både sammenhengende verdi og sammenhengende tangent i x=-2 og x=1.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[{p(-2)=3,p'(−2)=-9,p(1)=-4,p'(1)=0},{a,b,c,d}]
\(p(x)=-13x^3/27+7x^2/9-x/9-113/27\)

Tolkning: De fire skjøtebetingelsene bestemmer fire koeffisienter entydig.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
a,b,c,d = sp.symbols("a b c d")
p = a*x**3+b*x**2+c*x+d
p_prime = sp.diff(p,x)
equations = [
    sp.Eq(p.subs(x,-2),3),
    sp.Eq(p_prime.subs(x,-2),-9),
    sp.Eq(p.subs(x,1),-4),
    sp.Eq(p_prime.subs(x,1),0)
]
solution = sp.solve(equations,[a,b,c,d],dict=True)[0]
polynomial = sp.expand(p.subs(solution))
print("Equations =", equations)
print("Coefficient solution =", solution)
print("Middle polynomial p(x) =", polynomial)
print("p(-2), p'(-2) =", polynomial.subs(x,-2), sp.diff(polynomial,x).subs(x,-2))
print("p(1), p'(1) =", polynomial.subs(x,1), sp.diff(polynomial,x).subs(x,1))
Utskrift fra Python:
Equations = [Eq(-8*a + 4*b - 2*c + d, 3), Eq(12*a - 4*b + c, -9), Eq(a + b + c + d, -4), Eq(3*a + 2*b + c, 0)]
Coefficient solution = {a: -13/27, b: 7/9, c: -1/9, d: -113/27}
Middle polynomial p(x) = -13*x**3/27 + 7*x**2/9 - x/9 - 113/27
p(-2), p'(-2) = 3 -9
p(1), p'(1) = -4 0

Fasit: \[f(x)=\begin{cases}-9x-15,&x\le-2,\-\frac{13}{27}x^3+\frac79x^2-\frac19x-\frac{113}{27},&-2<x<1,\\frac{x^2}{2}-x-\frac72,&x\ge1.\end{cases}\]

Vanlig feil: Å bruke bare kontinuitet. Det gir to likninger, men et tredjegradspolynom har fire ukjente koeffisienter.
Sensorpunkt: Alle fire randbetingelsene og det ferdige, kontrollerte polynomet må vises.
Del 2 - Oppgave 4aFart fra hastighetsvektor og knop

Oppgave 4a

Oppgave: Fiskebåtens posisjon er \(\vec r(t)=[1+5t,4+8t]\) kilometer. Bestem farten i knop når 1 knop er 1852 meter per time.
Vis løsning

Hva spør oppgaven om? Vi skal derivere posisjonsvektoren, finne lengden av hastighetsvektoren og konvertere km/h til knop.

Steg 1 - Deriver posisjonsvektoren

\[\vec r^{\prime}(t)=[5,8]\text{ km/h}.\] Hastigheten er konstant.

Steg 2 - Finn farten i km/h

Farten er lengden av hastighetsvektoren: \[v=\sqrt{5^2+8^2}=\sqrt{89}\text{ km/h}.\]

Steg 3 - Gjør om enheten

1 knop er 1,852 km/h. Derfor er antall knop \[\frac{\sqrt{89}}{1,852}.\]

Steg 4 - Beregn

\[\frac{\sqrt{89}}{1,852}\approx5,09394.\]

Steg 5 - Avrund

Farten er omtrent \(5,09\) knop.

Steg 6 - Kontroll

\(5,09\cdot1,852\approx9,43\) km/h, som stemmer med \(\sqrt{89}\).

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Length[(5,8)]/1.852
\(\sqrt{89}/1,852\approx5,09\) knop

Tolkning: Lengden av den konstante hastighetsvektoren konverteres til knop.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
velocity = sp.Matrix([5,8])
speed_kmh = sp.sqrt(velocity.dot(velocity))
kmh_per_knot = sp.Rational(1852,1000)
speed_knots = sp.simplify(speed_kmh/kmh_per_knot)
print("Velocity vector =", tuple(velocity), "km/h")
print("Exact speed =", speed_kmh, "km/h")
print("Speed decimal =", sp.N(speed_kmh,12), "km/h")
print("1 knot =", kmh_per_knot, "km/h")
print("Exact speed in knots =", speed_knots)
print("Speed in knots =", sp.N(speed_knots,12))
Utskrift fra Python:
Velocity vector = (5, 8) km/h
Exact speed = sqrt(89) km/h
Speed decimal = 9.43398113206 km/h
1 knot = 463/250 km/h
Exact speed in knots = 250*sqrt(89)/463
Speed in knots = 5.09394229593

Fasit: Farten er \(\frac{\sqrt{89}}{1,852}\approx5,09\) knop.

Vanlig feil: Å bruke summen \(5+8\) som fart. Fart er lengden av hastighetsvektoren.
Sensorpunkt: Hastighetsvektor, norm og korrekt enhetsomregning skal dokumenteres.
Del 2 - Oppgave 4bMinste avstand fra punkt til bevegelseslinje

Oppgave 4b

Oppgave: Et fyr står i posisjonen \((4,7)\). Bestem den minste avstanden mellom fiskebåten og fyret.
Vis løsning

Hva spør oppgaven om? Vi skal minimere kvadratet av avstanden som funksjon av tiden. Det gir samme minimumpunkt som selve avstanden.

Steg 1 - Vektor fra fyret til båten

\[\vec r(t)-(4,7)=[1+5t-4,4+8t-7]=[5t-3,8t-3].\]

Steg 2 - Avstandskvadratet

\[D^2(t)=(5t-3)^2+(8t-3)^2.\]

Steg 3 - Utvid uttrykket

\[D^2(t)=25t^2-30t+9+64t^2-48t+9=89t^2-78t+18.\]

Steg 4 - Finn minimumstidspunktet

Deriver: \[(D^2)^{\prime}(t)=178t-78.\] Nullpunktet er \[t=\frac{78}{178}=\frac{39}{89}.\]

Steg 5 - Beregn minste avstand

\[D^2\left(\frac{39}{89}\right)=\frac{81}{89}.\] Derfor er \[D_{\min}=\frac9{\sqrt{89}}\text{ km}.\]

Steg 6 - Numerisk svar

\[\frac9{\sqrt{89}}\approx0,954\text{ km}.\] Dette er omtrent 954 meter.

Fiskebåten, fiskestimen, den andre båten og den korteste linjen til fyret.
Fiskebåten, fiskestimen, den andre båten og den korteste linjen til fyret.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Minimize[Distance[(1+5t,4+8t),(4,7)],t>=0]
\(9/\sqrt{89}\approx0,954\) km

Tolkning: Minimum oppnås ved t=39/89 time.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True, nonnegative=True)
boat = sp.Matrix([1+5*t,4+8*t])
lighthouse = sp.Matrix([4,7])
difference = boat-lighthouse
distance_squared = sp.expand(difference.dot(difference))
critical_time = sp.solve(sp.Eq(sp.diff(distance_squared,t),0),t)[0]
minimum_squared = sp.simplify(distance_squared.subs(t,critical_time))
minimum_distance = sp.sqrt(minimum_squared)
print("Difference vector =", tuple(difference))
print("Distance squared =", distance_squared)
print("Derivative =", sp.diff(distance_squared,t))
print("Minimum time =", critical_time, "hours")
print("Minimum distance squared =", minimum_squared)
print("Exact minimum distance =", minimum_distance, "km")
print("Minimum distance =", sp.N(minimum_distance,12), "km")
Utskrift fra Python:
Difference vector = (5*t - 3, 8*t - 3)
Distance squared = 89*t**2 - 78*t + 18
Derivative = 178*t - 78
Minimum time = 39/89 hours
Minimum distance squared = 81/89
Exact minimum distance = 9*sqrt(89)/89 km
Minimum distance = 0.953998092006 km

Fasit: Minste avstand er \(\frac9{\sqrt{89}}\text{ km}\approx0,954\text{ km}\).

Vanlig feil: Å minimere x- og y-avstanden hver for seg; de må kombineres i samme avstandsfunksjon.
Sensorpunkt: Avstandskvadratet, minimumstidspunktet og den endelige lengden med enhet må vises.
Del 2 - Oppgave 4cSamtidig posisjon for to bevegelser

Oppgave 4c

Oppgave: Fiskestimen starter i \((1,-3)\) og svømmer med hastighet \([4,11]\). Vil den første fiskebåten treffe fiskestimen?
Vis løsning

Hva spør oppgaven om? Et treff krever at både x- og y-koordinaten er lik ved samme tidspunkt \(t\).

Steg 1 - Skriv fiskestimposisjonen

\[\vec s(t)=[1,-3]+t[4,11]=[1+4t,-3+11t].\]

Steg 2 - Sett x-koordinatene like

\[1+5t=1+4t\Rightarrow t=0.\]

Steg 3 - Kontroller y ved t=0

Båten har y-koordinat 4, mens fiskestimen har y-koordinat \(-3\). De er ikke i samme punkt.

Steg 4 - Alternativ kontroll fra y-koordinaten

\[4+8t=-3+11t\Rightarrow7=3t\Rightarrow t=\frac73.\]

Steg 5 - Kontroller x ved t=7/3

Da er båtens x-koordinat \(1+35/3\), mens stimens er \(1+28/3\). De er forskjellige.

Steg 6 - Konklusjon

Det finnes ikke ett tidspunkt som oppfyller begge koordinatlikningene. Fiskebåten treffer derfor ikke fiskestimen.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[{1+5t=1+4t,4+8t=-3+11t},t]
Ingen løsning

Tolkning: Koordinatlikningene krever ulike tider.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True, nonnegative=True)
boat = sp.Matrix([1+5*t,4+8*t])
school = sp.Matrix([1+4*t,-3+11*t])
x_time = sp.solve(sp.Eq(boat[0],school[0]),t)
y_time = sp.solve(sp.Eq(boat[1],school[1]),t)
simultaneous = sp.solve([sp.Eq(boat[0],school[0]),sp.Eq(boat[1],school[1])],[t],dict=True)
print("Boat position =", tuple(boat))
print("School position =", tuple(school))
print("Time from x-coordinate =", x_time)
print("Time from y-coordinate =", y_time)
print("Simultaneous solution =", simultaneous)
print("At t=0: boat =", tuple(boat.subs(t,0)), "school =", tuple(school.subs(t,0)))
print("Conclusion: no collision")
Utskrift fra Python:
Boat position = (5*t + 1, 8*t + 4)
School position = (4*t + 1, 11*t - 3)
Time from x-coordinate = [0]
Time from y-coordinate = [7/3]
Simultaneous solution = []
At t=0: boat = (1, 4) school = (1, -3)
Conclusion: no collision

Fasit: Nei, fiskebåten treffer ikke fiskestimen.

Vanlig feil: Å finne at de geometriske banene krysser hverandre og anta at objektene derfor møtes. Tidspunktet må være det samme.
Sensorpunkt: Begge koordinatlikninger skal settes opp og sammenliknes.
Del 2 - Oppgave 4dBestemme fart for å treffe et bevegelig mål

Oppgave 4d

Oppgave: En annen fiskebåt starter i \((-2,0)\) og holder konstant fart i retning langs \(\vec u=[6,4]\). Bestem farten den må holde for å treffe fiskestimen.
Vis løsning

Hva spør oppgaven om? Vi skal la hastigheten være en positiv skalar ganger retningsvektoren og løse for både skalaren og trefftidspunktet.

Steg 1 - Parameteriser hastigheten

La båtens hastighetsvektor være \[\vec v_b=k[6,4]=[6k,4k],\qquad k>0.\]

Steg 2 - Skriv båtens posisjon

\[\vec b(t)=[-2,0]+t[6k,4k]=[-2+6kt,4kt].\]

Steg 3 - Sett lik fiskestimposisjonen

Fiskestimen er i \([1+4t,-3+11t]\). Treff krever \[-2+6kt=1+4t,\qquad4kt=-3+11t.\]

Steg 4 - Løs systemet

Systemet gir \[t=\frac35\text{ time},\qquad k=\frac32.\]

Steg 5 - Finn hastighetsvektor og fart

\[\vec v_b=\frac32[6,4]=[9,6]\text{ km/h}.\] Farten er \[|\vec v_b|=\sqrt{9^2+6^2}=3\sqrt{13}\text{ km/h}.\]

Steg 6 - Konverter og kontroller

\[\frac{3\sqrt{13}}{1,852}\approx5,84\text{ knop}.\] Treffpunktet er \(\left(\frac{17}{5},\frac{18}{5}\right)\), og begge er der etter \(3/5\) time.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[{-2+6kt=1+4t,4kt=-3+11t},{k,t}]
\(k=3/2\), \(v=3\sqrt{13}\) km/h \(\approx5,84\) knop

Tolkning: Systemet bestemmer både trefftid og nødvendig fart.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
k,t = sp.symbols("k t", positive=True)
boat = sp.Matrix([-2+6*k*t,4*k*t])
school = sp.Matrix([1+4*t,-3+11*t])
solution = sp.solve([sp.Eq(boat[0],school[0]),sp.Eq(boat[1],school[1])],[k,t],dict=True)[0]
k_value = solution[k]
t_value = solution[t]
velocity = sp.Matrix([6*k_value,4*k_value])
speed_kmh = sp.sqrt(velocity.dot(velocity))
speed_knots = speed_kmh/sp.Rational(1852,1000)
meeting = sp.simplify(boat.subs(solution))
print("Solution k, t =", solution)
print("Velocity vector =", tuple(velocity), "km/h")
print("Exact speed =", speed_kmh, "km/h")
print("Speed in knots =", sp.N(speed_knots,12))
print("Meeting point =", tuple(meeting))
print("School position check =", tuple(sp.simplify(school.subs(t,t_value))))
Utskrift fra Python:
Solution k, t = {k: 3/2, t: 3/5}
Velocity vector = (9, 6) km/h
Exact speed = 3*sqrt(13) km/h
Speed in knots = 5.84052582419
Meeting point = (17/5, 18/5)
School position check = (17/5, 18/5)

Fasit: Båten må holde farten \(3\sqrt{13}\text{ km/h}\approx10,82\text{ km/h}\), som er omtrent \(5,84\) knop.

Vanlig feil: Å bruke \([6,4]\) direkte som hastighet. Vektoren oppgir bare retningen; størrelsen må bestemmes.
Sensorpunkt: Parameteriseringen, det simultane systemet og fartens norm med enhet må være med.
Del 2 - Oppgave 5aTangent til ln x gjennom origo

Oppgave 5a

Oppgave: Punktet \(B\) ligger på grafen til \(f(x)=\ln x\), og tangenten i \(B\) går gjennom \(A(0,0)\). Bestem eksakte koordinater til \(B\).
Vis løsning

Hva spør oppgaven om? Vi skal la \(B=(b,\ln b)\), skrive tangentlikningen og bruke at den går gjennom origo.

Steg 1 - Beskriv punktet

La \[B=(b,\ln b),\qquad b>0.\]

Steg 2 - Finn tangentstigningen

\[f^{\prime}(x)=\frac1x,\] så stigningstallet i \(x=b\) er \(1/b\).

Steg 3 - Skriv tangentlikningen

\[y-\ln b=\frac1b(x-b).\]

Steg 4 - Bruk at A ligger på tangenten

Sett inn \((x,y)=(0,0)\): \[-\ln b=\frac1b(0-b)=-1.\]

Steg 5 - Løs logaritmelikningen

\[\ln b=1\Rightarrow b=e.\]

Steg 6 - Finn y-koordinaten

\[\ln e=1.\] Derfor er \[B=(e,1).\] Tangenten er \(y=x/e\), som går gjennom origo.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[ln(b)-1=0,b]
\(b=e\), derfor \(B=(e,1)\)

Tolkning: Tangentbetingelsen gjennom origo gir ln(b)=1.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
b,x = sp.symbols("b x", positive=True)
f = sp.log(x)
slope = 1/b
tangent_at_zero = sp.log(b) + slope*(0-b)
solution = sp.solve(sp.Eq(tangent_at_zero,0),b)[0]
B = (solution,sp.log(solution))
print("Generic point B = (b, log(b))")
print("Tangent slope at B =", slope)
print("Tangent value at x=0 =", tangent_at_zero)
print("Equation from passing through origin: log(b)-1 = 0")
print("b =", solution)
print("B =", B)
print("Tangent line = y = x/e")
Utskrift fra Python:
Generic point B = (b, log(b))
Tangent slope at B = 1/b
Tangent value at x=0 = log(b) - 1
Equation from passing through origin: log(b)-1 = 0
b = E
B = (E, 1)
Tangent line = y = x/e

Fasit: \(B=(e,1)\).

Vanlig feil: Å bruke stigningstallet \(\ln b/b\). Den deriverte av \(\ln x\) er \(1/x\).
Sensorpunkt: Tangentlikningen og innsettingen av origo må dokumenteres.
Del 2 - Oppgave 5bAreal ved ortogonal projeksjon

Oppgave 5b

Oppgave: Punktet \(C\) ligger på linjen \(y=x\) slik at \(\angle ACB=90^{\circ}\). Bestem det eksakte arealet av trekant \(ABC\), der \(A=(0,0)\) og \(B=(e,1)\).
Vis løsning

Hva spør oppgaven om? Vi skal finne fotpunktet C på linjen y=x og deretter bruke rettvinklet trekant eller determinant.

Steg 1 - Parameteriser C

Siden \(C\) ligger på \(y=x\), kan vi skrive \[C=(c,c).\]

Steg 2 - Skriv vektorene fra C

\[\overrightarrow{CA}=(-c,-c),\qquad \overrightarrow{CB}=(e-c,1-c).\]

Steg 3 - Bruk rettvinkelvilkåret

\[\overrightarrow{CA}\cdot\overrightarrow{CB}=0.\] Dette gir \[-c(e-c)-c(1-c)=0.\]

Steg 4 - Finn C

Etter faktorisering får vi \[-c(e+1-2c)=0.\] Punktet \(c=0\) ville gitt \(C=A\), så den relevante løsningen er \[c=\frac{e+1}{2}.\]

Steg 5 - Finn katetlengdene

\[|AC|=\sqrt{c^2+c^2}=\frac{e+1}{\sqrt2},\qquad |BC|=\frac{e-1}{\sqrt2}.\]

Steg 6 - Beregn arealet

Fordi vinkelen ved C er rett, er \[A_{\triangle ABC}=\frac12|AC||BC|=\frac12\cdot\frac{e+1}{\sqrt2}\cdot\frac{e-1}{\sqrt2}=\frac{e^2-1}{4}.\]

B=(e,1), C er den ortogonale projeksjonen av B på y=x, og trekanten er rettvinklet i C.
B=(e,1), C er den ortogonale projeksjonen av B på y=x, og trekanten er rettvinklet i C.

GeoGebra/CAS-kontroll

GeoGebra - CAS/grafikk
1
Solve[Dot[(-c,-c),(e-c,1-c)]=0,c]
\(C=((e+1)/2,(e+1)/2)\), areal \((e^2-1)/4\)

Tolkning: Skalarproduktet finner fotpunktet, og rettvinklet arealformel gir resultatet.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
c = sp.symbols("c", real=True)
A = sp.Matrix([0,0])
B = sp.Matrix([sp.E,1])
C = sp.Matrix([c,c])
dot_product = sp.expand((A-C).dot(B-C))
solutions = sp.solve(sp.Eq(dot_product,0),c)
relevant = (sp.E+1)/2
C_exact = sp.Matrix([relevant,relevant])
AC = sp.sqrt((A-C_exact).dot(A-C_exact))
BC = sp.sqrt((B-C_exact).dot(B-C_exact))
area = sp.simplify(sp.Rational(1,2)*AC*BC)
print("Orthogonality expression =", dot_product)
print("Solutions for c =", solutions)
print("Relevant C =", tuple(C_exact))
print("AC =", sp.simplify(AC))
print("BC =", sp.simplify(BC))
print("Exact area =", area)
print("Numerical area =", sp.N(area,12))
Utskrift fra Python:
Orthogonality expression = 2*c**2 - E*c - c
Solutions for c = [0, 1/2 + E/2]
Relevant C = (1/2 + E/2, 1/2 + E/2)
AC = sqrt(2)*(1 + E)/2
BC = sqrt(2)*(-1 + E)/2
Exact area = -1/4 + exp(2)/4
Numerical area = 1.59726402473

Fasit: \(\displaystyle A_{\triangle ABC}=\frac{e^2-1}{4}\).

Vanlig feil: Å velge løsningen \(C=A\), som gir en degenerert trekant og ikke samsvarer med figuren.
Sensorpunkt: Punktet C, ortogonalitetsvilkåret og det eksakte arealuttrykket skal være tydelig.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3056 Matematikk R1, våren 2025 (LK20). Løsningene er originale. Alle Python-blokker er kjørt ved generering, og lagret utskrift er hentet direkte fra kjøringen. Matematiske symboler, den tilsølte delte funksjonen og alle figurer er kontrollert mot de renderte PDF-sidene.