Eksamen V23 S1

S1
V23
eksamen
Forfattar

Torodd F. Ottestad

Publisert

May 24, 2023

Løysingsforslag S1 - V23

Her er eit forslag til løysing av våreksamen i S1 2023. I del 2 er oppgåvene stort sett Python brukt som hjelpemiddel.

Eg kan ikkje lova at løysinga er feilfri… 😊 Gje meg gjerne ein lyd i kommentarfeltet eller her om du ser feil 🔍

Sist oppdatert: 24.05.2023


Eksamenssettet finn du hos UDIR: Finn eksamensoppgaver

Del 1 - utan hjelpemiddel

Oppgåve 1

Skriv så enkelt som mogleg

\[ \begin{align*} \frac{\left(2ab^{-1}\right)^3 \cdot \left( a^2 b^{-2}\right)^{-1}}{4 a^2 b^{-3}} &= \frac{2^3 a^3 b^{-1\cdot 3} a^{2 \cdot (-1)} b^{-2 \cdot -1}}{2^2 a^2 b^{-3}} \\ &= \frac{2^3 a^3 b^{-3} a^{-2} b^{2}}{2^2 a^2 b^{-3}} \\ &= 2^{3-2} a^{3-2-2} b^{-3+2-(-3)} \\ &= 2 a^{-1} b^2 \\ &= \frac{2b^2}{a} \end{align*}\]

Oppgåve 2

Skal derivera funksjonen \(f\) gitt ved \[f(x)=x\cdot \ln(x)\]

Ser at \(f\) er eit produkt av funksjonane \(x\) og \(\ln(x)\).

Lar \(u=x\) og \(v=\ln(x)\). Då er \(u' = 1\) og \(v'=\frac{1}{x}\).

Produktregelen for derivasjon gjev oss \[\begin{align*} f(x) &= u\cdot v \\ f'(x) &= u'\cdot v + u\cdot v' \\ &= 1\cdot \ln(x) + x \cdot \frac{1}{x} \\ &= \ln(x) + 1 \end{align*} \]

Oppgåve 3

Bestem grenseverdien

\[\lim_{x\rightarrow 2} \frac{x^3-8}{x^2-4}\]

Ser at om me set inn \(x=2\) i uttrykket vert både teljar og nemnar 0

\[\frac{2^3-8}{2^2-4} = \frac{8-8}{4-4} = \frac{0}{0}\]

Dermed kan me bruka L’Hôpitals regel, og deriverer teljar og nemnar for seg

\[\lim_{x\rightarrow 2} \frac{x^3-8}{x^2-4} = \lim_{x\rightarrow 2} \frac{3x^2}{2x} = \frac{3\cdot 2^2}{2\cdot 2}=3\]

Oppgåve 4

Tre svarte og fire kvite kuler i ei krukke, trekk tre kuler uten tilbakelegging.

a) To av tre er svarte

Her har me ein todelt populasjon (kulene i krukka) og gjer eit utval som også er todelt. Me kan dermed sjå på dete som eit hypergeometrisk forsøk.

La tal svarte kuler i utvalet vera \(X\). Me vil då finna \(P(X=2)\).

\[P(X=2)= \frac{\left(3 \atop 2\right) \left( 4\atop 1\right)}{\left(7 \atop 3\right)} = \frac{3\cdot 4}{35}= \frac{12}{35}\]

Binomialkoeffesientane
  • \(\left(3 \atop 2\right) = \frac{3\cdot 2}{2\cdot 1} = 3\)
  • \(\left(4 \atop 1\right) = \frac{4}{1} = 4\)
  • \(\left(7 \atop 3\right) = \frac{7\cdot 6 \cdot 5}{3\cdot 2\cdot 1} = 35\)

b) Minst to kvite

Viss me skal trekka minst to kvite kuler, så vert det i eit utval på 3 dei utfalla som gjev to kvite kuler eller tre kvite kuler.

Lar \(Y\) vera tal kvite kuler i utvalet. Vil no finna \(P(Y\geq 2) = P(Y=2) + P(Y=3)\)

Finn først \(P(Y=2)\):

\[P(Y=2)= \frac{\left(4 \atop 2\right) \left( 3\atop 1\right)}{\left(7 \atop 3\right)} = \frac{6\cdot 3}{35}= \frac{18}{35}\]

og deretter \(P(Y=3)\):

