S1 eksamenHøst 2019

Matematikk S1 eksamen – høst 2019

ifingo
Norsk (Bokmål)
ifingo · Matematikk S1 · REA3026

Eksamen høst 2019 - komplett løsningsforslag

Originalt og gjennomarbeidet løsningsforslag på bokmål. Filen bruker MathJax for matematikk, nøytral Python-visning og ryddige GeoGebra CAS-kontroller.

Kilde: EVH-2019REA3026____F02S.pdfDel 1 + Del 230 deloppgaver

Del 1

Del 1 · Oppgave 1aLikninger

Andregradslikning

Oppgave:

Løs likningen \(x^2+4x-12=0\).

Vis løsning
Løsning:

Vi faktoriserer andregradsuttrykket. Vi trenger to tall som har produkt \(-12\) og sum \(4\). Tallene er \(6\) og \(-2\).

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

Nullproduktregelen gir

\[ (x+6)(x-2)=0 \quad \Longrightarrow \quad x=-6 \;\text{eller}\; x=2. \]

Python-kontroll

from sympy import symbols, factor, solve
x = symbols('x')
uttrykk = x**2 + 4*x - 12
print("Faktorisert uttrykk:", factor(uttrykk))
print("Løsninger:", solve(uttrykk, x))

# Utskrift:
# Faktorisert uttrykk: (x - 2)*(x + 6)
# Løsninger: [-6, 2]
GeoGebra CAS-kontroll
1Factor[x^2 + 4x - 12](x - 2)(x + 6)
2Solve[x^2 + 4x - 12 = 0]x = -6 eller x = 2
Fasit: \(x=-6\) eller \(x=2\).
Del 1 · Oppgave 1bLogaritmer

Logaritmelikning

Oppgave:

Løs likningen \(\lg(5-2x)=1\).

Vis løsning
Løsning:

Definisjonsmengden krever \(5-2x>0\), altså \(x<2{,}5\). Siden \(\lg A=1\) betyr \(A=10\), får vi

\[ 5-2x=10 \] \[ -2x=5 \quad \Longrightarrow \quad x=-\frac{5}{2}=-2{,}5. \]

Verdien ligger i definisjonsmengden.

Python-kontroll

from sympy import symbols, solve, log
x = symbols('x')
# lg(5 - 2x) = 1 betyr 5 - 2x = 10
likning = 5 - 2*x - 10
losning = solve(likning, x)
print("Løsning:", losning)
print("Kontroll av argumentet 5 - 2x:", [5 - 2*v for v in losning])

# Utskrift:
# Løsning: [-5/2]
# Kontroll av argumentet 5 - 2x: [10]
GeoGebra CAS-kontroll
1Solve[log10(5 - 2x) = 1]x = -2.5
25 - 2*(-2.5)10
Fasit: \(x=-2{,}5\).
Del 1 · Oppgave 2Ulikheter

Ulikhet

Oppgave:

Løs ulikheten \(x^2-2x<0\).

Vis løsning
Løsning:

Vi faktoriserer:

\[ x^2-2x=x(x-2) \]

Produktet er negativt når faktorene har ulikt fortegn. Nullpunktene er \(0\) og \(2\). Mellom nullpunktene er \(x>0\) og \(x-2<0\), så produktet er negativt.

