Den deriverte er bare definert der den opprinnelige funksjonen er definert, altså for \(x\ne2\).
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Derivative[3x^2-5+3/(x-2)]
\(6x-3/(x-2)^2\)
Tolkning: CAS bekrefter potens- og kjerneregelen.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx=sp.symbols("x")h=3*x**2-5+3/(x-2)h_prime=sp.simplify(sp.diff(h,x))print("h(x) =",h)print("Derivative of 3*x**2 =",sp.diff(3*x**2,x))print("Derivative of -5 =",sp.diff(-5,x))print("Derivative of 3/(x-2) =",sp.diff(3/(x-2),x))print("h'(x) =",h_prime)print("Domain restriction: x != 2")
Utskrift fra Python:
h(x) = 3*x**2 - 5 + 3/(x - 2)
Derivative of 3*x**2 = 6*x
Derivative of -5 = 0
Derivative of 3/(x-2) = -3/(x - 2)**2
h'(x) = 6*x - 3/(x - 2)**2
Domain restriction: x != 2
Fasit: \(h\prime(x)=6x-\frac{3}{(x-2)^2}\), for \(x\ne2\).
Vanlig feil: Å glemme minusfortegnet når \((x-2)^{-1}\) deriveres.
Sensorpunkt: Sensor forventer synlig potensregel, kjerneregel og korrekt definisjonsbegrensning.
Del 1 - Oppgave 2aNullpunkt i eksponentialfunksjon
Oppgave 2a
Oppgave: Funksjonen er \[f(x)=e^x(6-e^x).\] Bestem eventuelle nullpunkter.
Vis løsning
Hva spør oppgaven om? Vi bruker nullproduktregelen og at \(e^x\) alltid er positiv.
Steg 1 - Bruk nullproduktregelen
Et produkt er null dersom minst en faktor er null.
Steg 2 - Undersok eksponentialfaktoren
\(e^x>0\) for alle reelle \(x\). Faktoren kan derfor aldri bli null.
Steg 3 - Løs den andre faktoren
\[6-e^x=0\Rightarrow e^x=6\Rightarrow x=\ln6.\]
Steg 4 - Oppgi punktet
Funksjonsverdien er 0, så nullpunktet er \((\ln6,0)\).
Steg 5 - Rimelighetskontroll
\(\ln6\approx1,792\), og da er \(e^x\approx6\).
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Solve[exp(x)(6-exp(x))=0,x]
\(x=\ln6\)
Tolkning: Eksponentialfaktoren er positiv og den andre faktoren gir eneste løsning.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx=sp.symbols("x",real=True)f=sp.exp(x)*(6-sp.exp(x))solutions=sp.solve(sp.Eq(f,0),x)print("f(x) =",f)print("e**x is positive for every real x")print("Solutions =",solutions)forvalueinsolutions:print("x =",value,"f(x) =",sp.simplify(f.subs(x,value)))print("Decimal x =",sp.N(solutions[0],12))
Utskrift fra Python:
f(x) = (6 - exp(x))*exp(x)
e**x is positive for every real x
Solutions = [log(6)]
x = log(6) f(x) = 0
Decimal x = 1.79175946923
Fasit: Nullpunktet er \((\ln6,0)\).
Vanlig feil: Å sette \(e^x=0\). Det finnes ingen reell løsning av den likningen.
Sensorpunkt: Begrunnelsen om at \(e^x>0\) og det eksakte koordinatet skal være med.
Del 1 - Oppgave 2bProduktregel og faktorisering
Oppgave 2b
Oppgave: Vis at \[f\prime(x)=2e^x(3-e^x).\]
Vis løsning
Hva spør oppgaven om? Vi deriverer produktet og faktoriserer resultatet.
Steg 1 - Del opp produktet
La \(u=e^x\) og \(v=6-e^x\). Da er \(u\prime=e^x\) og \(v\prime=-e^x\).
Steg 2 - Bruk produktregelen
\[f\prime=u\prime v+uv\prime=e^x(6-e^x)-e^{2x}.\]
Steg 3 - Samle ledd
\[f\prime(x)=6e^x-2e^{2x}.\]
Steg 4 - Faktoriser
Trekk ut \(2e^x\): \[6e^x-2e^{2x}=2e^x(3-e^x).\]
Steg 5 - Konklusjon
Dermed er uttrykket i oppgaven vist.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Factor[Derivative[exp(x)(6-exp(x))]]
\(2e^x(3-e^x)\)
Tolkning: CAS deriverer og trekker ut felles faktor.
Hva spør oppgaven om? Vi sammenlikner vekstgraden i teller og nevner.
Steg 1 - Del på høyeste potens
Del teller og nevner på \(x^2\): \[\frac{2/x+2/x^2}{3+3/x^2}.\]
Steg 2 - Ta grensen
Når \(x\to\infty\), går \(2/x\), \(2/x^2\) og \(3/x^2\) mot 0.
Steg 3 - Regn ut
\[\frac{0+0}{3+0}=0.\]
Steg 4 - Tolkning
Nevneren vokser som \(x^2\), raskere enn telleren som vokser som \(x\).
Steg 5 - Konklusjon
Den horisontale asymptoten mot høyre er \(y=0\).
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Limit[(2x+2)/(3x^2+3),x,infinity]
\(0\)
Tolkning: Nevnerens grad er større enn tellerens grad.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx=sp.symbols("x",positive=True)expr=(2*x+2)/(3*x**2+3)normalized=sp.simplify(expr/x**0)limit_value=sp.limit(expr,x,sp.oo)print("Expression =",expr)print("After dividing numerator and denominator by x**2:")print("(2/x + 2/x**2)/(3 + 3/x**2)")print("Limit =",limit_value)forvaluein[10,100,1000]:print("x =",value,"value =",sp.N(expr.subs(x,value),12))
Utskrift fra Python:
Expression = (2*x + 2)/(3*x**2 + 3)
After dividing numerator and denominator by x**2:
(2/x + 2/x**2)/(3 + 3/x**2)
Limit = 0
x = 10 value = 0.0726072607261
x = 100 value = 0.00673266006733
x = 1000 value = 0.000667332666001
Fasit: Grenseverdien er \(0\).
Vanlig feil: Å dele bare telleren eller bare nevneren på \(x^2\).
Sensorpunkt: En kort gradssammenlikning eller korrekt normalisering er tilstrekkelig.
Del 1 - Oppgave 5aVertikal asymptote eller fjernbart hull
Oppgave 5a
Oppgave: Vurder påstanden: Alle funksjoner \(f(x)=\frac{ax^2+bx+c}{x-d}\) har vertikal asymptote \(x=d\).
Vis løsning
Hva spør oppgaven om? Vi må avgjøre om påstanden gjelder for alle valg av koeffisienter.
Steg 1 - Finn mulig problemsted
Nevneren er 0 ved \(x=d\), men det er ikke nok alene til å gi en vertikal asymptote.
Steg 2 - Lag et moteksempel
Velg telleren lik \(x-d\), for eksempel \(a=0\), \(b=1\), \(c=-d\).
Steg 3 - Forkort
Da blir \[f(x)=\frac{x-d}{x-d}=1,\qquad x\ne d.\]
Steg 4 - Tolk grafen
Grafen er linjen \(y=1\) med et hull ved \(x=d\), ikke en vertikal asymptote.
Steg 5 - Konklusjon
Påstanden er usann. Vertikal asymptote oppstår bare dersom faktoren ikke kanselleres og funksjonen går mot uendelig.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Simplify[(x-d)/(x-d)]
\(1\), for \(x\ne d\)
Tolkning: Et kansellert nullpunkt gir et hull, ikke asymptote.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx,d=sp.symbols("x d")numerator=x-ddenominator=x-df=numerator/denominatorprint("Counterexample numerator =",numerator)print("Denominator =",denominator)print("Simplified f(x) =",sp.cancel(f))print("Original domain excludes x = d")print("Limit as x approaches d =",sp.limit(f,x,d))print("Conclusion: removable hole, not a vertical asymptote")
Utskrift fra Python:
Counterexample numerator = -d + x
Denominator = -d + x
Simplified f(x) = 1
Original domain excludes x = d
Limit as x approaches d = 1
Conclusion: removable hole, not a vertical asymptote
Fasit: Påstanden er usann.
Vanlig feil: Å konkludere med asymptote bare fordi nevneren blir null.
Sensorpunkt: Et gyldig moteksempel med forklaring er den tydeligste begrunnelsen.
Del 1 - Oppgave 5bOmvendt eksponentialfunksjon
Oppgave 5b
Oppgave: Vurder påstanden: For \(g(x)=e^x-3\) er \(g^{-1}(x)=\ln x+3\) med definisjonsmengde \((0,\infty)\).
Vis løsning
Hva spør oppgaven om? Vi finner den omvendte funksjonen ved å løse likningen for x.
Steg 1 - Sett y lik funksjonen
\[y=e^x-3.\]
Steg 2 - Isoler eksponentialleddet
\[y+3=e^x.\]
Steg 3 - Ta naturlig logaritme
\[x=\ln(y+3).\]
Steg 4 - Bytt variabelnavn
\[g^{-1}(x)=\ln(x+3).\]
Steg 5 - Bestem domenet
Vi må ha \(x+3>0\), altså \(x>-3\). Påstanden er derfor usann både i formel og domene.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Invert[exp(x)-3]
\(g^{-1}(x)=\ln(x+3),\ x>-3\)
Tolkning: Den horisontale forskyvningen blir liggende inne i logaritmen.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx,y=sp.symbols("x y",real=True)solution=sp.solve(sp.Eq(y,sp.exp(x)-3),x)[0]print("Equation: y = exp(x) - 3")print("Solve for x:",solution)print("Therefore g_inverse(x) = log(x + 3)")print("Domain condition: x + 3 > 0, so x > -3")check=sp.simplify(sp.log((sp.exp(x)-3)+3))print("Composition g_inverse(g(x)) =",check)
Utskrift fra Python:
Equation: y = exp(x) - 3
Solve for x: log(y + 3)
Therefore g_inverse(x) = log(x + 3)
Domain condition: x + 3 > 0, so x > -3
Composition g_inverse(g(x)) = x
Fasit: Påstanden er usann. Riktig er \(g^{-1}(x)=\ln(x+3)\), med \(x>-3\).
Vanlig feil: Å flytte \(-3\) utenfor logaritmen som \(+3\).
Sensorpunkt: Formelen og definisjonsmengden må begge vurderes.
Del 1 - Oppgave 6Derivert av omvendt funksjon
Oppgave 6
Oppgave: Funksjonen \(f(x)=\ln(x+2)\) har omvendt funksjon \(g\). Bestem \(g\prime(1)\).
Vis løsning
Hva spør oppgaven om? Vi kan finne g direkte eller bruke formelen for den deriverte av en omvendt funksjon.
Steg 1 - Finn den omvendte funksjonen
Sett \(y=\ln(x+2)\). Da er \(e^y=x+2\), altså \(x=e^y-2\).
Steg 2 - Skriv g
\[g(x)=e^x-2.\]
Steg 3 - Deriver
\[g\prime(x)=e^x.\]
Steg 4 - Sett inn x=1
\[g\prime(1)=e.\]
Steg 5 - Alternativ kontroll
\(g(1)=e-2\) og \(f\prime(e-2)=1/e\), så \(g\prime(1)=1/(1/e)=e\).
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
InverseFunction[ln(x+2)]
\(g(x)=e^x-2\), \(g\prime(1)=e\)
Tolkning: Direkte inversjon og inversderivert-formelen gir samme svar.
Utskrift fra Python:
|AB|^2 = 25
|AC|^2 = (a + 3)**2 + 9
Equation = Eq(25, (a + 3)**2 + 9)
Solutions = [-7, 1]
a = -7 |AC|^2 = 25
a = 1 |AC|^2 = 25
Fasit: \(a=1\) eller \(a=-7\).
Vanlig feil: Å ta bare den positive kvadratroten og miste en løsning.
Sensorpunkt: Begge verdiene og kontroll av lengdene skal framgå.
Del 1 - Oppgave 8aVektorer mellom punkter
Oppgave 8a
Oppgave: I trekanten er \(\vec a=\overrightarrow{OA}\), \(\vec b=\overrightarrow{OB}\), \(\overrightarrow{OP}=\frac23\vec a\) og \(\overrightarrow{OR}=\frac23\vec b\). Uttrykk \(\overrightarrow{AB}\) og \(\overrightarrow{PR}\).
Vis løsning
Hva spør oppgaven om? En vektor mellom to punkter er posisjonsvektoren til sluttpunktet minus posisjonsvektoren til startpunktet.
Faktoren \(2/3\) er et positivt reelt tall, så vektorene har samme retning.
Steg 5 - Konklusjon
Derfor er linjestykkene parallelle.
P og R ligger i samme forhold fra O, derfor er PR parallell med AB.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
AreParallel[Vector[AB],Vector[PR]]
true
Tolkning: PR er 2/3 av AB.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspu1,u2=sp.symbols("u1 u2")AB=sp.Matrix([u1,u2])PR=sp.Rational(2,3)*ABcross_2d=sp.simplify(AB[0]*PR[1]-AB[1]*PR[0])print("AB =",tuple(AB))print("PR =",tuple(PR))print("Scale factor = 2/3")print("2D cross determinant =",cross_2d)print("Conclusion: vectors are parallel and point in the same direction")
Utskrift fra Python:
AB = (u1, u2)
PR = (2*u1/3, 2*u2/3)
Scale factor = 2/3
2D cross determinant = 0
Conclusion: vectors are parallel and point in the same direction
Fasit: \(\overrightarrow{PR}=\frac23\overrightarrow{AB}\), altså \(AB\parallel PR\).
Vanlig feil: Å hevde parallellitet bare fordi punktene ser slik ut på figuren.
Sensorpunkt: Et eksplisitt skalarmultiplum er en fullstendig begrunnelse.
Del 1 - Oppgave 8cLengde ved skalering
Oppgave 8c
Oppgave: Hvor langt er linjestykket AB dersom \(|\overrightarrow{PR}|=\frac{\sqrt2}{3}\)?
Vis løsning
Hva spør oppgaven om? Lengder skaleres med absoluttverdien av skalarfaktoren.
Tolkning: Lengden multipliseres med den omvendte skaleringsfaktoren 3/2.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspPR_length=sp.sqrt(2)/3AB_length=sp.simplify(sp.Rational(3,2)*PR_length)print("|PR| =",PR_length)print("PR = (2/3)AB, so |AB| = (3/2)|PR|")print("|AB| =",AB_length)print("Decimal value =",sp.N(AB_length,12))print("Check: (2/3)|AB| =",sp.simplify(sp.Rational(2,3)*AB_length))
Utskrift fra Python:
|PR| = sqrt(2)/3
PR = (2/3)AB, so |AB| = (3/2)|PR|
|AB| = sqrt(2)/2
Decimal value = 0.707106781187
Check: (2/3)|AB| = sqrt(2)/3
Fasit: \(|AB|=\frac{\sqrt2}{2}\).
Vanlig feil: Å gange med \(2/3\) en gang til i stedet for å dele på \(2/3\).
Sensorpunkt: Forholdet mellom lengdene og den eksakte forenklingen må vises.
Del 1 - Oppgave 9aNumerisk derivert
Oppgave 9a
Oppgave: Forklar sammenhengen mellom \(f(x)\) og \(g(x)\) i programkoden.
Vis løsning
Hva spør oppgaven om? Funksjonen g bruker en liten endring h og en differansekvotient.
Steg 1 - Les uttrykket i koden
\[g(x)=\frac{f(x+h)-f(x)}{h},\qquad h=10^{-6}.\]
Steg 2 - Sammenlikn med definisjonen
Den deriverte er \[f\prime(x)=\lim_{h\to0}\frac{f(x+h)-f(x)}{h}.\]
Steg 3 - Tolk h
Programmet bruker et lite, men ikke null, h. Derfor beregner g en numerisk tilnærming til den deriverte.
Steg 4 - Finn den eksakte deriverte
For \(f(x)=\frac13x^3+\frac53x^2+\frac{25}{9}x\) er \[f\prime(x)=x^2+\frac{10}{3}x+\frac{25}{9}=\left(x+\frac53\right)^2.\]
Steg 5 - Konklusjon
\(g(x)\approx f\prime(x)\), med en liten numerisk feil som avhenger av h.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Derivative[(1/3)x^3+(5/3)x^2+(25/9)x]
\((x+5/3)^2\)
Tolkning: g er en framoverdifferanse for denne deriverte.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx,h=sp.symbols("x h",real=True)f=sp.Rational(1,3)*x**3+sp.Rational(5,3)*x**2+sp.Rational(25,9)*xexact=sp.factor(sp.diff(f,x))forward=sp.simplify((f.subs(x,x+h)-f)/h)print("f(x) =",f)print("Exact f'(x) =",exact)print("Forward difference =",sp.expand(forward))print("Difference from exact derivative =",sp.factor(forward-exact))print("With h = 0.000001, g(x) is a numerical approximation to f'(x)")
Utskrift fra Python:
f(x) = x**3/3 + 5*x**2/3 + 25*x/9
Exact f'(x) = (3*x + 5)**2/9
Forward difference = h**2/3 + h*x + 5*h/3 + x**2 + 10*x/3 + 25/9
Difference from exact derivative = h*(h + 3*x + 5)/3
With h = 0.000001, g(x) is a numerical approximation to f'(x)
Fasit: \(g(x)\) er en numerisk tilnærming til \(f\prime(x)\).
Vanlig feil: Å si at g er den eksakte deriverte uten å nevne at h er endelig.
Sensorpunkt: Differansekvotienten og forbindelsen til definisjonen av den deriverte må forklares.
Del 1 - Oppgave 9bKlassifisering av stasjonære punkt
Oppgave 9b
Oppgave: Hvilke tre begreper skal erstatte A, B og C i linje 18, 21 og 24?
Vis løsning
Hva spør oppgaven om? Koden undersøker fortegnet til den deriverte på hver side av et punkt der g er nær 0.
Steg 1 - Tilfellet A
Hvis \(g(x-dx)g(x+dx)>0\), har den deriverte samme fortegn på begge sider. Et stasjonært punkt uten fortegnsskifte er et terrassepunkt.
Steg 2 - Tilfellet B
Hvis \(g(x-dx)<g(x+dx)\), er situasjonen rundt en enkel nullpassering fra negativ til positiv. Funksjonen går fra avtakende til voksende: bunnpunkt.
Steg 3 - Tilfellet C
Hvis \(g(x-dx)>g(x+dx)\), går den deriverte fra positiv til negativ: toppunkt.
Her er \(f\prime(x)=(x+5/3)^2\ge0\), så det aktuelle punktet er et terrassepunkt.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Factor[Derivative[(1/3)x^3+(5/3)x^2+(25/9)x]]
\((x+5/3)^2\ge0\)
Tolkning: Den deriverte berører 0 uten fortegnsskifte.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx=sp.symbols("x",real=True)f_prime=(x+sp.Rational(5,3))**2root=-sp.Rational(5,3)left=sp.simplify(f_prime.subs(x,root-sp.Rational(1,100)))right=sp.simplify(f_prime.subs(x,root+sp.Rational(1,100)))print("f'(x) =",f_prime)print("Stationary x =",root)print("Derivative just left =",left)print("Derivative just right =",right)print("A = terrassepunkt")print("B = bunnpunkt")print("C = toppunkt")
Utskrift fra Python:
f'(x) = (x + 5/3)**2
Stationary x = -5/3
Derivative just left = 1/10000
Derivative just right = 1/10000
A = terrassepunkt
B = bunnpunkt
C = toppunkt
Fasit: A er terrassepunkt, B er bunnpunkt, og C er toppunkt.
Vanlig feil: Å bytte topp- og bunnpunkt fordi man sammenlikner funksjonsverdier i stedet for fortegn til den deriverte.
Sensorpunkt: Forklar hva hver test sier om fortegnsskiftet.
Del 1 - Oppgave 9cSporing av programkode
Oppgave 9c
Oppgave: Programmet skriver ut en setning. I hvilken linje står setningen?
Vis løsning
Hva spør oppgaven om? Vi må finne det stasjonære punktet og se hvilken if-gren som blir sann i den faktiske løkken.
Steg 1 - Finn den eksakte deriverte
\[f\prime(x)=\left(x+\frac53\right)^2.\] Den er 0 ved \(x=-5/3\).
Steg 2 - Se på fortegnet
Den deriverte er positiv på begge sider av punktet.
Steg 3 - Knytt til testen
Dermed er produktet \(g(x-dx)g(x+dx)>0\) når programmet finner en x-verdi med \(|g(x)|<10^{-6}\).
Steg 4 - Finn linjen
Den første print-setningen i denne grenen står i linje 18.
Steg 5 - Faktisk kjøring
Med skrittstørrelse 0,002 finner programmet omtrent \(x=-1,666\) og skriver ut linje 18.
f er voksende på begge sider av x=-5/3, mens den deriverte bare berører null.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Run original program
Linje 18
Tolkning: Den numeriske løkken treffer terrassepunktgrenen.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
deff(x):return1/3*x**3+5/3*x**2+25/9*xdefg(x):h=0.000001return(f(x+h)-f(x))/hx=-4slutt=4dx=0.002maks_avvik=0.000001printed_line=Nonewhilex<slutt:x=x+dxifabs(g(x))<maks_avvik:ifg(x-dx)*g(x+dx)>0:printed_line=18print("f har et terrassepunkt for x =",x)elifg(x-dx)<g(x+dx):printed_line=21print("f har et bunnpunkt for x =",x)elifg(x-dx)>g(x+dx):printed_line=24print("f har et toppunkt for x =",x)print("Printed line =",printed_line)print("g(x) =",g(x))
Utskrift fra Python:
f har et terrassepunkt for x = -1.66600000000022
Printed line = 18
g(x) = 32.1337874567007
Fasit: Setningen står i linje 18.
Vanlig feil: Å velge linje 21 bare fordi den deriverte har et minimum ved null. Det er f, ikke f-prime, som klassifiseres.
Sensorpunkt: Begrunn med fortegnet til f-prime og knytt det til den konkrete if-grenen.
Del 2 - med hjelpemidler
Del 2 - Oppgave 1aLogistisk regresjon
Oppgave 1a
Oppgave: Tabellen viser rakettfart. Lag en modell \[V(t)=\frac{C}{1+a e^{-kt}}.\]
Vis løsning
Hva spør oppgaven om? Vi tilpasser de tre parameterne C, a og k ved ikke-lineær regresjon.
Steg 1 - Registrer data
Tidspunktene er \(1,5,10,20,50,100,150\) sekunder, med tilhørende fart \(7,3,9,2,10,7,25,6,61,3,183,0,218,2\) m/s.
Steg 2 - Velg modelltype
Modellen er logistisk. Parameteren \(C\) er den langsiktige grensen for farten.
Steg 3 - Kjør regresjon
En ikke-lineær minste-kvadraters tilpasning gir omtrent \[C=223,477,\quad a=27,327,\quad k=0,0478003.\]
Steg 4 - Skriv modellen
\[V(t)=\frac{223,477}{1+27,327e^{-0,0478003t}}.\]
Steg 5 - Vurder tilpasningen
Modellen nærmer seg 223,5 m/s og ligger nær målingene. Små avvik er forventet fordi dataene ikke ligger eksakt på en logistisk kurve.
Steg 6 - Dokumentasjon
Ved eksamen skal regresjonsvindu, parameterverdier og gjerne en graf med datapunkter dokumenteres.
Datapunkter, logistisk fartskurve og den deriverte fartsøkningen.
Utskrift fra Python:
C = 223.4774387576481 a = 27.32722297785643 k = 0.04780026364436009
Equation: C/(1+a*exp(-k*t)) = 100
t = 64.79033537951585 seconds
Check V(t) = 100.0 m/s
Rounded answer = 64.79 seconds
Fasit: Raketten oppnår 100 m/s etter omtrent \(64,8\) sekunder.
Vanlig feil: Å glemme minusfortegnet når eksponentialleddet logaritmeres.
Sensorpunkt: Likningen, numerisk løsning og enhet skal vises.
Del 2 - Oppgave 1cStørst fartsøkning i logistisk modell
Oppgave 1c
Oppgave: Når er fartsøkningen størst, og hvor stor er den?
Vis løsning
Hva spør oppgaven om? Fartsøkningen er \(V\prime(t)\). For en logistisk funksjon er den størst i vendepunktet.
Steg 1 - Bruk logistisk struktur
For \(V(t)=\frac{C}{1+ae^{-kt}}\) oppnås vendepunktet når \(ae^{-kt}=1\).
Raketten har altså størst fartsøkning omtrent 69,2 sekunder etter start.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Extremum[Derivative[C/(1+a exp(-k t))]]
\(t\approx69,20\), \(V\prime\approx2,671\)
Tolkning: Logistisk vendepunkt gir maksimal stigning.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importmathC=223.4774387576481a=27.32722297785643k=0.04780026364436009t_inflection=math.log(a)/kmaximum_acceleration=C*k/4V_at_inflection=C/2print("Inflection time ln(a)/k =",t_inflection,"seconds")print("Speed at inflection C/2 =",V_at_inflection,"m/s")print("Maximum acceleration C*k/4 =",maximum_acceleration,"m/s**2")print("Rounded time =",round(t_inflection,2))print("Rounded acceleration =",round(maximum_acceleration,3))
Utskrift fra Python:
Inflection time ln(a)/k = 69.20219956579434 seconds
Speed at inflection C/2 = 111.73871937882404 m/s
Maximum acceleration C*k/4 = 2.6705701227954783 m/s**2
Rounded time = 69.2
Rounded acceleration = 2.671
Fasit: Størst fartsøkning er omtrent \(2,67\text{ m/s}^2\) ved \(t\approx69,2\text{ s}\).
Vanlig feil: Å svare med den største farten C i stedet for den største deriverte.
Sensorpunkt: Sensor forventer tidspunkt, maksimal verdi og korrekte enheter.
Del 2 - Oppgave 1dUlikhet for den deriverte
Oppgave 1d
Oppgave: Hvor lenge øker farten med mer enn \(2\text{ m/s}^2\)?
Vis løsning
Hva spør oppgaven om? Vi løser ulikheten \(V\prime(t)>2\) ved å finne de to grensetidspunktene.
Steg 1 - Skriv den deriverte
\[V\prime(t)=\frac{Cake^{-kt}}{(1+ae^{-kt})^2}.\]
Steg 2 - Sett lik 2
Grensene for intervallet finnes ved \[V\prime(t)=2.\]
Steg 3 - Løs numerisk
De to løsningene er omtrent \[t_1=46,16\text{ s},\qquad t_2=92,25\text{ s}.\]
Steg 4 - Undersok intervallet
Mellom løsningene ligger den deriverte over 2, fordi maksimum ved 69,2 s er omtrent 2,67.
Steg 5 - Finn varigheten
\[t_2-t_1\approx92,25-46,16=46,09\text{ s}.\]
Steg 6 - Konklusjon
Farten øker med mer enn \(2\text{ m/s}^2\) i omtrent 46,1 sekunder.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Solve[Derivative[V(t)]=2,t]
\(t\approx46,16\) og \(92,25\)
Tolkning: Ulikheten gjelder mellom de to skjaringene.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importmathfromscipy.optimizeimportbrentqC=223.4774387576481a=27.32722297785643k=0.04780026364436009defacceleration(t):returnC*a*k*math.exp(-k*t)/(1+a*math.exp(-k*t))**2t1=brentq(lambdat:acceleration(t)-2,0,69.2)t2=brentq(lambdat:acceleration(t)-2,69.2,200)print("First boundary t1 =",t1,"seconds")print("Second boundary t2 =",t2,"seconds")print("Acceleration at t1 =",acceleration(t1))print("Acceleration at midpoint =",acceleration((t1+t2)/2))print("Acceleration at t2 =",acceleration(t2))print("Duration =",t2-t1,"seconds")print("Rounded duration =",round(t2-t1,2),"seconds")
Utskrift fra Python:
First boundary t1 = 46.15767103392101 seconds
Second boundary t2 = 92.24672809766767 seconds
Acceleration at t1 = 2.0000000000000004
Acceleration at midpoint = 2.6705701227954783
Acceleration at t2 = 2.000000000000001
Duration = 46.08905706374666 seconds
Rounded duration = 46.09 seconds
Fasit: Fra omtrent \(46,16\) s til \(92,25\) s, altså i omtrent \(46,09\) s.
Vanlig feil: Å oppgi tidspunktet for maksimum som varigheten.
Sensorpunkt: Begge grensepunktene, riktig ulikhetsintervall og differansen må dokumenteres.
Del 2 - Oppgave 2aBanefart og posisjon fra parameterframstilling
Oppgave 2a
Oppgave: Skøyteløperens posisjon er \(l(t)=(6t+120,\frac53t+50)\). Bestem banefarten og posisjonen etter et halvt minutt.
Vis løsning
Hva spør oppgaven om? Vi deriverer posisjonen for å få hastighetsvektoren og setter inn \(t=30\).
Utskrift fra Python:
l(t) = (6*t + 120, 5*t/3 + 50)
Velocity vector = (6, 5/3) m/s
Exact speed = sqrt(349)/3 m/s
Speed decimal = 6.22718056409 m/s
Position after 30 seconds = (300, 100) m
Fasit: Banefarten er \(\frac{\sqrt{349}}3\approx6,23\text{ m/s}\), og posisjonen er \((300,100)\).
Vanlig feil: Å bruke 0,5 som tid i stedet for 30 sekunder.
Sensorpunkt: Tidsenheten, hastighetsvektoren, normen og posisjonen skal være tydelige.
Del 2 - Oppgave 2bKollisjon krever samme tidspunkt
Oppgave 2b
Oppgave: Hundens posisjon er \(m(t)=(\frac{13}{2}t+250,-\frac95t+520)\). Vis at skøyteløperen ikke treffer hunden.
Vis løsning
Hva spør oppgaven om? Et treff krever at begge koordinatene er like ved samme t.
Steg 1 - Sammenlikn x-koordinatene
\[6t+120=\frac{13}{2}t+250.\] Dette gir \[t=-260\text{ s}.\]
Steg 2 - Vurder tidsintervallet
Tiden \(-260\) ligger ikke i intervallet \([0,200]\). Allerede dette viser at x-koordinatene aldri er like under bevegelsen.
Steg 3 - Se direkte på forskjellen
Hundens x-koordinat minus skøyteløperens er \[\left(\frac{13}{2}-6\right)t+130=\frac12t+130>0\] for alle \(t\ge0\).
Steg 4 - Kontroll med y-koordinatene
Y-koordinatene ville vært like ved \(t=3525/26\approx135,58\) s, men da er x-koordinatene forskjellige.
Steg 5 - Konklusjon
De er aldri i samme punkt ved samme tidspunkt, så skøyteløperen treffer ikke hunden.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Solve[l(t)=m(t),t]
Ingen løsning i \([0,200]\)
Tolkning: X-forskjellen er alltid positiv.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspt=sp.symbols("t",real=True)l=sp.Matrix([6*t+120,sp.Rational(5,3)*t+50])m=sp.Matrix([sp.Rational(13,2)*t+250,-sp.Rational(9,5)*t+520])x_solution=sp.solve(sp.Eq(l[0],m[0]),t)y_solution=sp.solve(sp.Eq(l[1],m[1]),t)print("Skater position =",tuple(l))print("Dog position =",tuple(m))print("Times with equal x-coordinate =",x_solution)print("Times with equal y-coordinate =",y_solution)print("Dog x minus skater x =",sp.simplify(m[0]-l[0]))print("At the y-equality time, x-difference =",sp.simplify((m[0]-l[0]).subs(t,y_solution[0])))print("Conclusion: no common position at the same time")
Utskrift fra Python:
Skater position = (6*t + 120, 5*t/3 + 50)
Dog position = (13*t/2 + 250, 520 - 9*t/5)
Times with equal x-coordinate = [-260]
Times with equal y-coordinate = [3525/26]
Dog x minus skater x = t/2 + 130
At the y-equality time, x-difference = 10285/52
Conclusion: no common position at the same time
Fasit: Skøyteløperen og hunden kolliderer ikke.
Vanlig feil: Å løse x- og y-likningene hver for seg og godta ulike tidsverdier som et treff.
Sensorpunkt: Sensor forventer at samme tidspunkt må oppfylle begge koordinatlikningene.
Del 2 - Oppgave 2cFangst med ny fart i fast retning
Oppgave 2c
Oppgave: Etter 60 s øker skøyteløperen banefarten uten å endre retning. Hvilken konstant fart må han holde for å fange hunden?
Vis løsning
Hva spør oppgaven om? Vi finner skjaringen mellom hundens videre bane og strålen fra skøyteløperens posisjon i den opprinnelige retningen.
Steg 1 - Posisjoner ved t=60
\[l(60)=(480,150),\qquad m(60)=(640,412).\]
Steg 2 - Behold retningen
Den opprinnelige retningsvektoren er \((6,5/3)\), som er parallell med \((18,5)\). La skøyteløperens nye posisjon etter \(\tau\) sekunder være \[(480,150)+\lambda(18,5).\]
Tolkning: Skjæringspunkt og tid bestemmer den nødvendige farten.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyassplam,tau=sp.symbols("lam tau",real=True)L60=sp.Matrix([480,150])M60=sp.Matrix([640,412])direction=sp.Matrix([18,5])dog_velocity=sp.Matrix([sp.Rational(13,2),-sp.Rational(9,5)])solution=sp.solve(L60+lam*direction-(M60+tau*dog_velocity),(lam,tau),dict=True)[0]lam_value=solution[lam]tau_value=solution[tau]speed=sp.simplify(lam_value*sp.sqrt(direction.dot(direction))/tau_value)meeting=sp.simplify(L60+lam_value*direction)print("L(60) =",tuple(L60))print("M(60) =",tuple(M60))print("lambda =",lam_value)print("tau =",tau_value,"seconds")print("Meeting point =",tuple(meeting))print("Exact new speed =",speed,"m/s")print("New speed decimal =",sp.N(speed,12),"m/s")
Utskrift fra Python:
L(60) = (480, 150)
M(60) = (640, 412)
lambda = 1810/59
tau = 3560/59 seconds
Meeting point = (60900/59, 17900/59)
Exact new speed = 181*sqrt(349)/356 m/s
New speed decimal = 9.49819956826 m/s
Fasit: Den nye konstante banefarten må være omtrent \(9,50\text{ m/s}\).
Vanlig feil: Å sikte direkte mot hundens posisjon ved 60 s. Hunden fortsetter å bevege seg mens jakten pågår.
Sensorpunkt: Retningen må beholdes, og fangstpunktet må oppfylle begge bevegelsene ved samme tid.
Del 2 - Oppgave 3aLengder i et rektangel under en graf
Oppgave 3a
Oppgave: Grafen er \(f(x)=100\cdot0,8^x\). Punktet A er \((a,f(a))\), B og C har x-koordinat 5, og C og D har y-koordinat 200. Uttrykk AB og AD ved a.
Vis løsning
Hva spør oppgaven om? Vi leser av horisontal og vertikal avstand mellom punktene.
Utskrift fra Python:
A = (a, 100*(4/5)**a)
B = (5, 100*(4/5)**a)
D = (a, 200)
AB = 5 - a
AD = -100*4**a/5**a + 200
Area expression = 100*4**a*a/5**a - 500*4**a/5**a - 200*a + 1000
Fasit: \(AB=5-a\) og \(AD=200-100\cdot0,8^a\).
Vanlig feil: Å bruke \(f(a)-200\), som blir negativ i intervallet.
Sensorpunkt: Koordinatene og de to positive lengdeuttrykkene skal vises.
Del 2 - Oppgave 3bDerivasjon og arealoptimering
Oppgave 3b
Oppgave: Bruk derivasjon til å bestemme det største arealet rektangelet ABCD kan få.
Vis løsning
Hva spør oppgaven om? Vi lager arealfunksjonen, deriverer og sammenlikner kritisk punkt med endepunktene.
Likningen har den relevante numeriske løsningen \[a\approx0,170666.\]
Steg 4 - Beregn arealet
\[A(0,170666)\approx500,979.\]
Steg 5 - Kontroller endepunktene
\[A(0)=500,\qquad A(5)=0.\] Det indre kritiske punktet gir størst verdi.
Steg 6 - Konklusjon
Det maksimale arealet er omtrent \(501\) kvadratenheter.
Venstre: grafen og rektangelets rammer. Høyre: arealfunksjonen med maksimum.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Extremum[(5-a)(200-100*0.8^a),0<=a<=5]
\(a\approx0,170666\), \(A_{max}\approx500,979\)
Tolkning: Den eneste indre kritiske verdien gir globalt maksimum.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importmathfromscipy.optimizeimportbrentqdefarea(a):return(5-a)*(200-100*0.8**a)defarea_prime(a):return-(200-100*0.8**a)+(5-a)*(-100*0.8**a*math.log(0.8))a_star=brentq(area_prime,0,1)print("A(a) = (5-a)*(200-100*0.8**a)")print("Critical a =",a_star)print("A'(a*) =",area_prime(a_star))print("A(a*) =",area(a_star))print("A(0) =",area(0))print("A(5) =",area(5))print("Maximum area rounded =",round(area(a_star),3))
Utskrift fra Python:
A(a) = (5-a)*(200-100*0.8**a)
Critical a = 0.17066571014717044
A'(a*) = 1.4210854715202004e-14
A(a*) = 500.97916156327324
A(0) = 500.0
A(5) = 0.0
Maximum area rounded = 500.979
Fasit: Største areal er omtrent \(500,98\), oppnådd ved \(a\approx0,171\).
Vanlig feil: Å finne et kritisk punkt uten å kontrollere endepunktene.
Sensorpunkt: Arealfunksjon, derivert, numerisk nullpunkt og maksimumskontroll må dokumenteres.
Del 2 - Oppgave 4aDelt og kontinuerlig støttefunksjon
Oppgave 4a
Oppgave: Forklar hvorfor strømprisfunksjonen f har delt forskrift, og hvorfor den må være kontinuerlig.
Vis løsning
Hva spør oppgaven om? Støtteordningen gjelder bare når spotprisen overstiger 75 øre/kWh.
Steg 1 - To prisområder
For \(x\le75\) gis ingen støtte, så husholdningen betaler hele spotprisen.
Steg 2 - Over terskelen
For \(x>75\) dekker staten 90 prosent av den delen av prisen som ligger over 75 øre/kWh.
Steg 3 - Derfor delt forskrift
Regelen for hva husholdningen betaler endres ved \(x=75\), så ett enkelt lineært uttrykk gjelder ikke på begge sider.
Steg 4 - Kontinuitet ved terskelen
Idet spotprisen passerer 75, er den støtteberettigede overskytende delen 0. Det skal derfor ikke oppstå et plutselig hopp i kundens pris.
Steg 5 - Matematisk vilkår
Venstre og høyre funksjonsverdi ved 75 må være like. Begge blir 75.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
LeftLimit[f,75]=RightLimit[f,75]=75
Kontinuerlig ved \(x=75\)
Tolkning: Støtten starter fra null akkurat ved terskelen.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspx=sp.symbols("x",real=True)left=xright=x-sp.Rational(9,10)*(x-75)left_at_75=left.subs(x,75)right_at_75=sp.simplify(right.subs(x,75))print("No-support branch =",left)print("Support branch before simplification =",right)print("Support branch simplified =",sp.expand(right))print("Left value at 75 =",left_at_75)print("Right value at 75 =",right_at_75)print("Difference at threshold =",sp.simplify(left_at_75-right_at_75))print("Conclusion: continuous at x = 75")
Utskrift fra Python:
No-support branch = x
Support branch before simplification = x/10 + 135/2
Support branch simplified = x/10 + 135/2
Left value at 75 = 75
Right value at 75 = 75
Difference at threshold = 0
Conclusion: continuous at x = 75
Fasit: Funksjonen er delt fordi støtteregelen endres ved 75 øre/kWh, og den er kontinuerlig fordi støtten starter uten prissteg.
Vanlig feil: Å tro at husholdningen bare betaler 10 prosent av hele spotprisen når x er over 75.
Sensorpunkt: Forklar både terskelen og hvorfor de to grenene motes i samme punkt.
Del 2 - Oppgave 4bOppsett av delt funksjonsuttrykk
Oppgave 4b
Oppgave: Sett opp et funksjonsuttrykk for husholdningens pris f(x) etter støtte.
Vis løsning
Hva spør oppgaven om? Vi uttrykker betalingen under og over terskelen 75 øre/kWh.
Steg 1 - Ingen støtte
For \(0\le x\le75\) betaler husholdningen \[f(x)=x.\]
Vanlig feil: Å trekke 90 prosent av hele x i stedet for bare av \(x-75\).
Sensorpunkt: Den delte forskriften og kontinuitetskontrollen ved 75 må være med.
Del 2 - Oppgave 5Tangent gjennom origo
Oppgave 5
Oppgave: For \(f(x)=e^{2x}\) har grafen en tangent som går gjennom origo. Bestem eksakte koordinater til tangeringspunktet.
Vis løsning
Hva spør oppgaven om? Vi lar tangeringspunktet ha x-koordinat a og krever at tangentlikningen passerer \((0,0)\).
Steg 1 - Punkt og stigningstall
Tangeringspunktet er \(T=(a,e^{2a})\). Den deriverte er \[f\prime(x)=2e^{2x},\] så stigningstallet i T er \(2e^{2a}\).
Steg 2 - Skriv tangentlikningen
\[y-e^{2a}=2e^{2a}(x-a).\]
Steg 3 - Sett inn origo
\[0-e^{2a}=2e^{2a}(0-a).\]
Steg 4 - Del på den positive faktoren
Siden \(e^{2a}>0\), kan vi dele på den: \[-1=-2a.\]
Steg 5 - Finn a
\[a=\frac12.\]
Steg 6 - Finn y-koordinaten
\[f(1/2)=e^{1}=e.\] Tangeringspunktet er derfor \((1/2,e)\). Tangenten blir \(y=2ex\).
Grafen til e^(2x) og den unike tangenten gjennom origo.
GeoGebra/CAS-kontroll
GeoGebra - CAS/grafikk
1
Solve[Tangent[(a,exp(2a)),exp(2x)] passes through (0,0),a]
\(a=1/2\), punkt \((1/2,e)\)
Tolkning: Tangentvilkåret gjennom origo bestemmer a eksakt.
Python-kontroll med SymPy
Python 3 - faktisk kjøring
importsympyasspa,x=sp.symbols("a x",real=True)f_a=sp.exp(2*a)slope=2*sp.exp(2*a)tangent=sp.expand(f_a+slope*(x-a))condition=sp.simplify(tangent.subs(x,0))solution=sp.solve(sp.Eq(condition,0),a)[0]point=(solution,sp.simplify(sp.exp(2*solution)))final_tangent=sp.simplify(tangent.subs(a,solution))print("Generic tangent =",tangent)print("Tangent value at x=0 =",condition)print("Equation through origin:",sp.Eq(condition,0))print("a =",solution)print("Tangency point =",point)print("Final tangent line y =",final_tangent)print("Check at origin =",final_tangent.subs(x,0))
Utskrift fra Python:
Generic tangent = -2*a*exp(2*a) + 2*x*exp(2*a) + exp(2*a)
Tangent value at x=0 = (1 - 2*a)*exp(2*a)
Equation through origin: Eq((1 - 2*a)*exp(2*a), 0)
a = 1/2
Tangency point = (1/2, E)
Final tangent line y = 2*E*x
Check at origin = 0
Fasit: Tangeringspunktet er \(\left(\frac12,e\right)\).
Vanlig feil: Å sette \(f(a)=0\). Tangenten, ikke grafen, skal gå gjennom origo.
Sensorpunkt: Tangentlikningen med generell a og innsetting av origo gir en komplett løsning.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3056 Matematikk R1, våren 2026 (LK20). Løsningene er originale. Alle Python-blokker er kjørt ved generering, og lagret utskrift er hentet direkte fra kjøringen. Programkoden i del 1, tabellverdier, figurer, symboler og støttesatsen i del 2 er kontrollert mot de renderte PDF-sidene.
ifingo-lærerenHjelper deg å forstå
ifingo-læreren hjelper deg å forstå – ikke å gjøre leksene for deg 💜