\[P(Y=3)= \frac{\left(4 \atop 3\right) \left( 3\atop 0\right)}{\left(7 \atop 3\right)} = \frac{4\cdot 1}{35}= \frac{4}{35}\]

Dermed får me

\[P(Y\geq 2) = P(Y=2) + P(Y=3) = \frac{18}{35} + \frac{4}{35} = \frac{22}{35}\]

Alternativ løysing på b)

Me kan bruka resultatet frå a). Der fann me sannsynet for at to kuler var svarte. Om me i tillegg finn sannsynet for at tre av tre kuler er svarte, så kan me bruka at

\[P(Y\geq 2) = 1 - P(X=2) - P(X=3)\]

Me finn \(P(X=3)\): \[P(X=3)= \frac{\left(3 \atop 3\right) \left( 4\atop 0\right)}{\left(7 \atop 3\right)} = \frac{1\cdot 1}{35}= \frac{1}{35}\]

Dermed får me \[P(Y\geq 2) = 1 - P(X=2) - P(X=3) = 1 - \frac{12}{35} -\frac{1}{35} = \frac{22}{35}\]

Oppgåve 5

Kostnad \(K\) ved produksjon av \(x\) einingar per veke gitt ved \[K(X)=0,2x^2+140x+7000\]

Bedrifta har laga programmet:

def K(x):
    return 0.2*x**2 + 140*x + 7000

v = 260
h = 0.0001
x = 0

while (K(x+h)-K(x))/h < v:
    x = x + 1

print(x)

Me kjenner att K(x + h) - K(x))/h som definisjonen til den deriverte av \(K\). Programmet finn dermed ut kva tid den deriverte til \(K\), grensekostnaden (kompetansemål i S2), blir større enn/passerer v = 260.

Resultatet når ein køyrer programmet vert då den siste x-verdien (heiltal) som gjer \(K'(x) \leq 260\).

Løyser likninga \(K'(x)=260\):

\[\begin{align*} K'(x) &= 260 \\ 0,4x + 140 &= 260 \\ 0,4x &= 260 - 140 \\ x &= \frac{120}{0,4} = 300 \end{align*} \]

Dermed er \(K'(300) = 260\) som vil seie at programmet skriv ut 300 når det køyrer, sidan \(K'(301)\) vil vera større enn vilkåret i while-løkka i rad 8. (sidan \(K'(x)\) er ein lineær funksjon med positivt stigningstal).

Dette fortel bedrifta at om ein aukar produksjonen frå 300 til 301 einingar per veke så vil kostnadane auka med omlag 260 kr.

Del 2

Oppgåve 1

Tabellen nedanfor viser timelønna til ei yrkesgruppe.

År Timeløn
2008 272,55
2010 285,50
2013 307,30
2015 314,00
2019 327,60
2022 340,10

a) Prosentvis vekst

Gjennomsnittleg årleg prosentvis vekst frå 2008 til 2022. Det er snakk om \(2022-2008=14\) år. Løyser likninga

\[272,55 \cdot x^{14} = 340,10\] for å finna vekstfaktoren

from sympy import Symbol, diff, Eq, Reals, solveset

# definerer x
x = Symbol("x")

# definerer vs og hs av likninga
vs = 272.55 * x**14
hs = 340.10

# set opp likninga, og løyser ho
likning = Eq(vs, hs)
løysing = solveset(likning, x, domain=Reals)

# skriv ut svaret
print(f"x = {løysing.evalf(4)}")
x = {-1.016, 1.016}

Ser at vekstfaktoren her er 1.016 som tilsvarar ein årleg gjennomsnittleg prosentvis auke på 1,6%.

b) Eksponentialfunksjon

Finn passande eksponentialfunksjon med curve_fit i Scipy/Python.

from scipy.optimize import curve_fit

# generell eksponentialfunksjon
def g(x, a, b):
    return a*b**x

# data frå oppgåva
år = [0, 2, 5, 7, 11, 14]
lønn = [272.55, 285.50, 307.30, 314.00, 327.60, 340.10]

# finn funksjonen
K, E = curve_fit(g, år, lønn)

# hentar ut koeff.
a, b = K

# skriv ut funksjonsuttrykket
print(f"g(x) = {a:.1f} * {b:.4f}^x")
g(x) = 278.5 * 1.0151^x

Ein modell for timeløna til yrkesgruppa \(x\) år etter 2008 er \[g(x) = 278,5 \cdot 1,015^x\]

c) Samla løn

Amalie har hatt lønnsauke med 2,3 % kvart år, og starta med timelønn på 272,55 kroner i 2008. Ho har jobba 1700 timar per år. Løyser denne i python med ei for-løkke

samla_løn = 0
vf = 1.023
timeløn = 272.55

# i frå og med 0 til og med 14
# finn ny årsløn og legg til samla løn dei 15 åra
for i in range(15):
    samla_løn += 1700 * timeløn*vf**i

print(f"Samla løn, Amalie: {samla_løn:.2f}")
Samla løn, Amalie: 8188601.24

Samla løn Per kan me finna på ulike måtar.

Dersom me går ut frå at Per føl tabellen nøyaktig, dvs. 272,55 kr pr. time i 2008 og 2009, 285,50 kr pr. time i 2010, 2011, 2012 osv. vert den samla løna hans:

def periodeløn(tal_år, timeløn):
    return tal_år * 1700 * timeløn

# løn kvar periode
p1 = periodeløn(2010-2008, 272.55)
p2 = periodeløn(2013-2010, 285.50)
p3 = periodeløn(2015-2013, 307.30)
p4 = periodeløn(2019-2015, 314.00)
p5 = periodeløn(2022-2019, 327.60)
p6 = periodeløn(2023-2022, 340.10)

samla_løn = p1 + p2 + p3 + p4 + p5 + p6

print(f"Samla løn, Per: {samla_løn:.2f}")
Samla løn, Per: 7811670.00

Om me på den andre sida bruker modellen for timeløn som me fann i b) så kan me bruka den:

samla_løn = 0

# modell for timeløn
def g(x):
    return 278.5 * 1.0151**x

# i frå og med 0 til og med 14
# finn ny årsløn og legg til samla løn dei 15 åra
for i in range(15):
    samla_løn += 1700 * g(i)

print(f"Samla løn, Per: {samla_løn:.2f}")
Samla løn, Per: 7903823.68

Ser at skilnaden på dei to strategiane er rundt 92 000 kr i løpet av dei 15 åra (f.o.m. 2008, t.o.m. 2022).

d) Lønnskrav