\[ 0

Python-kontroll

from sympy import symbols, solve_univariate_inequality
x = symbols('x')
ulikhet = x**2 - 2*x < 0
print(solve_univariate_inequality(ulikhet, x))

# Utskrift:
# (0 < x) & (x < 2)
GeoGebra CAS-kontroll
1Solve[x^2 - 2x < 0]0 < x < 2
Fasit: \(x\in(0,2)\).
Del 1 · Oppgave 3Systemer

Likningssystem

Oppgave:

Løs likningssystemet \(x^2+4y=4x\) og \(4x-2y=6\).

Vis løsning
Løsning:

Fra den lineære likningen får vi

\[ 4x-2y=6 \quad \Longrightarrow \quad y=2x-3. \]

Dette settes inn i den første likningen:

\[ x^2+4(2x-3)=4x \] \[ x^2+8x-12=4x \quad \Longrightarrow \quad x^2+4x-12=0 \] \[ (x+6)(x-2)=0 \]

Dermed er \(x=-6\) eller \(x=2\). Vi finner \(y\):

\[ y=2(-6)-3=-15, \qquad y=2\cdot 2-3=1. \]

Python-kontroll

from sympy import symbols, solve, Eq
x, y = symbols('x y')
likninger = [Eq(x**2 + 4*y, 4*x), Eq(4*x - 2*y, 6)]
losninger = solve(likninger, [x, y])
print("Løsninger:", losninger)
for sol in losninger:
    print("Kontroll:", sol, "->", [eq.subs({x: sol[0], y: sol[1]}) for eq in likninger])

# Utskrift:
# Løsninger: [(-6, -15), (2, 1)]
# Kontroll: (-6, -15) -> [True, True]
# Kontroll: (2, 1) -> [True, True]
GeoGebra CAS-kontroll
1Solve[{x^2 + 4y = 4x, 4x - 2y = 6}]{(-6, -15), (2, 1)}
Fasit: Løsningene er \((-6,-15)\) og \((2,1)\).
Del 1 · Oppgave 4aAlgebra

Algebraisk forenkling

Oppgave:

Skriv så enkelt som mulig: \((a+2)^3-a(a+2)^2\).

Vis løsning
Løsning:

Faktoriser ut den felles faktoren \((a+2)^2\):

\[ (a+2)^3-a(a+2)^2=(a+2)^2\big((a+2)-a\big) \] \[ =(a+2)^2\cdot 2=2(a+2)^2. \]

Python-kontroll

from sympy import symbols, factor, expand
A = symbols('a')
uttrykk = (A + 2)**3 - A*(A + 2)**2
print("Faktorisert:", factor(uttrykk))
print("Utvidet kontroll:", expand(factor(uttrykk)))

# Utskrift:
# Faktorisert: 2*(a + 2)**2
# Utvidet kontroll: 2*a**2 + 8*a + 8
GeoGebra CAS-kontroll
1Factor[(a+2)^3 - a(a+2)^2]2(a + 2)^2
Fasit: \(2(a+2)^2\).
Del 1 · Oppgave 4bBrøkuttrykk

Rasjonalt uttrykk

Oppgave:

Skriv så enkelt som mulig: \(\frac{x+1}{x+2}-\frac{x+1}{x-1}-\frac{x+5}{x^2+x-2}\).

Vis løsning
Løsning:

Først faktoriserer vi nevneren i siste brøk:

\[ x^2+x-2=(x+2)(x-1) \]

Fellesnevner er \((x+2)(x-1)\). Da får vi

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

Telleren blir

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

Dermed

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

Uttrykket er definert når \(x\ne -2\) og \(x\ne1\).

Python-kontroll

from sympy import symbols, simplify, factor
x = symbols('x')
uttrykk = (x + 1)/(x + 2) - (x + 1)/(x - 1) - (x + 5)/(x**2 + x - 2)
print("Faktorisert nevner:", factor(x**2 + x - 2))
print("Forenklet uttrykk:", simplify(uttrykk))

# Utskrift:
# Faktorisert nevner: (x - 1)*(x + 2)
# Forenklet uttrykk: -4/(x - 1)
GeoGebra CAS-kontroll
1Factor[x^2 + x - 2](x - 1)(x + 2)
2Simplify[(x+1)/(x+2)-(x+1)/(x-1)-(x+5)/(x^2+x-2)]-4/(x - 1)
Fasit: \(-\frac{4}{x-1}\), for \(x\ne -2\) og \(x\ne1\).
Del 1 · Oppgave 4cLogaritmer

Logaritmeuttrykk

Oppgave:

Skriv så enkelt som mulig: \(2\lg(2x^2)+\lg\left(\frac{5}{x}\right)-\lg(2x^3)\).

Vis løsning
Løsning:

Vi bruker logaritmereglene \(k\lg A=\lg(A^k)\), \(\lg A+\lg B=\lg(AB)\) og \(\lg A-\lg B=\lg\left(\frac{A}{B}\right)\).

\[ 2\lg(2x^2)=\lg\left((2x^2)^2\right)=\lg(4x^4) \] \[ 2\lg(2x^2)+\lg\left(\frac{5}{x}\right)-\lg(2x^3) =\lg\left(\frac{4x^4\cdot \frac{5}{x}}{2x^3}\right) \] \[ =\lg(10). \]

Siden \(\lg(10)=1\), blir uttrykket lik \(1\), for \(x>0\).

Python-kontroll

from sympy import symbols, simplify
x = symbols('x', positive=True)
argument = ((2*x**2)**2 * (5/x)) / (2*x**3)
print("Samlet logaritmeargument:", simplify(argument))
print("lg(10) =", 1)

# Utskrift:
# Samlet logaritmeargument: 10
# lg(10) = 1
GeoGebra CAS-kontroll
1Simplify[((2x^2)^2*(5/x))/(2x^3)]10
2log10(10)1
Fasit: \(1\), for \(x>0\).
Del 1 · Oppgave 5aKombinatorikk

Kombinatorikk: antall komiteer

Oppgave:

Det er 7 elever fra klasse A og 5 elever fra klasse B. Komiteen skal ha 3 fra A og 2 fra B. Hvor mange komiteer kan settes sammen?

Vis løsning
Løsning:

Valgene fra de to klassene er uavhengige valg som skal kombineres.

\[ \binom{7}{3}\cdot\binom{5}{2}=35\cdot 10=350. \]

Python-kontroll

from math import comb
antall_A = comb(7, 3)
antall_B = comb(5, 2)
totalt = antall_A * antall_B
print("Valg fra A:", antall_A)
print("Valg fra B:", antall_B)
print("Totalt antall komiteer:", totalt)

# Utskrift:
# Valg fra A: 35
# Valg fra B: 10
# Totalt antall komiteer: 350
GeoGebra CAS-kontroll
1nCr(7,3)*nCr(5,2)350
Fasit: Det finnes \(350\) mulige komiteer.
Del 1 · Oppgave 5bSannsynlighet

Sannsynlighet: både Anne og Jens

Oppgave:

Anne er i klasse A og Jens i klasse B. Bestem sannsynligheten for at begge blir med i komiteen.

Vis løsning
Løsning:

Hvis Anne må være med, velger vi de 2 andre A-elevene blant de 6 gjenværende i A. Hvis Jens må være med, velger vi den andre B-eleven blant de 4 gjenværende i B.

\[ \frac{\binom{6}{2}\binom{4}{1}}{\binom{7}{3}\binom{5}{2}} =\frac{15\cdot 4}{350}=\frac{60}{350}=\frac{6}{35}. \]

Python-kontroll

from fractions import Fraction
from math import comb
gunstige = comb(6, 2) * comb(4, 1)
mulige = comb(7, 3) * comb(5, 2)
sannsynlighet = Fraction(gunstige, mulige)
print("Gunstige:", gunstige)
print("Mulige:", mulige)
print("Sannsynlighet:", sannsynlighet, "=", float(sannsynlighet))

# Utskrift:
# Gunstige: 60
# Mulige: 350
# Sannsynlighet: 6/35 = 0.17142857142857143
GeoGebra CAS-kontroll
1nCr(6,2)*nCr(4,1)/(nCr(7,3)*nCr(5,2))6/35
Fasit: \(\frac{6}{35}\approx0{,}171\).
Del 1 · Oppgave 5cSannsynlighet

Sannsynlighet: bare én av Anne og Jens

Oppgave:

Bestem sannsynligheten for at bare én av Anne og Jens blir med i komiteen.

Vis løsning
Løsning:

Det er to disjunkte tilfeller:

  • Anne er med, Jens er ikke med.
  • Jens er med, Anne er ikke med.

Anne med, Jens ikke med:

\[ \binom{6}{2}\binom{4}{2}=15\cdot 6=90. \]

Jens med, Anne ikke med:

\[ \binom{6}{3}\binom{4}{1}=20\cdot 4=80. \]

Totalt gunstige utvalg er \(90+80=170\). Dermed

\[ P=\frac{170}{350}=\frac{17}{35}. \]

Python-kontroll

from fractions import Fraction
from math import comb
anne_med_jens_ikke = comb(6, 2) * comb(4, 2)
jens_med_anne_ikke = comb(6, 3) * comb(4, 1)
gunstige = anne_med_jens_ikke + jens_med_anne_ikke
mulige = comb(7, 3) * comb(5, 2)
print("Anne med, Jens ikke:", anne_med_jens_ikke)
print("Jens med, Anne ikke:", jens_med_anne_ikke)
print("Sannsynlighet:", Fraction(gunstige, mulige), "=", gunstige / mulige)

# Utskrift:
# Anne med, Jens ikke: 90
# Jens med, Anne ikke: 80
# Sannsynlighet: 17/35 = 0.4857142857142857
GeoGebra CAS-kontroll
1(nCr(6,2)*nCr(4,2)+nCr(6,3)*nCr(4,1))/(nCr(7,3)*nCr(5,2))17/35
Fasit: \(\frac{17}{35}\approx0{,}486\).
Del 1 · Oppgave 6Pascals trekant

Pascals talltrekant

Oppgave:

Fyll inn de fire manglende tallene i utsnittet av Pascals talltrekant.

Vis løsning
Løsning:

I Pascals talltrekant er hvert indre tall summen av de to tallene rett over. Radene starter og slutter med \(1\). De sentrale radene er

\[ 1,\;4,\;6,\;4,\;1 \] \[ 1,\;5,\;10,\;10,\;5,\;1 \]

De fire manglende tallene i et typisk utsnitt blir derfor funnet ved summering av nabotallene over. For eksempel er \(10=4+6=6+4\).

Python-kontroll

from math import comb
for n in range(4, 6):
    rad = [comb(n, k) for k in range(n + 1)]
    print(f"Rad {n}:", rad)

# Utskrift:
# Rad 4: [1, 4, 6, 4, 1]
# Rad 5: [1, 5, 10, 10, 5, 1]
GeoGebra CAS-kontroll
1Sequence[nCr(5,k), k, 0, 5]{1, 5, 10, 10, 5, 1}
Fasit: De manglende tallene er \(6\), \(10\), \(10\) og \(5\), plassert etter summeringsregelen i figuren.
Del 1 · Oppgave 7Modellering

Lineært likningssystem i kontekst

Oppgave:

700 kroner finansierer skolegang for 2 barn og barnehjemsplass for 1 barn. 1700 kroner finansierer skolegang for 4 barn og barnehjemsplass for 3 barn. Hva koster 20 skoleplasser og 20 barnehjemsplasser per måned?

Vis løsning
Løsning:

La \(s\) være pris for skolegang for ett barn i én måned, og la \(h\) være pris for barnehjemsplass for ett barn i én måned. Opplysningene gir systemet

\[ 2s+h=700 \] \[ 4s+3h=1700. \]

Fra den første likningen er \(h=700-2s\). Sett inn i den andre:

\[ 4s+3(700-2s)=1700 \] \[ 4s+2100-6s=1700 \quad \Longrightarrow \quad -2s=-400 \quad \Longrightarrow \quad s=200. \]

Da er \(h=700-2\cdot 200=300\). Klassen vil betale for 20 av hver type:

\[ 20s+20h=20\cdot 200+20\cdot 300=10\,000. \]

Python-kontroll

from sympy import symbols, Eq, solve
s, h = symbols('s h')
losning = solve([Eq(2*s + h, 700), Eq(4*s + 3*h, 1700)], [s, h])
print("Pris skolegang:", losning[s])
print("Pris barnehjemsplass:", losning[h])
print("Pris for 20 + 20:", 20*losning[s] + 20*losning[h])

# Utskrift:
# Pris skolegang: 200
# Pris barnehjemsplass: 300
# Pris for 20 + 20: 10000
GeoGebra CAS-kontroll
1Solve[{2s+h=700, 4s+3h=1700}]s=200, h=300
220s + 20h10000
Fasit: Klassen må samle inn \(10\,000\) kroner per måned.
Del 1 · Oppgave 8aDerivasjon

Grensekostnad

Oppgave:

Kostnaden er \(K(x)=0{,}2x^2+50x+2000\). Bestem \(K'(100)\) og tolk verdien.

Vis løsning
Løsning:

Vi deriverer kostnadsfunksjonen:

\[ K'(x)=0{,}4x+50. \]

For \(x=100\):

\[ K'(100)=0{,}4\cdot 100+50=90. \]

Dette er den momentane vekstfarten til kostnaden. Ved produksjon på 100 enheter per dag øker de totale kostnadene med omtrent 90 kroner når produksjonen økes med én enhet.

Python-kontroll

from sympy import symbols, diff
x = symbols('x')
K = 0.2*x**2 + 50*x + 2000
K_derivert = diff(K, x)
print("K'(x) =", K_derivert)
print("K'(100) =", K_derivert.subs(x, 100))

# Utskrift:
# K'(x) = 0.4*x + 50
# K'(100) = 90.0000000000000
GeoGebra CAS-kontroll
1Derivative[0.2x^2 + 50x + 2000]0.4x + 50
2K'(100)90
Fasit: \(K'(100)=90\). Grensekostnaden er omtrent 90 kroner per ekstra enhet.
Del 1 · Oppgave 8bOptimering

Maksimalt overskudd

Oppgave:

Overskuddet er \(O(x)=-0{,}3x^2+90x-2000\). Bestem produksjonsmengden som gir størst overskudd.

Vis løsning
Løsning:

Dette er en andregradsfunksjon med negativ koeffisient foran \(x^2\). Toppunktet gir størst overskudd. Vi kan finne det ved \(O'(x)=0\).

\[ O'(x)=-0{,}6x+90 \] \[ -0{,}6x+90=0 \quad \Longrightarrow \quad x=150. \]

Siden grafen vender nedover, gir dette maksimum.

Python-kontroll

from sympy import symbols, diff, solve
x = symbols('x')
O = -0.3*x**2 + 90*x - 2000
kritisk = solve(diff(O, x), x)
print("O'(x) =", diff(O, x))
print("Kritisk punkt:", kritisk)
print("Overskudd i punktet:", O.subs(x, kritisk[0]))

# Utskrift:
# O'(x) = 90 - 0.6*x
# Kritisk punkt: [150.000000000000]
# Overskudd i punktet: 4750.00000000000
GeoGebra CAS-kontroll
1Solve[-0.6x + 90 = 0]x = 150
Fasit: Størst overskudd oppnås ved \(150\) enheter per dag.
Del 1 · Oppgave 8cØkonomi

Inntekt ved gitt produksjon

Oppgave:

Bestem inntekten ved produksjon og salg av 100 enheter per dag.

Vis løsning
Løsning:

Sammenhengen mellom inntekt, kostnad og overskudd er

\[ O(x)=I(x)-K(x), \qquad I(x)=O(x)+K(x). \]

Ved \(x=100\) er

\[ K(100)=0{,}2\cdot 100^2+50\cdot 100+2000=9000 \] \[ O(100)=-0{,}3\cdot 100^2+90\cdot 100-2000=4000. \]

Dermed er

\[ I(100)=9000+4000=13\,000. \]

Python-kontroll

from sympy import symbols
x = symbols('x')
K = 0.2*x**2 + 50*x + 2000
O = -0.3*x**2 + 90*x - 2000
inntekt_100 = K.subs(x, 100) + O.subs(x, 100)
print("K(100) =", K.subs(x, 100))
print("O(100) =", O.subs(x, 100))
print("I(100) =", inntekt_100)

# Utskrift:
# K(100) = 9000.00000000000
# O(100) = 4000.00000000000
# I(100) = 13000.0000000000
GeoGebra CAS-kontroll
1K(100) + O(100)13000
Fasit: Inntekten er \(13\,000\) kroner.
Del 1 · Oppgave 8dParameter

Parameterbestemmelse

Oppgave:

Ny inntekt er \(I(x)=-0{,}1x^2+a x\). Bestem \(a\) slik at bedriften får størst overskudd når \(x=100\).

Vis løsning
Løsning:

Overskuddet er inntekt minus kostnad:

\[ O_a(x)=I(x)-K(x)=(-0{,}1x^2+ax)-(0{,}2x^2+50x+2000) \] \[ O_a(x)=-0{,}3x^2+(a-50)x-2000. \]

For at maksimum skal ligge ved \(x=100\), må den deriverte være null der:

\[ O_a'(x)=-0{,}6x+a-50 \] \[ O_a'(100)=-60+a-50=a-110. \] \[ a-110=0 \quad \Longrightarrow \quad a=110. \]

Python-kontroll

from sympy import symbols, diff, solve
x, a = symbols('x a')
K = 0.2*x**2 + 50*x + 2000
I = -0.1*x**2 + a*x
O = I - K
betingelse = diff(O, x).subs(x, 100)
print("O_a(x) =", O)
print("O_a'(100) =", betingelse)
print("a =", solve(betingelse, a)[0])

# Utskrift:
# O_a(x) = a*x - 0.3*x**2 - 50*x - 2000
# O_a'(100) = a - 110.0
# a = 110.000000000000
GeoGebra CAS-kontroll
1Derivative[-0.3x^2 + (a-50)x - 2000]-0.6x + a - 50
2Solve[-0.6*100 + a - 50 = 0]a = 110
Fasit: \(a=110\).
Del 1 · Oppgave 9aLineær optimering

Lineær optimering: område

Oppgave:

Forklar at mulige verdier for \(x\) og \(y\), antall pakke A og pakke B, må ligge i det fargede området.

Vis løsning
Løsning:

Variablene må være ikke-negative:

\[ x\ge0, \qquad y\ge0. \]

Ressursbegrensningene kommer fra innholdet i pakkene:

  • Fargestifter: \(3x+2y\le70\)
  • Sprettballer: \(2x+4y\le72\)
  • Hoppestrikker: \(2x+3y\le60\)

Alle punkter \((x,y)\) som oppfyller disse ulikhetene, og ligger i første kvadrant, er mulige produksjonskombinasjoner. Det er dette området som er farget i figuren.

Python-kontroll

begrensninger = [
    "x >= 0",
    "y >= 0",
    "3*x + 2*y <= 70",
    "2*x + 4*y <= 72",
    "2*x + 3*y <= 60",
]
for b in begrensninger:
    print(b)

# Utskrift:
# x >= 0
# y >= 0
# 3*x + 2*y <= 70
# 2*x + 4*y <= 72
# 2*x + 3*y <= 60
GeoGebra CAS-kontroll
13x+2y <= 70, 2x+4y <= 72, 2x+3y <= 60Første kvadrant og under linjene
Fasit: Området bestemmes av \(x\ge0\), \(y\ge0\), \(3x+2y\le70\), \(2x+4y\le72\) og \(2x+3y\le60\).
Del 1 · Oppgave 9bLineær optimering

Lineær optimering: maksimum

Oppgave:

Hva er det maksimale antallet gavepakker de til sammen kan lage?

Vis løsning
Løsning:

Vi skal maksimere

\[ P=x+y \]

under begrensningene fra forrige deloppgave. Vi kan kontrollere heltallsløsninger fordi antall pakker må være hele tall. Det beste punktet er

\[ (x,y)=(18,8). \]

Da brukes

\[ 3\cdot 18+2\cdot 8=70 \] \[ 2\cdot 18+4\cdot 8=68\le72 \] \[ 2\cdot 18+3\cdot 8=60. \]

Totalt blir

\[ x+y=18+8=26. \]

Python-kontroll

beste = None
for x in range(0, 100):
    for y in range(0, 100):
        lovlig = (3*x + 2*y <= 70 and
                  2*x + 4*y <= 72 and
                  2*x + 3*y <= 60)
        if lovlig:
            verdi = x + y
            if beste is None or verdi > beste[0]:
                beste = (verdi, x, y)
print("Maksimalt antall, x, y:", beste)
print("Kontroll fargestifter:", 3*beste[1] + 2*beste[2])
print("Kontroll sprettballer:", 2*beste[1] + 4*beste[2])
print("Kontroll hoppestrikker:", 2*beste[1] + 3*beste[2])

# Utskrift:
# Maksimalt antall, x, y: (26, 18, 8)
# Kontroll fargestifter: 70
# Kontroll sprettballer: 68
# Kontroll hoppestrikker: 60
GeoGebra CAS-kontroll
1Maximize[x+y, constraints]x = 18, y = 8, maksimum = 26
Fasit: Maksimalt antall gavepakker er \(26\), med \(18\) av type A og \(8\) av type B.

Del 2

Del 2 · Oppgave 1aRegresjon

Regresjon for folketall

Oppgave:

Tabellen viser folketallet i Oslo 2012-2017. Bruk regresjon til å bestemme en god modell \(g\), der \(x\) er antall år etter 1. januar 2012.

Vis løsning
Løsning:

Dataene øker omtrent jevnt, så en lineær modell er enkel og god for denne korte perioden. Med \(x=0\) i 2012, \(x=1\) i 2013, osv., gir lineær regresjon omtrent

\[ g(x)=10{,}97x+613{,}34. \]

Her er \(g(x)\) folketall i tusen. Stigningstallet betyr at modellen gir en økning på omtrent \(11\,000\) personer per år.

Python-kontroll

import numpy as np
x = np.array([0, 1, 2, 3, 4, 5], dtype=float)
y = np.array([613.3, 624.0, 634.4, 647.7, 658.4, 666.8], dtype=float)
stigning, konstant = np.polyfit(x, y, 1)
print("Lineær modell: g(x) = a*x + b")
print("a =", stigning)
print("b =", konstant)
print("g(x) =", f"{stigning:.2f}x + {konstant:.2f}")

# Utskrift:
# Lineær modell: g(x) = a*x + b
# a = 10.971428571428568
# b = 613.3380952380952
# g(x) = 10.97x + 613.34
GeoGebra CAS-kontroll
1FitPoly[{(0,613.3),...,(5,666.8)}, 1]g(x) = 10.97x + 613.34
Fasit: En god lineær modell er \(g(x)=10{,}97x+613{,}34\).
Del 2 · Oppgave 1bGraftegner

Graftegner: eksponentiell modell

Oppgave:

Modellen \(f(x)=678\cdot 1{,}015^x\) viser folketallet i tusen i Oslo \(x\) år etter 1. januar 2018. Tegn grafen.

Vis løsning
Løsning:

I graftegner skriver vi inn

\[ f(x)=678\cdot 1{,}015^x. \]

Grafen er voksende og eksponentiell. Den starter i punktet \((0,678)\), fordi folketallet 1. januar 2018 er modellert som \(678\,000\).

Python-kontroll

import math
for x in [0, 5, 10, 20, 30]:
    f = 678 * 1.015**x
    print(f"x={x:2d}: f(x)={f:.2f} tusen")

# Utskrift:
# x= 0: f(x)=678.00 tusen
# x= 5: f(x)=730.09 tusen
# x=10: f(x)=786.19 tusen
# x=20: f(x)=911.51 tusen
# x=30: f(x)=1056.82 tusen
GeoGebra CAS-kontroll
1f(x)=678*1.015^xVoksende eksponentialgraf
2f(0)678
Fasit: Grafen er en voksende eksponentialgraf gjennom \((0,678)\).
Del 2 · Oppgave 1cEksponentialmodell

Passerer én million

Oppgave:

Hvor mange år går det før folketallet i Oslo passerer 1 million ifølge \(f(x)=678\cdot 1{,}015^x\)?

Vis løsning
Løsning:

Én million innbyggere betyr \(1000\) tusen. Vi løser

\[ 678\cdot 1{,}015^x=1000. \] \[ 1{,}015^x=\frac{1000}{678} \] \[ x=\frac{\ln(1000/678)}{\ln(1{,}015)}\approx26{,}1. \]

Etter 26 år er modellen fortsatt rett under én million, og etter 27 år er den over. Siden \(x=0\) er 2018, skjer passeringen i løpet av det 27. året etter 2018.

Python-kontroll

import math
x_grense = math.log(1000/678) / math.log(1.015)
print("Eksakt løst x-verdi:", x_grense)
for heltall in [26, 27]:
    verdi = 678 * 1.015**heltall
    print(f"f({heltall}) = {verdi:.2f} tusen")

# Utskrift:
# Eksakt løst x-verdi: 26.10102124726923
# f(26) = 998.49 tusen
# f(27) = 1013.47 tusen
GeoGebra CAS-kontroll
1Solve[678*1.015^x = 1000]x = 26.10
2f(27)1013.47
Fasit: Det tar omtrent \(27\) år før folketallet passerer 1 million.
Del 2 · Oppgave 1dProsentvekst

Stockholm og prosentvis vekst

Oppgave:

Stockholm hadde 961 609 innbyggere 1. januar 2018. Hvilken årlig prosentvis vekst \(p\) må Stockholm ha for å ha samme folketall som Oslo i januar 2050?

Vis løsning
Løsning:

Januar 2050 er \(32\) år etter januar 2018. Oslo-modellen gir

\[ f(32)=678\cdot 1{,}015^{32}\approx1091{,}80 \]

i tusen personer. Stockholm starter på \(961{,}609\) tusen. Vi løser

\[ 961{,}609\left(1+\frac{p}{100}\right)^{32}=678\cdot 1{,}015^{32}. \]

Da får vi

\[ 1+\frac{p}{100}=\left(\frac{678\cdot 1{,}015^{32}}{961{,}609}\right)^{1/32} \] \[ p\approx0{,}398. \]

Python-kontroll

import math
oslo_2050 = 678 * 1.015**32
stockholm_2018 = 961.609
vekstfaktor = (oslo_2050 / stockholm_2018)**(1/32)
p = (vekstfaktor - 1) * 100
print("Oslo i 2050:", oslo_2050, "tusen")
print("Årlig vekstfaktor Stockholm:", vekstfaktor)
print("p i prosent:", p)

# Utskrift:
# Oslo i 2050: 1091.7998890652168 tusen
# Årlig vekstfaktor Stockholm: 1.0039758504502239
# p i prosent: 0.39758504502238594
GeoGebra CAS-kontroll
1Solve[961.609*(1+p/100)^32 = 678*1.015^32]p = 0.3976
Fasit: Stockholm må vokse med omtrent \(0{,}40\,\%\) per år.
Del 2 · Oppgave 2CAS

CAS: elbiler og bensinbiler

Oppgave:

En bilforhandler solgte 60 biler i 2017. I 2018 økte elbilsalget med 40 %, mens bensinbilsalget falt med 15 %. Totalt ble det solgt 62 biler i 2018. Sett opp et system og finn antall elbiler og bensinbiler solgt i 2018.

Vis løsning
Løsning:

La \(e\) være antall elbiler i 2017 og \(b\) antall bensinbiler i 2017. Da er

\[ e+b=60 \]

I 2018 blir tallene \(1{,}40e\) og \(0{,}85b\), og totalen blir 62:

\[ 1{,}40e+0{,}85b=62. \]

CAS gir

\[ e=20, \qquad b=40. \]

Dermed solgte han i 2018

\[ 1{,}40\cdot 20=28 \]

elbiler og

\[ 0{,}85\cdot 40=34 \]

bensinbiler.

Python-kontroll

from sympy import symbols, Eq, solve
el_2017, bensin_2017 = symbols('el_2017 bensin_2017')
likninger = [
    Eq(el_2017 + bensin_2017, 60),
    Eq(1.40*el_2017 + 0.85*bensin_2017, 62),
]
losning = solve(likninger, [el_2017, bensin_2017])
el_2018 = 1.40 * losning[el_2017]
bensin_2018 = 0.85 * losning[bensin_2017]
print("2017:", losning)
print("Elbiler 2018:", el_2018)
print("Bensinbiler 2018:", bensin_2018)
print("Kontroll sum 2018:", el_2018 + bensin_2018)

# Utskrift:
# 2017: {bensin_2017: 40.0000000000000, el_2017: 20.0000000000000}
# Elbiler 2018: 28.0000000000000
# Bensinbiler 2018: 34.0000000000000
# Kontroll sum 2018: 62.0000000000000
GeoGebra CAS-kontroll
1Solve[{e+b=60, 1.4e+0.85b=62}]e=20, b=40
21.4e, 0.85b28, 34
Fasit: I 2018 solgte han \(28\) elbiler og \(34\) bensinbiler.
Del 2 · Oppgave 3aBinomisk fordeling

Binomisk sannsynlighet

Oppgave:

Jonas treffer liggende skudd med sannsynlighet \(0{,}90\). Bestem sannsynligheten for minst 8 treff av 10 liggende skudd.

Vis løsning
Løsning:

La \(X\) være antall treff på 10 liggende skudd. Da er \(X\) binomisk fordelt med \(n=10\) og \(p=0{,}90\).

\[ P(X\ge8)=P(X=8)+P(X=9)+P(X=10) \] \[ =\sum_{k=8}^{10}\binom{10}{k}0{,}90^k0{,}10^{10-k} \] \[ \approx0{,}9298. \]

Python-kontroll

from math import comb
p = 0.90
sannsynlighet = 0
for k in range(8, 11):
    ledd = comb(10, k) * p**k * (1 - p)**(10 - k)
    sannsynlighet += ledd
    print(f"P(X={k}) = {ledd:.10f}")
print("P(X >= 8) =", sannsynlighet)

# Utskrift:
# P(X=8) = 0.1937102445
# P(X=9) = 0.3874204890
# P(X=10) = 0.3486784401
# P(X >= 8) = 0.9298091736000003
GeoGebra CAS-kontroll
11 - BinomialCDF[10, 0.9, 7]0.929809
Fasit: Sannsynligheten er omtrent \(0{,}930\), altså \(93{,}0\,\%\).
Del 2 · Oppgave 3bSannsynlighet

To uavhengige binomiske hendelser

Oppgave:

Bestem sannsynligheten for nøyaktig 9 treff liggende og nøyaktig 8 treff stående.

Vis løsning
Løsning:

Liggende og stående serier behandles som uavhengige. For liggende får vi

\[ P(L=9)=\binom{10}{9}0{,}90^9\cdot 0{,}10. \]

For stående, der treff-sannsynligheten er \(0{,}84\), får vi

\[ P(S=8)=\binom{10}{8}0{,}84^8\cdot 0{,}16^2. \]

Dermed

\[ P(L=9\;\text{og}\;S=8)=P(L=9)P(S=8)\approx0{,}1106. \]

Python-kontroll

from math import comb
P_L_9 = comb(10, 9) * 0.90**9 * 0.10
P_S_8 = comb(10, 8) * 0.84**8 * 0.16**2
produkt = P_L_9 * P_S_8
print("P(liggende = 9) =", P_L_9)
print("P(stående = 8) =", P_S_8)
print("Produkt =", produkt)

# Utskrift:
# P(liggende = 9) = 0.3874204890000001
# P(stående = 8) = 0.2855536471568384
# Produkt = 0.11062909318402808
GeoGebra CAS-kontroll
1Binomial[10,0.9,9]*Binomial[10,0.84,8]0.110629
Fasit: Sannsynligheten er omtrent \(0{,}111\), altså \(11{,}1\,\%\).
Del 2 · Oppgave 3cSannsynlighet

Minst 19 treff av 20 skudd

Oppgave:

Bestem sannsynligheten for at Jonas treffer på minst 19 av de 20 skuddene.

Vis løsning
Løsning:

Han skyter 10 liggende og 10 stående, med ulike treff-sannsynligheter. Minst 19 treff betyr enten 20 treff, eller nøyaktig én bom totalt.

Alle 20 treff:

\[ 0{,}90^{10}\cdot 0{,}84^{10} \]

Én bom liggende og alle stående treff:

\[ \binom{10}{9}0{,}90^9\cdot 0{,}10\cdot 0{,}84^{10} \]

Alle liggende treff og én bom stående:

\[ 0{,}90^{10}\cdot\binom{10}{9}0{,}84^9\cdot 0{,}16 \]

Summen blir

\[ P\approx0{,}2449. \]

Python-kontroll

from math import comb
alle = 0.90**10 * 0.84**10
en_bom_liggende = comb(10, 9) * 0.90**9 * 0.10 * 0.84**10
en_bom_staende = 0.90**10 * comb(10, 9) * 0.84**9 * 0.16
sum_sannsynlighet = alle + en_bom_liggende + en_bom_staende
print("Alle 20 treff:", alle)
print("Én bom liggende:", en_bom_liggende)
print("Én bom stående:", en_bom_staende)
print("Minst 19 treff:", sum_sannsynlighet)

# Utskrift:
# Alle 20 treff: 0.06354562218114343
# Én bom liggende: 0.07060624686793714
# Én bom stående: 0.11075328598706161
# Minst 19 treff: 0.24490515503614218
GeoGebra CAS-kontroll
1P(20 treff)+P(19 treff)0.244905
Fasit: Sannsynligheten er omtrent \(0{,}245\), altså \(24{,}5\,\%\).
Del 2 · Oppgave 4aGraftegner

Graftegner: tredjegradsfunksjon

Oppgave:

Funksjonen \(f\) er gitt ved \(f(x)=x^3-3x\). Tegn grafen.

Vis løsning
Løsning:

I graftegner skriver vi

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

Grafen er en tredjegradsfunksjon med nullpunkter i \(x=-\sqrt{3}\), \(x=0\) og \(x=\sqrt{3}\). Den har et lokalt toppunkt og et lokalt bunnpunkt, som bestemmes i neste deloppgave.

Python-kontroll

from sympy import symbols, factor
x = symbols('x')
f = x**3 - 3*x
print("Faktorisert f(x):", factor(f))
for verdi in [-2, -1, 0, 1, 2]:
    print(f"f({verdi}) =", f.subs(x, verdi))

# Utskrift:
# Faktorisert f(x): x*(x**2 - 3)
# f(-2) = -2
# f(-1) = 2
# f(0) = 0
# f(1) = -2
# f(2) = 2
GeoGebra CAS-kontroll
1f(x)=x^3-3xKubisk graf
2Roots[f]x = -sqrt(3), 0, sqrt(3)
Fasit: Grafen er en kubisk S-formet kurve for \(f(x)=x^3-3x\).
Del 2 · Oppgave 4bDerivasjon

Horisontale tangenter

Oppgave:

I to punkter \(A\) og \(B\) på grafen til \(f\) er tangenten parallell med \(x\)-aksen. Bestem koordinatene.

Vis løsning
Løsning:

En tangent parallell med \(x\)-aksen har stigningstall \(0\). Derfor løser vi \(f'(x)=0\).

\[ f'(x)=3x^2-3 \] \[ 3x^2-3=0 \quad \Longrightarrow \quad x^2=1 \quad \Longrightarrow \quad x=-1 \;\text{eller}\; x=1. \]

Funksjonsverdiene er

\[ f(-1)=(-1)^3-3(-1)=2 \] \[ f(1)=1^3-3\cdot 1=-2. \]

Python-kontroll

from sympy import symbols, diff, solve
x = symbols('x')
f = x**3 - 3*x
kritiske_x = solve(diff(f, x), x)
print("f'(x) =", diff(f, x))
for x0 in kritiske_x:
    print("Punkt:", (x0, f.subs(x, x0)))

# Utskrift:
# f'(x) = 3*x**2 - 3
# Punkt: (-1, 2)
# Punkt: (1, -2)
GeoGebra CAS-kontroll
1Solve[3x^2 - 3 = 0]x = -1 eller x = 1
2(-1, f(-1)), (1, f(1))(-1, 2), (1, -2)
Fasit: Punktene er \((-1,2)\) og \((1,-2)\).
Del 2 · Oppgave 4cTangenter

Tangenter med gitt stigningstall

Oppgave:

Grafen til \(f\) har to tangenter som er parallelle med linjen \(y=9x+4\). Bestem likningene for tangentene.

Vis løsning
Løsning:

Linjen \(y=9x+4\) har stigningstall \(9\). Tangentene må derfor oppfylle

\[ f'(x)=9. \]

Vi har \(f'(x)=3x^2-3\), så

\[ 3x^2-3=9 \quad \Longrightarrow \quad 3x^2=12 \quad \Longrightarrow \quad x^2=4. \] \[ x=-2 \quad \text{eller} \quad x=2. \]

Funksjonsverdiene er \(f(-2)=-2\) og \(f(2)=2\). Tangent med stigningstall 9 gjennom \((-2,-2)\):

\[ y+2=9(x+2) \quad \Longrightarrow \quad y=9x+16. \]

Tangent med stigningstall 9 gjennom \((2,2)\):

\[ y-2=9(x-2) \quad \Longrightarrow \quad y=9x-16. \]

Python-kontroll

from sympy import symbols, diff, solve
x = symbols('x')
f = x**3 - 3*x
x_verdier = solve(diff(f, x) - 9, x)
print("x-verdier der stigningstallet er 9:", x_verdier)
for x0 in x_verdier:
    y0 = f.subs(x, x0)
    konstant = y0 - 9*x0
    print("Punkt:", (x0, y0), "Tangent: y = 9x +", konstant)

# Utskrift:
# x-verdier der stigningstallet er 9: [-2, 2]
# Punkt: (-2, -2) Tangent: y = 9x + 16
# Punkt: (2, 2) Tangent: y = 9x + -16
GeoGebra CAS-kontroll
1Solve[3x^2 - 3 = 9]x = -2 eller x = 2
2Tangent[(-2,-2), slope 9]y = 9x + 16
3Tangent[(2,2), slope 9]y = 9x - 16
Fasit: Tangentene er \(y=9x+16\) og \(y=9x-16\).
Del 2 · Oppgave 4dParameter og diskriminant

Parameter i deriverbar funksjon

Oppgave:

Funksjonen \(g\) er gitt ved \(g(x)=ax^3+bx^2+b^2x\), der \(a e0\) og \(b e0\). Bestem \(a\) slik at grafen til \(g\) bare har én tangent parallell med \(x\)-aksen.

Vis løsning
Løsning:

Horisontal tangent betyr \(g'(x)=0\). Vi deriverer:

\[ g'(x)=3ax^2+2bx+b^2. \]

Dette er en andregradslikning i \(x\). For at grafen bare skal ha én horisontal tangent, må likningen \(g'(x)=0\) ha akkurat én løsning. Da må diskriminanten være lik null.

\[ D=(2b)^2-4\cdot 3a\cdot b^2 \] \[ D=4b^2-12ab^2=4b^2(1-3a). \]

Siden \(b\ne0\), er \(4b^2\ne0\). Derfor må

\[ 1-3a=0 \quad \Longrightarrow \quad a=\frac{1}{3}. \]

Python-kontroll

from sympy import symbols, diff, solve, factor
x, a, b = symbols('x a b', nonzero=True)
g = a*x**3 + b*x**2 + b**2*x
g_derivert = diff(g, x)
diskriminant = (2*b)**2 - 4*(3*a)*(b**2)
print("g'(x) =", g_derivert)
print("Diskriminant:", factor(diskriminant))
print("a-verdi:", solve(diskriminant, a))

# Utskrift:
# g'(x) = 3*a*x**2 + 2*b*x + b**2
# Diskriminant: -4*b**2*(3*a - 1)
# a-verdi: [1/3]
GeoGebra CAS-kontroll
1Derivative[a*x^3 + b*x^2 + b^2*x]3a*x^2 + 2b*x + b^2
2Discriminant[3a*x^2 + 2b*x + b^2]4b^2(1 - 3a)
3Solve[4b^2(1 - 3a) = 0]a = 1/3
Fasit: \(a=\frac{1}{3}\).