Sensorpunkt: Sensor ser etter en fullstendig kjerneregel.
Del 1 - Oppgave 1cProdukt- og kjerneregel
Oppgave 1c
Oppgave: Deriver funksjonen \[h(x)=x\ln(x^2+3).\]
Vis løsning
Hva spør oppgaven om? Vi skal kombinere produktregelen med kjerneregelen for logaritmen.
Steg 1 - Identifiser produktet
La \(u=x\) og \(v=\ln(x^2+3)\).
Steg 2 - Deriver første faktor
\(u\'=1\).
Steg 3 - Deriver logaritmen
\(v\'=\frac{2x}{x^2+3}\).
Steg 4 - Bruk produktregelen
\(h\'=u\'v+uv\'\).
Steg 5 - Sett inn
\[h\'(x)=\ln(x^2+3)+\frac{2x^2}{x^2+3}.\]
Steg 6 - Kontroller domenet
\(x^2+3>0\) for alle reelle \(x\), så uttrykket gjelder på \(\mathbb R\).
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Derivative[x*ln(x^2+3),x]
\(\ln(x^2+3)+\frac{2x^2}{x^2+3}\)
Tolkning: CAS bekrefter både produktregelen og kjerneregelen.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
h = x*sp.log(x**2 + 3)
print("h(x) =", h)
print("Første faktor: x, derivert =", sp.diff(x, x))
print("Andre faktor: ln(x^2 + 3)")
print("Derivert av andre faktor =", sp.diff(sp.log(x**2 + 3), x))
print("Produktregel, h'(x) =", sp.diff(h, x))
print("Samlet form =", sp.together(sp.diff(h, x)))
Utskrift fra Python:
h(x) = x*log(x**2 + 3)
Første faktor: x, derivert = 1
Andre faktor: ln(x^2 + 3)
Derivert av andre faktor = 2*x/(x**2 + 3)
Produktregel, h'(x) = 2*x**2/(x**2 + 3) + log(x**2 + 3)
Samlet form = (2*x**2 + (x**2 + 3)*log(x**2 + 3))/(x**2 + 3)
Fasit: \(h\'(x)=\ln(x^2+3)+\dfrac{2x^2}{x^2+3}\).
Vanlig feil: Å derivere bare én av faktorene.
Sensorpunkt: Både produktregel og indre derivert må være synlige.
Del 1 - Oppgave 2Fortegnslinje
Oppgave 2
Oppgave: Funksjonen er \[f(x)=xe^{-x},\qquad D_f=\mathbb R.\] Tegn fortegnslinjen til \(f\'(x)\).
Vis løsning
Hva spør oppgaven om? Vi skal derivere funksjonen, faktorisere den deriverte og bruke faktorene til å bestemme fortegnet.
Steg 1 - Deriver produktet
\(f\'(x)=e^{-x}+x(-e^{-x})\).
Steg 2 - Faktoriser
\[f\'(x)=e^{-x}(1-x).\]
Steg 3 - Vurder eksponentialfaktoren
\(e^{-x}>0\) for alle reelle \(x\).
Steg 4 - Finn nullpunktet
\(1-x=0\) gir \(x=1\).
Steg 5 - Bestem fortegn
For \(x<1\) er \(1-x>0\); for \(x>1\) er \(1-x<0\).
Steg 6 - Tegn konklusjonen
Fortegnslinjen er \(+\mid 0\mid-\) med skille ved \(x=1\).
Fortegnslinje for den deriverte.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Factor[Derivative[x*exp(-x),x]]
\(e^{-x}(1-x)\)
2
Solve[exp(-x)*(1-x)=0,x]
\(x=1\)
Tolkning: Siden eksponentialfaktoren alltid er positiv, bestemmes fortegnet av 1-x.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x*sp.exp(-x)
fp = sp.factor(sp.diff(f, x))
print("f(x) =", f)
print("f'(x) =", fp)
print("Nullpunkt for f' =", sp.solve(sp.Eq(fp, 0), x))
for test in [-1, 1, 2]:
print(f"f'({test}) =", sp.simplify(fp.subs(x, test)))
print("Fortegn: positiv for x < 1, null ved x = 1, negativ for x > 1")
Utskrift fra Python:
f(x) = x*exp(-x)
f'(x) = -(x - 1)*exp(-x)
Nullpunkt for f' = [1]
f'(-1) = 2*E
f'(1) = 0
f'(2) = -exp(-2)
Fortegn: positiv for x < 1, null ved x = 1, negativ for x > 1
Fasit: \(f\'(x)>0\) for \(x<1\), \(f\'(1)=0\), og \(f\'(x)<0\) for \(x>1\).
Vanlig feil: Å tro at \(e^{-x}\) kan være negativ.
Sensorpunkt: Fortegnslinjen skal begrunnes med faktorene i den deriverte.
Del 1 - Oppgave 3aFaktorteoremet
Oppgave 3a
Oppgave: \(f(x)=x^3-2x^2-kx+6\). Bestem \(k\) slik at divisjonen \(f(x):(x-1)\) går opp.
Vis løsning
Hva spør oppgaven om? Vi skal bruke faktorteoremet: x-1 er faktor akkurat når f(1)=0.
Steg 1 - Bruk faktorteoremet
Kravet er \(f(1)=0\).
Steg 2 - Sett inn x=1
\(f(1)=1-2-k+6\).
Steg 3 - Forenkle
\(f(1)=5-k\).
Steg 4 - Sett lik null
\(5-k=0\).
Steg 5 - Løs
\[k=5.\]
Steg 6 - Kontroller
Med \(k=5\) er \(f(1)=1-2-5+6=0\).
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Solve[1^3-2*1^2-k*1+6=0,k]
\(k=5\)
Tolkning: CAS bruker samme restsetning.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x, k = sp.symbols("x k")
f = x**3 - 2*x**2 - k*x + 6
rest = sp.expand(f.subs(x, 1))
print("f(x) =", f)
print("Rest ved divisjon med x - 1 er f(1) =", rest)
solution = sp.solve(sp.Eq(rest, 0), k)
print("Løsning for k =", solution)
print("Kontroll f(1) når k=5 =", f.subs({x:1, k:5}))
Utskrift fra Python:
f(x) = -k*x + x**3 - 2*x**2 + 6
Rest ved divisjon med x - 1 er f(1) = 5 - k
Løsning for k = [5]
Kontroll f(1) når k=5 = 0
Fasit: \(k=5\).
Vanlig feil: Å utføre lang divisjon før man bruker faktorteoremet.
Sensorpunkt: Sensor ser etter kravet f(1)=0 og korrekt løsning for k.
Del 1 - Oppgave 3bFaktorisering
Oppgave 3b
Oppgave: Bruk \(k=5\) og faktoriser \(f(x)=x^3-2x^2-5x+6\) i lineære faktorer.
Vis løsning
Hva spør oppgaven om? Vi kjenner allerede faktoren x-1 og skal finne de to resterende faktorene.
Steg 1 - Ta ut kjent faktor
\(f(x)=(x-1)q(x)\).
Steg 2 - Utfør polynomdivisjon
Kvotienten blir \(q(x)=x^2-x-6\).
Steg 3 - Faktoriser andregradsuttrykket
Vi trenger to tall med produkt -6 og sum -1: -3 og 2.
Steg 4 - Skriv kvotienten
\(x^2-x-6=(x-3)(x+2)\).
Steg 5 - Sett sammen
\[f(x)=(x-1)(x-3)(x+2).\]
Steg 6 - Kontroller
Utvidelse gir tilbake \(x^3-2x^2-5x+6\).
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Factor[x^3-2x^2-5x+6]
\((x-3)(x-1)(x+2)\)
Tolkning: CAS bekrefter de tre lineære faktorene.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
f = x**3 - 2*x**2 - 5*x + 6
q, r = sp.div(f, x - 1)
print("f(x) =", f)
print("Kvotient ved divisjon med x - 1 =", q)
print("Rest =", r)
print("Faktorisert kvotient =", sp.factor(q))
print("Full faktorisering =", sp.factor(f))
print("Utvidet kontroll =", sp.expand((x-1)*(x-3)*(x+2)))
Utskrift fra Python:
f(x) = x**3 - 2*x**2 - 5*x + 6
Kvotient ved divisjon med x - 1 = x**2 - x - 6
Rest = 0
Faktorisert kvotient = (x - 3)*(x + 2)
Full faktorisering = (x - 3)*(x - 1)*(x + 2)
Utvidet kontroll = x**3 - 2*x**2 - 5*x + 6
Fasit: \(f(x)=(x-1)(x-3)(x+2)\).
Vanlig feil: Å miste fortegnet i faktoren x+2.
Sensorpunkt: Korrekt divisjon og tre lineære faktorer.
Del 1 - Oppgave 3cUlikhet
Oppgave 3c
Oppgave: Løs ulikheten \[f(x)\ge 0\] når \(f(x)=(x+2)(x-1)(x-3)\).
Vis løsning
Hva spør oppgaven om? Vi skal bruke nullpunktene til å lage en fortegnsanalyse.
Steg 1 - Finn nullpunktene
Nullpunktene er \(x=-2,1,3\).
Steg 2 - Del tallinjen
Intervallene blir \(( -\infty,-2),(-2,1),(1,3),(3,\infty)\).
Steg 3 - Test første intervall
For \(x<-2\) er produktet negativt.
Steg 4 - Fortsett fortegnsskiftet
Hver enkel rot skifter fortegn: positivt, negativt, positivt.
Steg 5 - Ta med nullpunktene
Fordi ulikheten er \(\ge0\), skal røttene inkluderes.
Steg 6 - Skriv løsningsmengden
\[x\in[-2,1]\cup[3,\infty).\]
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Solve[(x+2)(x-1)(x-3)>=0,x]
\([-2,1]\cup[3,\infty)\)
Tolkning: CAS gir samme intervalløsning.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = (x + 2)*(x - 1)*(x - 3)
print("f(x) =", sp.expand(f))
print("Nullpunkter =", sp.solve(sp.Eq(f, 0), x))
for test in [-3, 0, 2, 4]:
value = sp.expand(f.subs(x, test))
print(f"f({test}) = {value}")
solution = sp.solve_univariate_inequality(f >= 0, x)
print("Løsning av f(x) >= 0:", solution)
Tolkning: Logaritmereglene reduserer hele uttrykket til 3 lg a.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
a, b = sp.symbols("a b", positive=True)
expr = sp.log(a**2*b**3, 10) + sp.log(1/b**2, 10) - sp.log(b/a, 10)
print("Opprinnelig uttrykk =", expr)
combined_argument = sp.simplify((a**2*b**3)*(1/b**2)/(b/a))
print("Samlet logaritmeargument =", combined_argument)
print("lg(a^3) utvidet =", sp.expand_log(sp.log(a**3, 10), force=True))
print("Forskjell fra 3*lg(a) =", sp.simplify(expr - 3*sp.log(a, 10)))
print("Betingelser: a > 0 og b > 0")
Utskrift fra Python:
Opprinnelig uttrykk = log(b**(-2))/log(10) - log(b/a)/log(10) + log(a**2*b**3)/log(10)
Samlet logaritmeargument = a**3
lg(a^3) utvidet = 3*log(a)/log(10)
Forskjell fra 3*lg(a) = 0
Betingelser: a > 0 og b > 0
Fasit: \(3\lg a\), for \(a>0\) og \(b>0\).
Vanlig feil: Å glemme at minus foran en logaritme betyr divisjon.
Sensorpunkt: Korrekt bruk av alle tre logaritmereglene.
Hva spør oppgaven om? Vi skal faktorisere funksjonsuttrykket og undersøke hvilke røtter som ligger i definisjonsmengden.
Steg 1 - Faktoriser
\(f(x)=x^3(4-x)\).
Steg 2 - Bruk nullproduktregelen
Enten \(x^3=0\) eller \(4-x=0\).
Steg 3 - Løs første likning
\(x=0\), en trippelrot.
Steg 4 - Løs andre likning
\(x=4\).
Steg 5 - Kontroller intervallet
Begge verdiene ligger i det lukkede intervallet \([-2,4]\).
Steg 6 - Skriv punktene
Nullpunktene på grafen er \((0,0)\) og \((4,0)\).
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Factor[-x^4+4x^3]
\(x^3(4-x)\)
2
Solve[-x^4+4x^3=0,x]
\(x=0,4\)
Tolkning: CAS bekrefter begge røttene.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
print("f(x) =", f)
print("Faktorisert =", sp.factor(f))
roots = sp.solve(sp.Eq(f, 0), x)
print("Alle reelle røtter =", roots)
print("Røtter i intervallet [-2, 4] =", [r for r in roots if -2 <= r <= 4])
for r in roots:
print(f"f({r}) =", f.subs(x, r))
Sensorpunkt: Faktorisering, nullproduktregel og intervallkontroll.
Del 1 - Oppgave 5bEkstremalpunkter
Oppgave 5b
Oppgave: Bestem eventuelle topp- og bunnpunkter på grafen til \(f(x)=-x^4+4x^3\) for \(x\in[-2,4]\).
Vis løsning
Hva spør oppgaven om? Vi skal finne kritiske punkter og også kontrollere endepunktene fordi intervallet er lukket.
Steg 1 - Deriver
\(f\'(x)=-4x^3+12x^2=4x^2(3-x)\).
Steg 2 - Finn kritiske x-verdier
\(f\'(x)=0\) gir \(x=0\) og \(x=3\).
Steg 3 - Vurder fortegn
Den deriverte er positiv før 3 og negativ etter 3; x=0 gir ikke fortegnsskifte.
Steg 4 - Finn toppunktet
\(f(3)=-81+108=27\), så \((3,27)\) er toppunkt.
Steg 5 - Kontroller endepunktene
\(f(-2)=-48\) og \(f(4)=0\).
Steg 6 - Bestem bunnpunktet
Den minste verdien er -48 ved venstre endepunkt, altså \((-2,-48)\).
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Extremum[-x^4+4x^3,-2,4]
Maks: \((3,27)\), min: \((-2,-48)\)
Tolkning: CAS og endepunktkontroll gir samme globale ekstremalpunkter.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
fp = sp.factor(sp.diff(f, x))
critical = sp.solve(sp.Eq(fp, 0), x)
candidates = [-2] + critical + [4]
print("f'(x) =", fp)
print("Kritiske x-verdier =", critical)
print("Kandidater i lukket intervall =", candidates)
values = [(c, sp.simplify(f.subs(x, c))) for c in candidates]
for c, value in values:
print(f"f({c}) = {value}")
print("Minste verdi =", min(values, key=lambda item: float(item[1])))
print("Største verdi =", max(values, key=lambda item: float(item[1])))
Utskrift fra Python:
f'(x) = -4*x**2*(x - 3)
Kritiske x-verdier = [0, 3]
Kandidater i lukket intervall = [-2, 0, 3, 4]
f(-2) = -48
f(0) = 0
f(3) = 27
f(4) = 0
Minste verdi = (-2, -48)
Største verdi = (3, 27)
Fasit: Bunnpunkt \((-2,-48)\) og toppunkt \((3,27)\). Punktet \((0,0)\) er stasjonært, men ikke et ekstremalpunkt.
Vanlig feil: Å glemme endepunktene i et lukket intervall.
Sensorpunkt: Kritiske punkter, fortegn og endepunktverdier må vurderes.
Del 1 - Oppgave 5cVendepunkter
Oppgave 5c
Oppgave: Bestem eventuelle vendepunkter på grafen til \(f(x)=-x^4+4x^3\).
Vis løsning
Hva spør oppgaven om? Vi skal finne nullpunktene til den andrederiverte og kontrollere at krumningen skifter.
Steg 1 - Finn andrederivert
\(f''(x)=-12x^2+24x=-12x(x-2)\).
Steg 2 - Finn kandidater
\(f''(x)=0\) gir \(x=0\) og \(x=2\).
Steg 3 - Kontroller rundt x=0
Andrederivert skifter fra negativ til positiv.
Steg 4 - Kontroller rundt x=2
Andrederivert skifter fra positiv til negativ.
Steg 5 - Finn y-verdiene
\(f(0)=0\) og \(f(2)=16\).
Steg 6 - Skriv vendepunktene
\[(0,0)\quad\text{og}\quad(2,16).\]
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Solve[Derivative[-x^4+4x^3,x,2]=0,x]
\(x=0,2\)
Tolkning: CAS finner kandidatene; fortegnsskifte bekrefter at begge er vendepunkter.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
fpp = sp.factor(sp.diff(f, x, 2))
candidates = sp.solve(sp.Eq(fpp, 0), x)
print("f''(x) =", fpp)
print("Kandidater =", candidates)
for test in [-1, 1, 3]:
print(f"f''({test}) =", fpp.subs(x, test))
for c in candidates:
print(f"Vendepunktkandidat ved x={c}: y =", f.subs(x, c))
print("Krumningen skifter ved begge kandidatene")
Utskrift fra Python:
f''(x) = -12*x*(x - 2)
Kandidater = [0, 2]
f''(-1) = -36
f''(1) = 12
f''(3) = -36
Vendepunktkandidat ved x=0: y = 0
Vendepunktkandidat ved x=2: y = 16
Krumningen skifter ved begge kandidatene
Fasit: Vendepunktene er \((0,0)\) og \((2,16)\).
Vanlig feil: Å kalle alle nullpunkter til f'' vendepunkter uten å kontrollere fortegnsskifte.
Sensorpunkt: Kandidatene og krumningsskiftet må dokumenteres.
Del 1 - Oppgave 5dGrafskisse
Oppgave 5d
Oppgave: Lag en skisse av grafen til \(f(x)=-x^4+4x^3\) på \([-2,4]\).
Vis løsning
Hva spør oppgaven om? Vi skal bruke nullpunkter, ekstremalpunkter, vendepunkter og endepunkter til å lage en presis skisse.
Steg 1 - Marker endepunktene
Grafen starter i \((-2,-48)\) og ender i \((4,0)\).
Steg 2 - Marker nullpunktene
Grafen treffer x-aksen i \((0,0)\) og \((4,0)\).
Steg 3 - Marker toppunktet
Grafen har topp i \((3,27)\).
Steg 4 - Marker vendepunktene
Krumningen skifter i \((0,0)\) og \((2,16)\).
Steg 5 - Bruk monotonien
Grafen stiger fram til x=3 og synker deretter.
Steg 6 - Tegn sammenhengende
Ved x=0 passerer grafen flatt gjennom aksen fordi roten har oddetallsmultiplikitet 3.
Kontrollert grafskisse for oppgave 5.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Function[-x^4+4x^3,-2,4]
Graf på det lukkede intervallet
Tolkning: Grafen skal vise alle nøkkelpunktene og riktig form.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = -x**4 + 4*x**3
key_x = [-2, 0, 2, 3, 4]
print("Nøkkelpunkter for grafskissen:")
for value in key_x:
print(f"x = {value:>2}, f(x) = {sp.expand(f.subs(x, value))}")
print("f'(x) =", sp.factor(sp.diff(f, x)))
print("f''(x) =", sp.factor(sp.diff(f, x, 2)))
print("Stiger for x < 3, synker for x > 3 innen intervallet")
Utskrift fra Python:
Nøkkelpunkter for grafskissen:
x = -2, f(x) = -48
x = 0, f(x) = 0
x = 2, f(x) = 16
x = 3, f(x) = 27
x = 4, f(x) = 0
f'(x) = -4*x**2*(x - 3)
f''(x) = -12*x*(x - 2)
Stiger for x < 3, synker for x > 3 innen intervallet
Fasit: Grafen går gjennom \((-2,-48),(0,0),(2,16),(3,27),(4,0)\) med riktig monotoni og krumning.
Vanlig feil: Å tegne x=0 som et topp- eller bunnpunkt.
Sensorpunkt: Skissen må stemme med alle tidligere beregnede egenskaper.
Del 1 - Oppgave 6Sirkelgeometri
Oppgave 6
Oppgave: I en sirkel er \(BD\) diameter, \(\angle BDC=50^{\circ}\), \(\angle BAC=u\) og \(\angle CBD=v\). Bestem \(u\) og \(v\).
Vis løsning
Hva spør oppgaven om? Vi skal bruke periferivinkler som spenner over samme bue og Tales setning for diameteren.
Steg 1 - Sammenlign u og 50 grader
Vinklene \(\angle BAC\) og \(\angle BDC\) spenner begge over buen \(BC\).
Steg 2 - Bruk periferivinkelsetningen
Periferivinkler over samme bue er like, derfor \(u=50^{\circ}\).
Steg 3 - Bruk diameteren
Fordi \(BD\) er diameter, er \(\angle BCD=90^{\circ}\).
Geometrisk oppsett med diameter og periferivinkler.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Angle[B,D,C]
\(50^{\circ}\)
2
Angle[B,A,C]
\(50^{\circ}\)
3
Angle[C,B,D]
\(40^{\circ}\)
Tolkning: GeoGebra-målingene stemmer med det geometriske resonnementet.
Python-kontroll med SymPy
Python 3 - SymPy
given_angle = 50
right_angle = 90
u = given_angle
v = 180 - right_angle - given_angle
print("Gitt vinkel BDC =", given_angle, "grader")
print("BAC og BDC spenner over samme bue BC")
print("u =", u, "grader")
print("BCD = 90 grader fordi BD er diameter")
print("v = 180 - 90 - 50 =", v, "grader")
print("Kontroll i trekant BCD:", given_angle + right_angle + v, "grader")
Utskrift fra Python:
Gitt vinkel BDC = 50 grader
BAC og BDC spenner over samme bue BC
u = 50 grader
BCD = 90 grader fordi BD er diameter
v = 180 - 90 - 50 = 40 grader
Kontroll i trekant BCD: 180 grader
Fasit: \(u=50^{\circ}\) og \(v=40^{\circ}\).
Vanlig feil: Å bruke vinkelsummen i feil trekant.
Sensorpunkt: Samme-bue-argumentet og Tales setning skal komme tydelig fram.
Del 1 - Oppgave 7aTotal sannsynlighet
Oppgave 7a
Oppgave: 60 % av elevene er jenter. 70 % av jentene og 55 % av guttene har blå øyne. Bestem sannsynligheten for at en tilfeldig elev har blå øyne.
Vis løsning
Hva spør oppgaven om? Vi skal summere sannsynligheten langs de to mulige veiene: jente med blå øyne eller gutt med blå øyne.
Tolkning: Den betingede sannsynligheten blir en halv.
Python-kontroll med SymPy
Python 3 - SymPy
p_boy = 0.40
p_not_blue_given_boy = 0.45
p_girl = 0.60
p_not_blue_given_girl = 0.30
p_boy_not_blue = p_boy*p_not_blue_given_boy
p_girl_not_blue = p_girl*p_not_blue_given_girl
p_not_blue = p_boy_not_blue + p_girl_not_blue
conditional = p_boy_not_blue/p_not_blue
print("P(gutt og ikke blå) =", p_boy_not_blue)
print("P(jente og ikke blå) =", p_girl_not_blue)
print("P(ikke blå) =", p_not_blue)
print("P(gutt | ikke blå) =", conditional)
print("Svar i prosent =", f"{100*conditional:.1f} %")
Utskrift fra Python:
P(gutt og ikke blå) = 0.18000000000000002
P(jente og ikke blå) = 0.18
P(ikke blå) = 0.36
P(gutt | ikke blå) = 0.5000000000000001
Svar i prosent = 50.0 %
Vanlig feil: Å bruke P(gutt og ikke blå) som sluttresultat uten å dele på P(ikke blå).
Sensorpunkt: Betingelsen må stå i nevneren.
Del 1 - Oppgave 8aKonstruksjon
Oppgave 8a
Oppgave: Konstruer en trekant \(ABC\) slik at \(AB=10.0\,\mathrm{cm}\), \(BC=7.0\,\mathrm{cm}\) og \(AC=11.0\,\mathrm{cm}\).
Vis løsning
Hva spør oppgaven om? Vi skal utføre en SSS-konstruksjon med to sirkler.
Steg 1 - Tegn grunnlinjen
Tegn \(AB=10.0\) cm.
Steg 2 - Tegn sirkel fra A
Tegn en sirkel med sentrum A og radius 11.0 cm.
Steg 3 - Tegn sirkel fra B
Tegn en sirkel med sentrum B og radius 7.0 cm.
Steg 4 - Finn C
Et skjæringspunkt mellom sirklene velges som C.
Steg 5 - Tegn sidene
Trekk linjestykkene AC og BC.
Steg 6 - Kontroller
Passeravstandene gir nøyaktig de tre oppgitte sidelengdene.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
A=(0,0); B=(10,0)
Grunnlinje
2
Circle[A,11]; Circle[B,7]
Skjæringspunkt \(C\)
Tolkning: Konstruksjonen er entydig opp til speiling i AB.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
AB = sp.Integer(10)
AC = sp.Integer(11)
BC = sp.Integer(7)
xC = sp.simplify((AC**2 + AB**2 - BC**2)/(2*AB))
yC = sp.sqrt(AC**2 - xC**2)
print("Velg A = (0, 0) og B = (10, 0)")
print("x-koordinat til C =", xC)
print("y-koordinat til C =", yC)
print("C tilnærmet =", (float(xC), float(yC)))
print("Kontroll AC =", sp.sqrt(xC**2 + yC**2))
print("Kontroll BC =", sp.sqrt((xC-AB)**2 + yC**2))
Utskrift fra Python:
Velg A = (0, 0) og B = (10, 0)
x-koordinat til C = 43/5
y-koordinat til C = 14*sqrt(6)/5
C tilnærmet = (8.6, 6.858571279792899)
Kontroll AC = 11
Kontroll BC = 7
Fasit: En korrekt SSS-konstruksjon med sirkelradier 11.0 cm og 7.0 cm.
Vanlig feil: Å bytte om radiusene fra A og B.
Sensorpunkt: Passerbuene og alle tre sidelengdene skal være synlige.
Del 1 - Oppgave 8bVinkelhalveringslinjer
Oppgave 8b
Oppgave: Demonstrer at halveringslinjene til de tre vinklene i \(\triangle ABC\) skjærer hverandre i ett punkt.
Vis løsning
Hva spør oppgaven om? Vi skal konstruere hver vinkelhalveringslinje og observere det felles skjæringspunktet.
Steg 1 - Halver vinkel A
Slå en bue fra A, og bruk like buer fra skjæringspunktene til å finne halveringslinjen.
Steg 2 - Halver vinkel B
Gjenta samme konstruksjon i B.
Steg 3 - Finn skjæringspunktet
Halveringslinjene fra A og B skjærer hverandre i S.
Steg 4 - Halver vinkel C
Konstruer også halveringslinjen i C.
Steg 5 - Observer konkurrens
Den tredje halveringslinjen går gjennom det samme punktet S.
Steg 6 - Tolk resultatet
Punktet S er trekantens innsentrum.
Trekanten med vinkelhalveringslinjer og innskrevet sirkel.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
AngleBisector[A,B,C]
Halveringslinje i B
2
Intersect[bisectorA,bisectorB]
\(S\)
3
IsOnPath[S,bisectorC]
true
Tolkning: Den tredje halveringslinjen går gjennom skjæringspunktet til de to første.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
sqrt6 = sp.sqrt(6)
A = sp.Point(0, 0)
B = sp.Point(10, 0)
C = sp.Point(sp.Rational(43,5), sp.Rational(14,5)*sqrt6)
a, b, c = sp.Integer(7), sp.Integer(11), sp.Integer(10)
S = sp.Point((a*A.x+b*B.x+c*C.x)/(a+b+c),
(a*A.y+b*B.y+c*C.y)/(a+b+c))
print("A =", A)
print("B =", B)
print("C =", C)
print("Innsentrum fra sidevektet formel =", S)
print("S tilnærmet =", (float(S.x), float(S.y)))
print("Alle tre vinkelhalveringslinjene møtes i dette punktet")
Utskrift fra Python:
A = Point2D(0, 0)
B = Point2D(10, 0)
C = Point2D(43/5, 14*sqrt(6)/5)
Innsentrum fra sidevektet formel = Point2D(7, sqrt(6))
S tilnærmet = (7.0, 2.449489742783178)
Alle tre vinkelhalveringslinjene møtes i dette punktet
Fasit: Halveringslinjene er samtidige i ett punkt \(S\), innsentrum.
Vanlig feil: Å bare tegne to halveringslinjer uten å demonstrere at den tredje går gjennom S.
Sensorpunkt: Konstruksjonsspor og felles skjæringspunkt skal vises.
Del 1 - Oppgave 8cNormaler og avstand
Oppgave 8c
Oppgave: Konstruer normalene fra \(S\) ned på sidekantene. Kall fotpunktene \(D,E,F\).
Vis løsning
Hva spør oppgaven om? Vi skal konstruere vinkelrette linjer fra innsentrum til hver av trekantsidene.
Steg 1 - Velg siden AB
Konstruer en linje gjennom S vinkelrett på AB; skjæringspunktet er D.
Steg 2 - Velg siden BC
Konstruer en linje gjennom S vinkelrett på BC; skjæringspunktet er E.
Steg 3 - Velg siden CA
Konstruer en linje gjennom S vinkelrett på CA; skjæringspunktet er F.
Steg 4 - Marker rettvinklene
\(SD\perp AB\), \(SE\perp BC\), \(SF\perp CA\).
Steg 5 - Kontroller plasseringen
Alle fotpunktene ligger på de respektive sidekantene.
Steg 6 - Tolk lengdene
Lengdene SD, SE og SF er avstandene fra S til sidene.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
PerpendicularLine[S,AB]
Skjærer AB i D
2
PerpendicularLine[S,BC]
Skjærer BC i E
3
PerpendicularLine[S,CA]
Skjærer CA i F
Tolkning: GeoGebra konstruerer de tre normalene og fotpunktene.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
A = sp.Point(0, 0)
B = sp.Point(10, 0)
C = sp.Point(sp.Rational(43,5), sp.Rational(14,5)*sp.sqrt(6))
S = sp.Point(7, sp.sqrt(6))
lines = [sp.Line(A,B), sp.Line(B,C), sp.Line(C,A)]
names = ["AB", "BC", "CA"]
for name, line in zip(names, lines):
foot = line.projection(S)
distance = sp.simplify(S.distance(foot))
print(f"Fotpunkt på {name} = {foot}")
print(f"Avstand fra S til {name} = {distance}")
Utskrift fra Python:
Fotpunkt på AB = Point2D(7, 0)
Avstand fra S til AB = sqrt(6)
Fotpunkt på BC = Point2D(47/5, 6*sqrt(6)/5)
Avstand fra S til BC = sqrt(6)
Fotpunkt på CA = Point2D(301/55, 98*sqrt(6)/55)
Avstand fra S til CA = sqrt(6)
Fasit: Tre vinkelrette normaler fra S med fotpunkter \(D,E,F\).
Vanlig feil: Å trekke linjer til hjørnene i stedet for vinkelrett ned på sidene.
Sensorpunkt: Rettvinkelmarkering og fotpunkter på korrekt side.
Del 1 - Oppgave 8dInnskrevet sirkel
Oppgave 8d
Oppgave: Forklar at \(SD=SE=SF\). Konstruer den innskrevne sirkelen i \(\triangle ABC\).
Vis løsning
Hva spør oppgaven om? Vi skal bruke egenskapen at et punkt på en vinkelhalveringslinje har lik avstand til vinkelens sider.
Steg 1 - Bruk vinkel A
Fordi S ligger på halveringslinjen i A, er avstanden fra S til AB lik avstanden til AC.
Steg 2 - Bruk vinkel B
Fordi S ligger på halveringslinjen i B, er avstanden til BA lik avstanden til BC.
Steg 3 - Kombiner
Dermed er \(SD=SE=SF\).
Steg 4 - Velg radius
Sett \(r=SD\).
Steg 5 - Tegn sirkelen
Tegn sirkel med sentrum S og radius r.
Steg 6 - Kontroller tangering
Sirkelen tangerer alle tre sidene i D, E og F og er derfor den innskrevne sirkelen.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Distance[S,AB]
\(r\)
2
Distance[S,BC]
\(r\)
3
Circle[S,r]
Innskrevet sirkel
Tolkning: Lik avstand til alle sidene gir tre tangeringer.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
base = sp.Integer(10)
height = sp.Rational(14,5)*sp.sqrt(6)
area = sp.simplify(base*height/2)
semiperimeter = sp.Rational(10+7+11,2)
r = sp.simplify(area/semiperimeter)
print("Areal av trekanten =", area)
print("Halvomkrets =", semiperimeter)
print("Innradius r = areal / halvomkrets =", r)
print("SD =", r)
print("SE =", r)
print("SF =", r)
print("Sirkelen med sentrum S og radius sqrt(6) tangerer alle tre sidene")
Utskrift fra Python:
Areal av trekanten = 14*sqrt(6)
Halvomkrets = 14
Innradius r = areal / halvomkrets = sqrt(6)
SD = sqrt(6)
SE = sqrt(6)
SF = sqrt(6)
Sirkelen med sentrum S og radius sqrt(6) tangerer alle tre sidene
Fasit: \(SD=SE=SF=\sqrt6\,\mathrm{cm}\) i den valgte koordinatmodellen; sirkelen med sentrum S og radius SD er innskrevet.
Vanlig feil: Å bruke avstanden fra S til et hjørne som radius.
Sensorpunkt: Forklaringen med lik avstand til sidene og korrekt sirkelradius.
Del 1 - Oppgave 9Logaritmelikning
Oppgave 9
Oppgave: Løs likningen \[\lg (x+2)^2=\lg x^4.\]
Vis løsning
Hva spør oppgaven om? Vi skal først ta hensyn til definisjonsmengden og deretter bruke at lg er én-til-én.
Steg 1 - Finn domenet
Vi må ha \((x+2)^2>0\) og \(x^4>0\), altså \(x\ne-2\) og \(x\ne0\).
Steg 2 - Fjern logaritmene
Likheten gir \((x+2)^2=x^4\).
Steg 3 - Flytt alt til én side
\(x^4-(x+2)^2=0\).
Steg 4 - Faktoriser som differanse av kvadrater
\((x^2-x-2)(x^2+x+2)=0\).
Steg 5 - Finn reelle røtter
Første faktor gir \(x=2\) eller \(x=-1\); den andre har diskriminant -7.
Steg 6 - Kontroller domenet
Begge reelle løsningene er tillatt.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Solve[lg((x+2)^2)=lg(x^4),x]
\(x=-1,2\)
Tolkning: CAS finner de to reelle løsningene.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
poly = sp.expand(x**4 - (x + 2)**2)
print("Etter at logaritmene fjernes:")
print("x^4 - (x + 2)^2 =", poly)
print("Faktorisert =", sp.factor(poly))
roots = sp.solve(sp.Eq(poly, 0), x)
print("Reelle algebraiske røtter =", roots)
valid = [r for r in roots if r != -2 and r != 0]
print("Gyldige røtter etter domenekontroll =", valid)
for r in valid:
print(f"Kontroll for x={r}: (x+2)^2 =", (r+2)**2, ", x^4 =", r**4)
Utskrift fra Python:
Etter at logaritmene fjernes:
x^4 - (x + 2)^2 = x**4 - x**2 - 4*x - 4
Faktorisert = (x - 2)*(x + 1)*(x**2 + x + 2)
Reelle algebraiske røtter = [-1, 2]
Gyldige røtter etter domenekontroll = [-1, 2]
Kontroll for x=-1: (x+2)^2 = 1 , x^4 = 1
Kontroll for x=2: (x+2)^2 = 16 , x^4 = 16
Fasit: \(x=-1\) eller \(x=2\).
Vanlig feil: Å glemme at logaritmeargumentene må være strengt positive.
Sensorpunkt: Domenekontroll, korrekt algebra og begge løsninger.
Del 2 - med hjelpemidler
Del 2 - Oppgave 1aEksponentialmodell
Oppgave 1a
Oppgave: Folketallet modelleres med \(f(t)=ce^{kt}\), der \(t\) er år etter 1960. I 1960 var folketallet 3.0 milliarder og i 2013 var det 7.1 milliarder. Bestem \(c\) og \(k\).
Vis løsning
Hva spør oppgaven om? Vi skal bruke de to datapunktene t=0 og t=53.
Steg 1 - Bruk 1960-data
\(f(0)=ce^0=c=3.0\), så \(c=3\).
Steg 2 - Bruk 2013-data
2013 er 53 år etter 1960, derfor \(7.1=3e^{53k}\).
Steg 3 - Isoler eksponentialleddet
\(e^{53k}=7.1/3\).
Steg 4 - Ta naturlig logaritme
\(53k=\ln(7.1/3)\).
Steg 5 - Løs for k
\[k=\frac{\ln(7.1/3)}{53}\approx0.0162544.\]
Steg 6 - Skriv modellen
\(f(t)=3e^{0.0162544t}\).
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Solve[{c=3,c*exp(53k)=7.1},{c,k}]
\(c=3,\ k\approx0.0162544\)
Tolkning: CAS bestemmer begge konstantene fra datapunktene.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
c, k = sp.symbols("c k", positive=True)
ratio = sp.Rational(71, 10) / 3
k_exact = sp.log(ratio)/53
print("Fra f(0)=3 får vi c = 3")
print("Forhold 7.1/3 =", ratio)
print("Eksakt k =", k_exact)
print("k tilnærmet =", sp.N(k_exact, 10))
print("Kontroll 3*exp(53*k) =", sp.N(3*sp.exp(53*k_exact), 12))
print("Modell: f(t) = 3*exp(k*t)")
Utskrift fra Python:
Fra f(0)=3 får vi c = 3
Forhold 7.1/3 = 71/30
Eksakt k = log(71/30)/53
k tilnærmet = 0.01625438671
Kontroll 3*exp(53*k) = 7.10000000000
Modell: f(t) = 3*exp(k*t)
Fasit: \(c=3\) og \(k=\dfrac{\ln(7.1/3)}{53}\approx0.0162544\).
Vanlig feil: Å bruke 2013 som t i stedet for t=53.
Sensorpunkt: Riktig tidsforskyvning og løsning av eksponentiallikningen.
Del 2 - Oppgave 1bEksponentiallikning
Oppgave 1b
Oppgave: Når vil folketallet passere 10 milliarder ifølge modellen?
Vis løsning
Hva spør oppgaven om? Vi skal løse f(t)=10 og deretter legge t til 1960.
import sympy as sp
k = sp.log(sp.Rational(71,30))/53
t = sp.log(sp.Rational(10,3))/k
year = 1960 + t
print("k =", sp.N(k, 10))
print("Løsning av 3*exp(k*t)=10")
print("t eksakt =", sp.simplify(t))
print("t tilnærmet =", sp.N(t, 10))
print("Kalenderår =", sp.N(year, 10))
print("Modellen passerer 10 milliarder i løpet av 2034")
Utskrift fra Python:
k = 0.01625438671
Løsning av 3*exp(k*t)=10
t eksakt = log((10/3)**(53/log(71/30)))
t tilnærmet = 74.07063866
Kalenderår = 2034.070639
Modellen passerer 10 milliarder i løpet av 2034
Fasit: Folketallet passerer 10 milliarder omkring år 2034.
Vanlig feil: Å oppgi t=74 som kalenderår.
Sensorpunkt: Tidsverdien må omregnes til årstall.
Del 2 - Oppgave 1cÅrlig vekstfaktor
Oppgave 1c
Oppgave: Forklar at modellen gir en fast prosentvis vekst hvert år, og bestem prosenten.
Vis løsning
Hva spør oppgaven om? Vi skal sammenligne f(t+1) med f(t).
Vanlig feil: Å bruke vektorer med utgangspunkt i feil punkt.
Sensorpunkt: Korrekte vektorer og full skalarproduktberegning.
Del 2 - Oppgave 2bTrekantareal
Oppgave 2b
Oppgave: Bestem arealet til \(\triangle ABC\).
Vis løsning
Hva spør oppgaven om? Vi skal bruke determinanten av to sidevektorer.
Steg 1 - Finn sidevektorene fra A
\(\overrightarrow{AB}=(8,-1)\) og \(\overrightarrow{AC}=(6,8)\).
Steg 2 - Sett opp determinanten
\(\det(AB,AC)=8\cdot8-(-1)\cdot6\).
Steg 3 - Regn ut
Determinanten er 70.
Steg 4 - Ta absoluttverdi
Arealet av parallellogrammet er 70.
Steg 5 - Halver
Trekantarealet er \(70/2\).
Steg 6 - Skriv svaret
\[A=35.\]
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Area[Polygon[A,B,C]]
\(35\)
Tolkning: GeoGebra gir samme areal.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
AB = sp.Matrix([8, -1])
AC = sp.Matrix([6, 8])
determinant = sp.Matrix.hstack(AB, AC).det()
area = sp.Abs(determinant)/2
print("AB =", tuple(AB))
print("AC =", tuple(AC))
print("Determinant =", determinant)
print("Absolutt determinant =", abs(determinant))
print("Trekantareal = |det|/2 =", area)
Utskrift fra Python:
AB = (8, -1)
AC = (6, 8)
Determinant = 70
Absolutt determinant = 70
Trekantareal = |det|/2 = 35
Fasit: Arealet er \(35\) kvadratenheter.
Vanlig feil: Å glemme å halvere parallellogramarealet.
Sensorpunkt: Determinantens absoluttverdi og faktor 1/2.
Del 2 - Oppgave 2cOrtogonalitet
Oppgave 2c
Oppgave: Bestem punktet \(E\) på x-aksen slik at \(\overrightarrow{CE}\perp\overrightarrow{AB}\).
Vis løsning
Hva spør oppgaven om? Vi skal la E=(e,0) og kreve at skalarproduktet blir null.
Steg 1 - Parameteriser E
La \(E=(e,0)\).
Steg 2 - Finn CE
\(\overrightarrow{CE}=(e-5,-8)\).
Steg 3 - Finn AB
\(\overrightarrow{AB}=(8,-1)\).
Steg 4 - Sett skalarprodukt lik null
\(8(e-5)+(-1)(-8)=0\).
Steg 5 - Løs
\(8e-32=0\), altså \(e=4\).
Steg 6 - Skriv punktet
\[E=(4,0).\]
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Solve[Dot[(e-5,-8),(8,-1)]=0,e]
\(e=4\)
Tolkning: Skalarproduktet blir null for E=(4,0).
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
e = sp.symbols("e", real=True)
CE = sp.Matrix([e - 5, -8])
AB = sp.Matrix([8, -1])
dot = sp.expand(CE.dot(AB))
solution = sp.solve(sp.Eq(dot, 0), e)
print("E = (e, 0)")
print("CE =", tuple(CE))
print("AB =", tuple(AB))
print("CE dot AB =", dot)
print("Løsning e =", solution)
print("Kontroll for e=4:", dot.subs(e, 4))
print("E = (4, 0)")
Utskrift fra Python:
E = (e, 0)
CE = (e - 5, -8)
AB = (8, -1)
CE dot AB = 8*e - 32
Løsning e = [4]
Kontroll for e=4: 0
E = (4, 0)
Fasit: \(E=(4,0)\).
Vanlig feil: Å bruke CE og BA uten å være konsekvent i skalarproduktet.
Sensorpunkt: Parameterisering av E og null skalarprodukt.
Del 2 - Oppgave 3aArealfunksjon
Oppgave 3a
Oppgave: \(f(x)=4-0.125x^3\), og rektangelet har bredde x og høyde f(x). Vis at \[G(x)=4x-0.125x^4.\]
Vis løsning
Hva spør oppgaven om? Vi skal multiplisere rektangelets bredde og høyde.
Steg 1 - Les av bredden
\(OA=x\).
Steg 2 - Les av høyden
\(OC=AB=f(x)=4-0.125x^3\).
Steg 3 - Bruk arealformelen
\(G(x)=x\cdot f(x)\).
Steg 4 - Sett inn f
\(G(x)=x(4-0.125x^3)\).
Steg 5 - Multipliser inn
\[G(x)=4x-0.125x^4.\]
Steg 6 - Kontroller domenet
Formelen gjelder for \(0<x<2\sqrt[3]{4}\).
Rektangelet under grafen til f.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Expand[x*(4-0.125x^3)]
\(4x-0.125x^4\)
Tolkning: CAS bekrefter utvidelsen.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
f = 4 - sp.Rational(1,8)*x**3
G = sp.expand(x*f)
print("Bredde = x")
print("Høyde f(x) =", f)
print("Areal G(x) = x*f(x)")
print("G(x) utvidet =", G)
print("Kontroll G - (4*x - x^4/8) =", sp.simplify(G-(4*x-x**4/8)))
Utskrift fra Python:
Bredde = x
Høyde f(x) = 4 - x**3/8
Areal G(x) = x*f(x)
G(x) utvidet = -x**4/8 + 4*x
Kontroll G - (4*x - x^4/8) = 0
Fasit: \(G(x)=4x-0.125x^4\).
Vanlig feil: Å bruke x+f(x) i stedet for x·f(x).
Sensorpunkt: Bredde ganger høyde og korrekt utvidelse.
Del 2 - Oppgave 3bNumerisk likning
Oppgave 3b
Oppgave: Bestem \(x\) slik at rektangelet får areal 5.0.
Vis løsning
Hva spør oppgaven om? Vi skal løse den fjerdegradslikningen G(x)=5 innenfor det oppgitte domenet.
Steg 1 - Sett opp likningen
\(4x-0.125x^4=5\).
Steg 2 - Fjern desimalen
Multipliser med 8: \(32x-x^4=40\).
Steg 3 - Skriv standardform
\(x^4-32x+40=0\).
Steg 4 - Løs numerisk
Likningen har to reelle røtter i det tillatte intervallet.
Steg 5 - Oppgi røttene
\(x\approx1.3555\) og \(x\approx2.5296\).
Steg 6 - Kontroller
Begge verdiene gir G(x)=5.0 og ligger mellom 0 og \(2\sqrt[3]{4}\).
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Solve[4x-0.125x^4=5,x]
\(x\approx1.3555\) eller \(x\approx2.5296\)
Tolkning: Begge skjæringspunktene med linjen y=5 må tas med.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
G = 4*x - sp.Rational(1,8)*x**4
poly = sp.expand(8*(G-5))
roots = sp.nroots(poly)
upper = 2*sp.real_root(4, 3)
valid = [complex(r) for r in roots if abs(complex(r).imag) < 1e-12 and 0 < complex(r).real < float(upper)]
print("Likning G(x)=5 gir polynomet =", poly)
print("Alle numeriske røtter:")
for r in roots:
print(r)
print("Øvre domenegrense =", sp.N(upper, 10))
print("Gyldige x-verdier:")
for r in valid:
value = r.real
print(f"x = {value:.10f}, G(x) = {float(G.subs(x, value)):.10f}")
Utskrift fra Python:
Likning G(x)=5 gir polynomet = -x**4 + 32*x - 40
Alle numeriske røtter:
1.35549846550018
2.52964836561351
-1.94257341555684 - 2.80924188112031*I
-1.94257341555684 + 2.80924188112031*I
Øvre domenegrense = 3.174802104
Gyldige x-verdier:
x = 1.3554984655, G(x) = 5.0000000000
x = 2.5296483656, G(x) = 5.0000000000
Fasit: \(x\approx1.3555\) eller \(x\approx2.5296\).
Vanlig feil: Å oppgi bare én av de to positive løsningene.
Sensorpunkt: Begge røtter i domenet og numerisk kontroll.
Del 2 - Oppgave 3cOptimering
Oppgave 3c
Oppgave: Bestem det største arealet rektangelet kan ha.
Vis løsning
Hva spør oppgaven om? Vi skal maksimere arealfunksjonen ved å sette den deriverte lik null.
Steg 1 - Deriver G
\(G\'(x)=4-0.5x^3\).
Steg 2 - Sett lik null
\(4-0.5x^3=0\).
Steg 3 - Løs
\(x^3=8\), altså \(x=2\).
Steg 4 - Kontroller maksimum
\(G''(x)=-1.5x^2<0\) ved x=2.
Steg 5 - Finn arealet
\(G(2)=8-0.125\cdot16=6\).
Steg 6 - Skriv maksimum
Det største arealet er 6.0 kvadratenheter.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Extremum[4x-0.125x^4,0,2*cuberoot(4)]
Maksimum \((2,6)\)
Tolkning: CAS finner det indre maksimumspunktet.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
G = 4*x - sp.Rational(1,8)*x**4
Gp = sp.factor(sp.diff(G, x))
Gpp = sp.diff(G, x, 2)
critical = sp.solve(sp.Eq(Gp, 0), x)
print("G(x) =", G)
print("G'(x) =", Gp)
print("Kritisk positiv x-verdi =", critical)
for c in critical:
print(f"G({c}) =", sp.simplify(G.subs(x, c)))
print(f"G''({c}) =", sp.simplify(Gpp.subs(x, c)))
print("Maksimalt areal = 6")
Vanlig feil: Å glemme å dele på t-s i stigningstallet.
Sensorpunkt: Symbolsk differansefaktorisering og korrekt linjelikning.
Del 2 - Oppgave 4dTredje rot og Vieta
Oppgave 4d
Oppgave: Bestem x-koordinaten til det tredje skjæringspunktet mellom grafen til g og linjen \(\ell\). Bestem summen av de tre x-koordinatene.
Vis løsning
Hva spør oppgaven om? Vi skal faktorisere skjæringslikningen symbolsk og bruke Vieta.
Steg 1 - Sett opp skjæringslikningen
Vi løser \(g(x)-\ell(x)=0\).
Steg 2 - Bruk de kjente røttene
Fordi linjen går gjennom punktene ved x=s og x=t, er x-s og x-t faktorer.
Steg 3 - Faktoriser resten
CAS gir \[(x-s)(x-t)(x+a+s+t)=0.\]
Steg 4 - Finn tredje rot
\(x+a+s+t=0\), altså \(x_3=-a-s-t\).
Steg 5 - Summer røttene
\(s+t+(-a-s-t)=-a\).
Steg 6 - Knytt til Vieta
For en monisk kubikk med x²-koeffisient a er rotsummen -a.
GeoGebra/CAS-kontroll
GeoGebra - CAS
1
Factor[g(x)-l(x)]
\((x-s)(x-t)(x+a+s+t)\)
Tolkning: Den tredje roten og rotsummen følger direkte av faktoriseringen.
Python-kontroll med SymPy
Python 3 - SymPy
import sympy as sp
x, s, t, a, b, c = sp.symbols("x s t a b c")
g = x**3 + a*x**2 + b*x + c
m = s**2+s*t+t**2+a*(s+t)+b
line = m*x + c - s*t*(a+s+t)
difference = sp.factor(g-line)
third_root = -a-s-t
print("g(x) - l(x) faktorisert =", difference)
print("Kjente røtter: x = s og x = t")
print("Tredje rot =", third_root)
print("Sum av røttene =", sp.simplify(s+t+third_root))
print("Kontroll ved innsetting av tredje rot =", sp.simplify(difference.subs(x, third_root)))
Utskrift fra Python:
g(x) - l(x) faktorisert = (-s + x)*(-t + x)*(a + s + t + x)
Kjente røtter: x = s og x = t
Tredje rot = -a - s - t
Sum av røttene = -a
Kontroll ved innsetting av tredje rot = 0
Fasit: Det tredje skjæringspunktet har x-koordinat \(-a-s-t\), og summen av de tre x-koordinatene er \(-a\).
Vanlig feil: Å tro at tredje rot er a-s-t i stedet for -a-s-t.
Sensorpunkt: Faktorisering og korrekt bruk av Vieta.
Kildegrunnlag: Det offisielle eksamenssettet REA3022 Matematikk R1, høsten 2015. Løsningene, forklaringene, figurene og kontrollene er utarbeidet originalt for ifingo.
ifingo-lærerenHjelper deg å forstå
ifingo-læreren hjelper deg å forstå – ikke å gjøre leksene for deg 💜