I 2022 har Per timeløn 340,10 kr og Amalie timeløn \(272.55 \cdot 1.023^{14} \approx 374,72\) Viss Per skal ha same timeløn som Amalie i 2025 (om 3 år) må

\[340,10 \cdot x^3 = 374,72 \cdot 1,023^3\]

Løyser likninga i Python:

from sympy import Symbol, diff, Eq, Reals, solveset

# definerer x
x = Symbol("x")

# definerer vs og hs av likninga
vs = 340.10 * x**3
hs = 374.72 * 1.023**3

# set opp likninga, og løyser ho
likning = Eq(vs, hs)
løysing = solveset(likning, x, domain=Reals)

# skriv ut svaret
print(f"x = {løysing.evalf(4)}")
x = {1.057}

Dersom kravet skal bli innfridd må Løna til Per stiga med 5,7% kvart år dei neste 3 åra.

Oppgåve 2

a) Påstand 1 - logaritmar

La \(x=e\). Då er \(x>0\) og \(\ln(x)=\ln(e)=1\). Dermed får me

\[ \begin{align*} (\ln(x))^4 &= 4\ln(x) \\ 1^4 &\neq 4\cdot 1 \end{align*} \]

Påstanden er usann

b) Påstand 2 - fjerdegradsfunksjonar

Talet på ekstremalpunkt til ein funksjon er knytt saman med talet på nullpunkt til den deriverte til funksjonen.

Den deriverte til ein fjerdegradsfunksjon er ein tredjegradsfunksjon. Alle tredjegradsfunksjonar har minst eitt nullpunkt.

Sidan alle tredjegradsfunksjonar har minst eitt nullpunkt har alle fjerdegradsfunksjonar minst eitt ekstremalpunkt.

Påstanden er sann

c) Påstand 3 - Lotto

Kan sjå på dette som hypergeometrisk sannsyn, der populasjon og utval er delt i to grupper, mindre enn 18 og ikkje mindre enn 18.

Det er 17 av tala som er mindre enn 18, \(0\rightarrow 17\), og 17 tala som er ikkje mindre enn 18, \(18\rightarrow 34\).

La \(X\) vera antall kuler mindre enn 18. Då er

\[P(X=7) = \frac{\left(17 \atop 7 \right) \left(17 \atop 0 \right)}{\left(34 \atop 7\right)}\]

og samtidig er

\[P(X=0) = \frac{\left(17 \atop 0 \right) \left(17 \atop 7 \right)}{\left(34 \atop 7\right)}\]

Dermed ser me at \(P(X=7) = P(X=0)\).

Påstanden er sann

Oppgåve 3

Eit spel med to terningar. Mona finn sannsyn med programmet

g = 0
for i in range(1, 7):
    for j in range(1, 7):
        if i+j >= 8:
            g = g + 1

print(g/36)
0.4166666666666667

a) Sannsyn i programkoden

Med dette programmet tel Mona opp kor mange av dei moglege utfalla (summen av to terningar) som blir 8 eller større. Løkka går gjennom alle kombinasjonar av dei to terningane i=1, j=1, i=1, j=2, …, i=2, j=1 osb.

b) Nytt program - tre terningar

Eit anna spel med tre terningar. Gevinst om summen av auge er 7 eller 11. Kan utvida programmet frå a). Endrar nemnaren til 216 (\(6\cdot 6 \cdot 6\)) i siste linja.

g = 0
for i in range(1, 7):
    for j in range(1, 7):
        for k in range(1, 7):
            if (i+j+k == 7) or (i+j+k == 11):
                g = g + 1

print(g/216)
0.19444444444444445

Sannsynet for å vinna dette spelet er \(0,194\).

Oppgåve 4

a) Pris 40 kr

Viss \(p=40\) les me av grafen at \(e=2100\).

Det vil seie at ein sel 2100 einingar til 40 kr pr. stk.

Daglege inntekter på \(2100 \cdot 40 kr = 84 000 kr\).

b) Inntekt 75 000 kr

Ser av grafen at \(e(p)\) har konstantledd 4500 og stigningstal -60. (Nedgang frå 4500 til 3900 på y-aksen når ein går frå 0 til 10 på x-aksen)

Dvs. \(e(p) = 4500 - 60p\).

Daglege inntekter er tal eiingar gange prisen, \(e(p)\cdot p\).

Løyser likninga \(e(p)\cdot p = 75000\).

from sympy import Symbol, diff, Eq, Reals, solveset

# definerer p
p = Symbol("p")

# definerer vs og hs av likninga
vs = (4500 - 60*p)*p
hs = 75000

# set opp likninga, og løyser ho
likning = Eq(vs, hs)
løysing = solveset(likning, p, domain=Reals)

# skriv ut svaret
print(f"p = {løysing.evalf(4)}")
p = {25.0, 50.0}

Ser at om prisen er 25 kr eller 50 kr så vil dei daglege inntektene bli 75000 kr.

c) Størst inntekt

Sidan funksjonen for daglege inntekter er ein konkav andregradsfunksjon (\((4500-60p)p = -60p^2+45000\)) er ekstremalpunktet eit toppunkt. Av symmetri i andregradsfunksjonar følgjer det at toppunktet ligg midt mellom 25 kr og 50 kr.

Pris på $(25 kr + 50 kr)/2 = 37,5 kr $ gjev størst inntekt.

Oppgåve 5

a) Bestem sannsyn

Her kan me gå ut frå at det binomisk sannsyn sidan me har - to utfall i kvart delforsøk, kvar bilett (brukt/ikkje brukt) - likt sannsyn for at billetten vert brukt (0,45) i kvart delforsøk - uavhengige delforsøk (viss me går ut frå at dei som får gratisbillettane ikkje påverkar kvarande med om dei bruker eller ikkje bruker billetten…)

Lar \(X\) vera tal billettar som vert brukt.

Finn \(P(X\geq 600)\) ved simulering

import numpy as np
rng = np.random.default_rng()

N = 10000000 # tal simuleringar
p = 0.45     # P(brukt billett)
n = 1300     # tal gratisbillettar

# simulerer 
brukte_billettar = rng.binomial(n, p, size=N)

# finn sannsynet
gunstige = sum(brukte_billettar >= 600)
sannsyn = gunstige / N
print(f"P(X ≥ 600) = {sannsyn:.4f}")
P(X ≥ 600) = 0.2097

Sannynet for at minst 600 av billettane vert brukt er omlag 0,21.

b) Finn tal gratisbilettar

Vil finna ut kor mange gratisbillettar dei må dela ut dersom sannsynet for at minst 600 blir brukt skal vera over 95 %.

Gjer simuleringa frå a) til ein funksjon og testar med fleire og fleire gratisbillettar til sannsynet for at minst 600 blir brukt passerer 95 %.

# sannsynsfunksjon
def sannsyn(n):
    N = 1000000
    p = 0.45

    # simulerer 
    brukte_billettar = rng.binomial(n, p, size=N)

    # finn sannsynet
    gunstige = sum(brukte_billettar >= 600)
    sannsyn = gunstige / N

    return sannsyn

n = 1300

# aukar tal gratisbillettar til sannsynet er 95% eller meir
while sannsyn(n) < 0.95:
    n += 1

print(n)
1401

Dvs. om dei deler ut 1400 bilettar vil det vera over 95 % sannsynleg at minst 600 av dei vert brukt.

Oppgåve 6

Samanhengen mellom lydstyrken \(L\) (målt i \(dB\)) og lydintensiteten \(I\) (målt i \(W/m^2\)) er gitt ved

\[L = 120 + 10\cdot \lg(I)\]

Smertegrense for menneske på kring 130 \(dB\)

a) Bestem lydintensitet

Set inn \(L=130\) og løyser likninga for \(I\).

from sympy import Symbol, diff, Eq, Reals, solveset, log

# definerer I
I = Symbol("I")

# definerer vs og hs av likninga
vs = 130
hs = 120 + 10*log(I, 10)

# set opp likninga, og løyser ho
likning = Eq(vs, hs)
løysing = solveset(likning, I, domain=Reals)

# skriv ut svaret
print(f"I = {løysing.evalf(4)}")
I = {10.0}

Lydintensiteten er \(10 W/m^2\) når lydstyrken er \(130dB\).

b) Auke i intensitet

Finn intensiten ved \(132dB\).

# definerer vs og hs av likninga
vs = 132
hs = 120 + 10*log(I, 10)

# set opp likninga, og løyser ho
likning = Eq(vs, hs)
løysing = solveset(likning, I, domain=Reals)

# skriv ut svaret
print(f"I = {løysing.evalf(4)}")
I = {15.85}

Lydinsiteten har auka frå 10 til 15,85. Det gir oss vekstfaktor \(15,85 / 10 = 1,581\).

Auken i lydintensitet er omlag 58,1 % når ein aukar lydstyrken med \(2 dB\).

c) Minste avstand til flyet

Effekten til lyd frå lydkjelde, \(E\), vil gje lydintensitet \(I\) i ein avstand \(r\) (målt i \(m\)) frå lydkjelda vera \[I = \frac{E}{4\pi \cdot r^2}\].

Lydstyrke frå eit fly er \(140 dB\) når ein er \(50 m\) frå flyet.

Bestem den minste avstanden til flyet der lydstyrken er mindre enn \(130dB\).

Finn intensiteten ved \(140 dB\):

# definerer vs og hs av likninga
vs = 140
hs = 120 + 10*log(I, 10)

# set opp likninga, og løyser ho
likning = Eq(vs, hs)
løysing = solveset(likning, I, domain=Reals)

# skriv ut svaret
print(f"I = {løysing.evalf(4)}")
I = {100.0}

Vidare bruker me at \(I=100\) for å finna E. \[\begin{align*} I &= \frac{E}{4\pi\cdot r^2} \\ 100 &= \frac{E}{4\pi\cdot 50^2} \\ E &= 100 \cdot 4\pi\cdot 50^2 \end{align*} \]

Dette gjev oss likninga

\[\begin{align*} L &= 120 + 10\lg(I) \\ &= 120 + 10\lg\left(\frac{E}{4\pi\cdot r^2}\right) \\ &= 120 + 10\lg\left(\frac{100 \cdot 4\pi\cdot 50^2}{4\pi\cdot r^2}\right) \\ &= 120 + 10\lg\left(\frac{100 \cdot50^2}{r^2}\right) \end{align*} \]

Løyser likninga for \(r\) når \(L=130\).

# definerer r
r = Symbol("r")

# definerer vs og hs av likninga
vs = 130
hs = 120 + 10*log((100*50**2)/(r**2), 10)

# set opp likninga, og løyser ho
likning = Eq(vs, hs)
løysing = solveset(likning, r, domain=Reals)

# skriv ut svaret
print(f"r = {løysing.evalf(4)}")
r = {-158.1, 158.1}

Den minste avstanden er 158 meter.

Gjenbruk