S1 eksamenHøst 2007

Matematikk S1 eksamen – høst 2007

ifingo
Norsk (Bokmål)

ifingo · Matematikk S1

Matematikk S1 eksempeloppgave Høst 2007 - løsningsforslag

Komplett bokmål-løsningsforslag basert på Udir-settet S1_H07_eksempel.pdf. Oppgavene er skrevet med ryddig MathJax, trinnvise forklaringer, GeoGebra CAS-linjer og realistiske Python-kontroller i nøytral kodevisning.

Del 1

Del 1 løses uten digitale hjelpemidler i hovedresonnementet. Python og GeoGebra vises bare som kontroll.
Del 1 · Oppgave 1a1Derivasjon

Oppgave 1a1

Oppgave:

Gitt funksjonen \(f(x)=x^3-3x+1\). Finn gjennomsnittlig veksthastighet mellom \(x=1\) og \(x=3\).

Vis løsning

Steg 1 - Regn ut funksjonsverdiene

Vi trenger verdien i startpunktet og sluttpunktet: \[f(1)=1^3-3\cdot 1+1=-1,\qquad f(3)=3^3-3\cdot 3+1=19.\]

Steg 2 - Bruk formelen for gjennomsnittlig veksthastighet

Gjennomsnittlig veksthastighet fra \(x=1\) til \(x=3\) er stigningstallet til sekanten:

\[\frac{f(3)-f(1)}{3-1}=\frac{19-(-1)}{2}=10.\]

Tolkning

I dette intervallet øker funksjonsverdien i gjennomsnitt med \(10\) per \(x\)-enhet.

Vanlig feil: Å bruke den deriverte direkte. Her spørres det om gjennomsnittlig vekst, ikke momentan vekst.

Digital kontroll

GeoGebra · CAS
1
GjennomsnittligVekst(f,1,3)
\(10\)
2
(f(3)-f(1))/(3-1)
\(10\)

Python-kontroll

from sympy import symbols
x = symbols('x')
f = x**3 - 3*x + 1
start = 1
slutt = 3
f_start = f.subs(x, start)
f_slutt = f.subs(x, slutt)
gjennomsnitt = (f_slutt - f_start)/(slutt - start)
print("Funksjon:", f)
print("f(1) =", f_start)
print("f(3) =", f_slutt)
print("Gjennomsnittlig veksthastighet =", gjennomsnitt)
Fasit: \(10\)
Del 1 · Oppgave 1a2Derivasjon

Oppgave 1a2

Oppgave:

Gitt \(f(x)=x^3-3x+1\). Finn momentan vekst i \(x=2\).

Vis løsning

Steg 1 - Deriver funksjonen

Momentan vekst betyr verdien av den deriverte. Vi får

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

Steg 2 - Sett inn \(x=2\)

\[f'(2)=3\cdot 2^2-3=12-3=9.\]

Tolkning

Grafen har stigningstall \(9\) i punktet der \(x=2\).

Digital kontroll

GeoGebra · CAS
1
Derivert(x^3-3x+1)
\(3x^2-3\)
2
f'(2)
\(9\)

Python-kontroll

from sympy import symbols, diff
x = symbols('x')
f = x**3 - 3*x + 1
derivert = diff(f, x)
momentan_vekst = derivert.subs(x, 2)
print("f(x) =", f)
print("f'(x) =", derivert)
print("Momentan vekst i x=2:", momentan_vekst)
Fasit: \(9\)
Del 1 · Oppgave 1b1Areal og funksjon

Oppgave 1b1

Oppgave:

Omkretsen av et rektangel er \(40\). Vi lar lengden av den ene siden være \(x\). Vis at arealet er gitt ved \(A(x)=-x^2+20x\).

Vis løsning

Steg 1 - Bruk omkretsen

La den andre siden være \(y\). Omkretsen er

\[2x+2y=40.\]

Steg 2 - Løs for den andre siden

\[x+y=20\quad\Longrightarrow\quad y=20-x.\]

Steg 3 - Skriv arealet

Arealet er lengde ganger bredde:

\[A(x)=x(20-x)=20x-x^2=-x^2+20x.\]

Tolkning

Funksjonen er en andregradsfunksjon som beskriver alle mulige rektangler med omkrets \(40\), når \(0

Digital kontroll

GeoGebra · CAS
1
2x+2y=40
\(y=20-x\)
2
x(20-x)
\(-x^2+20x\)

Python-kontroll

from sympy import symbols, solve, expand
x, y = symbols('x y')
omkrets_likning = 2*x + 2*y - 40
los_y = solve(omkrets_likning, y)[0]
areal = expand(x * los_y)
print("Omkretslikning: 2x + 2y = 40")
print("Løst for y:", los_y)
print("Areal A(x):", areal)
print("Kontroll for x=10: A(10) =", areal.subs(x, 10))
Fasit: \(A(x)=-x^2+20x\)
Del 1 · Oppgave 1b2Maksimering

Oppgave 1b2

Oppgave:

Bruk derivasjon til å bestemme det største arealet rektanglet kan ha.

Vis løsning

Steg 1 - Deriver arealfunksjonen

Fra forrige del har vi \(A(x)=-x^2+20x\). Da er

\[A'(x)=-2x+20.\]

Steg 2 - Finn kritisk punkt

\[A'(x)=0\quad\Longrightarrow\quad -2x+20=0\quad\Longrightarrow\quad x=10.\]

Steg 3 - Kontroller at det er maksimum

Siden koeffisienten foran \(x^2\) er negativ, vender parabelen nedover. Punktet \(x=10\) gir derfor maksimum.

Steg 4 - Regn ut arealet

\[A(10)=-10^2+20\cdot 10=100.\]

Tolkning

Det største arealet får vi når rektanglet er et kvadrat med sider \(10\) og \(10\).

Digital kontroll

GeoGebra · CAS
1
Ekstremalpunkt(-x^2+20x)
\(x=10\)
2
A(10)
\(100\)

Python-kontroll

from sympy import symbols, diff, solve
x = symbols('x')
A = -x**2 + 20*x
A_derivert = diff(A, x)
kritiske = solve(A_derivert, x)
print("A(x) =", A)
print("A'(x) =", A_derivert)
print("Kritisk punkt:", kritiske)
for verdi in kritiske:
    print(f"A({verdi}) =", A.subs(x, verdi))
print("Andrederivert:", diff(A_derivert, x), "som er negativ, så dette er maksimum")
Fasit: \(100\)
Del 1 · Oppgave 1cAlgebraisk forenkling

Oppgave 1c

Oppgave:

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

Vis løsning

Steg 1 - Faktoriser teller og nevner

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

Steg 2 - Forkort brøken

For \(x\ne 1\) får vi

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

Steg 3 - Trekk fra

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

Definisjonsmengde

Det opprinnelige uttrykket er ikke definert for \(x=-1\) eller \(x=1\).

Digital kontroll

GeoGebra · CAS
1
Forenkle(1-(2x-2)/(x^2-1))
\(\dfrac{x-1}{x+1}\)
2
Faktoriser(x^2-1)
\((x-1)(x+1)\)

Python-kontroll

from sympy import symbols, factor, simplify, cancel
x = symbols('x')
uttrykk = 1 - (2*x - 2)/(x**2 - 1)
print("Opprinnelig uttrykk:", uttrykk)
print("Nevner faktorisert:", factor(x**2 - 1))
print("Forenklet med cancel:", cancel(uttrykk))
print("Forenklet med simplify:", simplify(uttrykk))
print("Ikke tillatte x-verdier: -1 og 1")
Fasit: \(\dfrac{x-1}{x+1}\), der \(x\ne -1\) og \(x\ne 1\)
Del 1 · Oppgave 1dUlikhet

Oppgave 1d

Oppgave:

Løs ulikheten \(x^2

Vis løsning

Steg 1 - Samle alt på én side

\[x^2-x-6<0.\]

Steg 2 - Faktoriser

\[x^2-x-6=(x-3)(x+2).\]

Steg 3 - Bruk fortegnslinje

Nullpunktene er \(x=-2\) og \(x=3\). Parabelen vender oppover, så uttrykket er negativt mellom nullpunktene.

Steg 4 - Skriv løsningen

\[-2

Vanlig feil: Å ta med endepunktene. Tegnet er \(<\), ikke \(\le\).

Digital kontroll

GeoGebra · CAS
1
Løs(x^2<x+6,x)
\(-2
2
Faktoriser(x^2-x-6)
\((x-3)(x+2)\)

Python-kontroll

from sympy import symbols, S, solveset, factor
x = symbols('x')
uttrykk = x**2 - x - 6
print("Omordnet ulikhet:", uttrykk, "< 0")
print("Faktorisert:", factor(uttrykk))
print("Løsningsmengde:", solveset(uttrykk < 0, x, domain=S.Reals))
for test in [-3, 0, 4]:
    print(f"x={test}: verdi = {uttrykk.subs(x, test)}")
Fasit: \(-2
Del 1 · Oppgave 1eLogaritmeregler

Oppgave 1e

Oppgave:

Skriv så enkelt som mulig: \(3\lg x^2+\lg\dfrac{2}{x^3}\).

Vis løsning

Steg 1 - Bruk koeffisienten foran logaritmen

\[3\lg x^2=\lg((x^2)^3)=\lg(x^6).\]

Steg 2 - Bruk sumregel

\[\lg(x^6)+\lg\frac{2}{x^3}=\lg\left(x^6\cdot\frac{2}{x^3}\right).\]

Steg 3 - Forenkle argumentet

\[x^6\cdot\frac{2}{x^3}=2x^3.\]

Svar

Uttrykket blir \(\lg(2x^3)\), med \(x>0\).

Digital kontroll

GeoGebra · CAS
1
Forenkle(3log10(x^2)+log10(2/x^3))
\(\log_{10}(2x^3)\)
2
x^6*(2/x^3)
\(2x^3\)

Python-kontroll

from sympy import symbols, log, simplify
x = symbols('x', positive=True)
uttrykk = 3*log(x**2, 10) + log(2/x**3, 10)
argument = (x**2)**3 * (2/x**3)
print("Samlet argument før forenkling:", argument)
print("Samlet argument etter forenkling:", simplify(argument))
print("Forenklet logaritmeuttrykk:", log(simplify(argument), 10))
print("Definisjonskrav: x > 0")
Fasit: \(\lg(2x^3)\), for \(x>0\)
Del 1 · Oppgave 1fRasjonal likning

Oppgave 1f

Oppgave:

Løs likningen \(\dfrac{x}{x-2}+\dfrac{x-3}{x-5}=2\).

Vis løsning

Steg 1 - Sjekk definisjonsmengden

Vi må ha \(x\ne 2\) og \(x\ne 5\).

Steg 2 - Multipliser med fellesnevner

Fellesnevneren er \((x-2)(x-5)\). Da får vi

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

Steg 3 - Utvid og forenkle

\[x^2-5x+x^2-5x+6=2x^2-14x+20.\]

\[2x^2-10x+6=2x^2-14x+20.\]

Steg 4 - Løs lineær likning

\[4x=14\quad\Longrightarrow\quad x=\frac{7}{2}.\]

Steg 5 - Kontroller definisjonsmengden

Verdien \(x=\dfrac{7}{2}\) er verken \(2\) eller \(5\), så den er gyldig.

Digital kontroll

GeoGebra · CAS
1
Løs(x/(x-2)+(x-3)/(x-5)=2,x)
\(x=\dfrac{7}{2}\)
2
x≠2, x≠5
gyldig

Python-kontroll

from sympy import symbols, Eq, solve, simplify
x = symbols('x')
likning = Eq(x/(x - 2) + (x - 3)/(x - 5), 2)
losninger = solve(likning, x)
print("Likning:", likning)
print("Løsninger fra SymPy:", losninger)
for verdi in losninger:
    venstre = simplify(likning.lhs.subs(x, verdi))
    hoyre = simplify(likning.rhs.subs(x, verdi))
    print(f"x={verdi}: venstre = {venstre}, høyre = {hoyre}, gyldig = {verdi not in [2,5]}")
Fasit: \(x=\dfrac{7}{2}\)
Del 1 · Oppgave 1gEksponentiallikning

Oppgave 1g

Oppgave:

Løs likningen \(10^{2x}-10^x-6=0\).

Vis løsning

Steg 1 - Substituer

Sett \(u=10^x\). Da er \(10^{2x}=(10^x)^2=u^2\). Likningen blir

\[u^2-u-6=0.\]

Steg 2 - Faktoriser

\[u^2-u-6=(u-3)(u+2).\]

Steg 3 - Vurder mulige \(u\)-verdier

Vi får \(u=3\) eller \(u=-2\). Men \(u=10^x>0\), så \(u=-2\) forkastes.

Steg 4 - Løs for \(x\)

\[10^x=3\quad\Longrightarrow\quad x=\lg 3.\]

Digital kontroll

GeoGebra · CAS
1
Løs(10^(2x)-10^x-6=0,x)
\(x=\log_{10}(3)\)
2
N( log10(3) )
\(0{,}4771\)

Python-kontroll

from sympy import symbols, Eq, solve, log, N
x, u = symbols('x u')
likning_u = Eq(u**2 - u - 6, 0)
los_u = solve(likning_u, u)
print("Substitusjon: u = 10^x")
print("Likning i u:", likning_u)
print("Løsninger for u:", los_u)
print("Bare u=3 er mulig fordi 10^x > 0")
print("x = log(3, 10) =", log(3, 10))
print("Desimalverdi:", N(log(3, 10), 8))
Fasit: \(x=\lg 3\)
Del 1 · Oppgave 1hPascals trekant

Oppgave 1h

Oppgave:

Skriv opp de syv første radene av Pascals talltrekant. Marker hvor du finner binomialkoeffisientene \(\binom{5}{1}\), \(\binom{5}{2}\) og \(\binom{5}{4}\).

Vis løsning

Steg 1 - Skriv radene

Vi nummererer radene fra \(n=0\):

RadTall
01
11 1
21 2 1
31 3 3 1
41 4 6 4 1
51 5 10 10 5 1
61 6 15 20 15 6 1

Steg 2 - Finn koeffisientene

I rad \(5\) finner vi koeffisientene til \((a+b)^5\):

\[\binom{5}{1}=5,\qquad \binom{5}{2}=10,\qquad \binom{5}{4}=5.\]

Tolkning

Koeffisienten \(\binom{n}{k}\) står i rad \(n\), posisjon \(k\), når første posisjon er \(k=0\).

Digital kontroll

GeoGebra · CAS
1
Binomial(5,1)
\(5\)
2
Binomial(5,2)
\(10\)
3
Binomial(5,4)
\(5\)

Python-kontroll

from math import comb
for n in range(7):
    rad = [comb(n, k) for k in range(n + 1)]
    print(f"Rad {n}:", rad)
print("C(5,1) =", comb(5, 1))
print("C(5,2) =", comb(5, 2))
print("C(5,4) =", comb(5, 4))
Fasit: \(\binom{5}{1}=5\), \(\binom{5}{2}=10\), \(\binom{5}{4}=5\)
Del 1 · Oppgave 1iBinomisk sannsynlighet

Oppgave 1i

Oppgave:

Regn ut sannsynligheten for å få \(2\) kron når vi kaster en mynt \(5\) ganger.

Vis løsning

Steg 1 - Identifiser binomisk modell

Hvert kast har to utfall, og vi antar rettferdig mynt. Da er \(n=5\), \(p=\frac{1}{2}\) og \(k=2\).

Steg 2 - Bruk formelen

\[P(X=2)=\binom{5}{2}\left(\frac{1}{2}\right)^2\left(\frac{1}{2}\right)^3.\]

Steg 3 - Regn ut

\[P(X=2)=10\cdot\left(\frac{1}{2}\right)^5=\frac{10}{32}=\frac{5}{16}=0{,}3125.\]

Tolkning

Sannsynligheten er \(31{,}25\) prosent.

Digital kontroll

GeoGebra · CAS
1
Binomial(5,2)*(1/2)^5
\(\dfrac{5}{16}\)
2
N(5/16)
\(0{,}3125\)

Python-kontroll

from math import comb
from fractions import Fraction
n = 5
k = 2
p = Fraction(1, 2)
sannsynlighet = comb(n, k) * p**k * (1 - p)**(n - k)
print("n =", n)
print("k =", k)
print("p =", p)
print("C(5,2) =", comb(5, 2))
print("Sannsynlighet som brøk:", sannsynlighet)
print("Sannsynlighet som desimaltall:", float(sannsynlighet))
Fasit: \(\dfrac{5}{16}=0{,}3125\)

Del 2

Del 2 inneholder kombinatorikk, kostnadsfunksjoner og lineær optimering. Begge alternativene i oppgave 4 er løst.
Del 2 · Oppgave 2aHypergeometrisk sannsynlighet

Oppgave 2a

Oppgave:

I en klasse er det \(25\) elever, \(14\) jenter og \(11\) gutter. Det trekkes ut \(6\) elever. Hva er sannsynligheten for at det trekkes ut \(4\) jenter og \(2\) gutter?

Vis løsning

Steg 1 - Velg gunstige grupper

Vi må velge \(4\) av \(14\) jenter og \(2\) av \(11\) gutter:

\[\binom{14}{4}\binom{11}{2}.\]

Steg 2 - Velg alle mulige grupper

Alle ryddegjenger med \(6\) elever kan velges på

\[\binom{25}{6}\]

måter.

Steg 3 - Sannsynligheten

\[P=\frac{\binom{14}{4}\binom{11}{2}}{\binom{25}{6}}\approx 0{,}3162.\]

Digital kontroll

GeoGebra · CAS
1
nCr(14,4)*nCr(11,2)/nCr(25,6)
\(0{,}3162\)

Python-kontroll

from math import comb
from fractions import Fraction
gunstige = comb(14, 4) * comb(11, 2)
totalt = comb(25, 6)
P = Fraction(gunstige, totalt)
print("Gunstige utvalg:", gunstige)
print("Totalt antall utvalg:", totalt)
print("Sannsynlighet som brøk:", P)
print("Sannsynlighet som desimaltall:", round(float(P), 6))
Fasit: \(\dfrac{\binom{14}{4}\binom{11}{2}}{\binom{25}{6}}\approx 0{,}3162\)
Del 2 · Oppgave 2bHypergeometrisk sannsynlighet

Oppgave 2b

Oppgave:

Hva er sannsynligheten for at det trekkes ut like mange gutter og jenter?

Vis løsning

Steg 1 - Like mange betyr \(3\) jenter og \(3\) gutter

Siden det trekkes \(6\) elever, må vi ha \(3+3\).

Steg 2 - Sett opp brøken

\[P=\frac{\binom{14}{3}\binom{11}{3}}{\binom{25}{6}}.\]

Steg 3 - Regn ut

\[P\approx 0{,}3040.\]

Digital kontroll

GeoGebra · CAS
1
nCr(14,3)*nCr(11,3)/nCr(25,6)
\(0{,}3040\)

Python-kontroll

from math import comb
from fractions import Fraction
gunstige = comb(14, 3) * comb(11, 3)
totalt = comb(25, 6)
P = Fraction(gunstige, totalt)
print("3 jenter og 3 gutter:", gunstige)
print("Totalt:", totalt)
print("P =", P)
print("P avrundet =", round(float(P), 6))
Fasit: \(\dfrac{\binom{14}{3}\binom{11}{3}}{\binom{25}{6}}\approx 0{,}3040\)
Del 2 · Oppgave 2cHypergeometrisk sannsynlighet

Oppgave 2c

Oppgave:

Hva er sannsynligheten for at det trekkes ut flere jenter enn gutter?

Vis løsning

Steg 1 - Finn mulige tilfeller

Av \(6\) elever får vi flere jenter enn gutter når antall jenter er \(4\), \(5\) eller \(6\).

Steg 2 - Summer gunstige tilfeller

\[P=\frac{\binom{14}{4}\binom{11}{2}+\binom{14}{5}\binom{11}{1}+\binom{14}{6}\binom{11}{0}}{\binom{25}{6}}.\]

Steg 3 - Regn ut

\[P\approx 0{,}5152.\]

Digital kontroll

GeoGebra · CAS
1
Sum(nCr(14,j)*nCr(11,6-j),j,4,6)/nCr(25,6)
\(0{,}5152\)

Python-kontroll

from math import comb
from fractions import Fraction
totalt = comb(25, 6)
termer = []
for jenter in [4, 5, 6]:
    gutter = 6 - jenter
    antall = comb(14, jenter) * comb(11, gutter)
    termer.append(antall)
    print(f"Jenter={jenter}, gutter={gutter}: gunstige = {antall}")
P = Fraction(sum(termer), totalt)
print("Totalt antall utvalg:", totalt)
print("Sannsynlighet:", P)
print("Desimal:", round(float(P), 6))
Fasit: \(\approx 0{,}5152\)
Del 2 · Oppgave 2dKomplement

Oppgave 2d

Oppgave:

Hva er sannsynligheten for at begge kjønn blir representert i ryddegjengen?

Vis løsning

Steg 1 - Bruk komplement

Begge kjønn er representert betyr at vi ikke trekker bare jenter og ikke bare gutter.

Steg 2 - Sett opp uttrykket

\[P=1-\frac{\binom{14}{6}+\binom{11}{6}}{\binom{25}{6}}.\]

Steg 3 - Regn ut

\[P\approx 0{,}9167.\]

Tolkning

Det er svært sannsynlig at begge kjønn kommer med, fordi utvalget består av hele \(6\) elever.

Digital kontroll

GeoGebra · CAS
1
1-(nCr(14,6)+nCr(11,6))/nCr(25,6)
\(0{,}9167\)

Python-kontroll

from math import comb
from fractions import Fraction
totalt = comb(25, 6)
kun_jenter = comb(14, 6)
kun_gutter = comb(11, 6)
P = 1 - Fraction(kun_jenter + kun_gutter, totalt)
print("Kun jenter:", kun_jenter)
print("Kun gutter:", kun_gutter)
print("Totalt:", totalt)
print("P(begge kjønn representert) =", P)
print("Desimal:", round(float(P), 6))
Fasit: \(1-\dfrac{\binom{14}{6}+\binom{11}{6}}{\binom{25}{6}}\approx 0{,}9167\)
Del 2 · Oppgave 3aKostnadsfunksjon

Oppgave 3a

Oppgave:

Tabellen viser \(x=0,100,250,400\) og \(K(x)=6000,12500,29750,56000\). Vis at \(K(x)=0{,}2x^2+45x+6000\) passer med dataene.

Vis løsning

Steg 1 - Sett inn hvert \(x\)-tall

Vi kontrollerer funksjonsverdiene:

\[K(0)=6000.\]

\[K(100)=0{,}2\cdot 100^2+45\cdot 100+6000=12500.\]

\[K(250)=0{,}2\cdot 250^2+45\cdot 250+6000=29750.\]

\[K(400)=0{,}2\cdot 400^2+45\cdot 400+6000=56000.\]

Konklusjon

Alle verdiene stemmer med tabellen, så funksjonen passer med de oppgitte dataene.

Digital kontroll

GeoGebra · CAS
1
K(x)=0.2x^2+45x+6000
gir tabellverdiene
2
K(400)
\(56000\)

Python-kontroll

from sympy import symbols, Rational
x = symbols('x')
K = Rational(1, 5)*x**2 + 45*x + 6000
verdier = [0, 100, 250, 400]
fasit = [6000, 12500, 29750, 56000]
for xv, forventet in zip(verdier, fasit):
    beregnet = K.subs(x, xv)
    print(f"K({xv}) = {beregnet}, tabell = {forventet}, stemmer = {beregnet == forventet}")
Fasit: Funksjonen passer med alle fire tabellverdiene.
Del 2 · Oppgave 3bGrensekostnad

Oppgave 3b

Oppgave:

Grensekostnaden ved produksjon av \(x\) enheter er \(K'(x)\). Bestem grensekostnaden når \(x=200\). Forklar hva grensekostnaden forteller oss.

Vis løsning

Steg 1 - Deriver kostnadsfunksjonen

\[K(x)=0{,}2x^2+45x+6000.\]

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

Steg 2 - Sett inn \(x=200\)

\[K'(200)=0{,}4\cdot 200+45=125.\]

Tolkning

Ved produksjon av omtrent \(200\) enheter er kostnadsøkningen omtrent \(125\) kroner per ekstra produsert enhet.

Digital kontroll

GeoGebra · CAS
1
Derivert(0.2x^2+45x+6000)
\(0{,}4x+45\)
2
K'(200)
\(125\)

Python-kontroll

from sympy import symbols, Rational, diff
x = symbols('x')
K = Rational(1, 5)*x**2 + 45*x + 6000
K_derivert = diff(K, x)
verdi = K_derivert.subs(x, 200)
print("K(x) =", K)
print("K'(x) =", K_derivert)
print("K'(200) =", verdi)
print("Tolkning: omtrent", verdi, "kroner per ekstra enhet rundt x=200")
Fasit: \(K'(200)=125\). Grensekostnaden er omtrent \(125\) kr per ekstra enhet.
Del 2 · Oppgave 3cEnhetskostnad

Oppgave 3c

Oppgave:

Enhetskostnaden er \(G(x)=\dfrac{K(x)}{x}\). Tegn grafen til \(G\), og bruk denne til å finne produksjonsmengden som gir lavest enhetskostnad.

Vis løsning

Steg 1 - Skriv enhetskostnaden

\[G(x)=\frac{0{,}2x^2+45x+6000}{x}=0{,}2x+45+\frac{6000}{x},\qquad x>0.\]

Steg 2 - Finn minimum analytisk

Grafisk ser bunnpunktet ut til å ligge rundt \(x=173\). Vi kan bekrefte ved derivasjon:

\[G'(x)=0{,}2-\frac{6000}{x^2}.\]

\[G'(x)=0\quad\Longrightarrow\quad x^2=30000\quad\Longrightarrow\quad x=100\sqrt{3}\approx 173{,}2.\]

Steg 3 - Minste enhetskostnad

\[G(100\sqrt{3})\approx 114{,}3.\]

173minxG
Skisse: grafen til \(G\) faller først, får minimum rundt \(173\), og stiger deretter.

Digital kontroll

GeoGebra · CAS
1
Min(0.2x+45+6000/x)
\(x=100\sqrt{3}\)
2
G(100sqrt(3))
\(114{,}3\)

Python-kontroll

from sympy import symbols, Rational, diff, solve, sqrt, N
x = symbols('x', positive=True)
G = Rational(1, 5)*x + 45 + 6000/x
G_derivert = diff(G, x)
kritiske = solve(G_derivert, x)
print("G(x) =", G)
print("G'(x) =", G_derivert)
print("Kritiske x-verdier:", kritiske)
for verdi in kritiske:
    print("x =", verdi, "≈", N(verdi, 6))
    print("G(x) =", N(G.subs(x, verdi), 6))
Fasit: Lavest enhetskostnad ved \(x=100\sqrt{3}\approx 173\) enheter.
Del 2 · Oppgave 3dKontroll med grensekostnad

Oppgave 3d

Oppgave:

Det kan vises at vi har lavest enhetskostnad når grensekostnaden er lik enhetskostnaden. Bruk dette til å kontrollere svaret i c).

Vis løsning

Steg 1 - Skriv grensekostnad og enhetskostnad

\[K'(x)=0{,}4x+45,\qquad G(x)=0{,}2x+45+\frac{6000}{x}.\]

Steg 2 - Sett dem lik hverandre

\[0{,}4x+45=0{,}2x+45+\frac{6000}{x}.\]

Steg 3 - Løs likningen

\[0{,}2x=\frac{6000}{x}.\]

\[0{,}2x^2=6000\quad\Longrightarrow\quad x^2=30000.\]

\[x=100\sqrt{3}\approx 173{,}2.\]

Konklusjon

Dette er samme produksjonsmengde som i c), så svaret er kontrollert.

Digital kontroll

GeoGebra · CAS
1
Løs(0.4x+45=0.2x+45+6000/x,x)
\(x=100\sqrt{3}\)

Python-kontroll

from sympy import symbols, Eq, Rational, solve, sqrt, N
x = symbols('x', positive=True)
K_derivert = Rational(2, 5)*x + 45
G = Rational(1, 5)*x + 45 + 6000/x
likning = Eq(K_derivert, G)
losning = solve(likning, x)
print("K'(x) =", K_derivert)
print("G(x) =", G)
print("Likning K'(x)=G(x):", likning)
print("Løsning:", losning)
print("Desimal:", [N(v, 6) for v in losning])
Fasit: \(x=100\sqrt{3}\approx 173{,}2\)
Del 2 · Oppgave 4 Alt I aLineær optimering

Oppgave 4 Alternativ I a

Oppgave:

Forklar at produsentens samlede utgifter er gitt ved \(f(x,y)=24000x+20000y\).

Vis løsning

Steg 1 - Tolk variablene

Avdeling A arbeider \(x\) uker, og avdeling B arbeider \(y\) uker.

Steg 2 - Kostnad per uke

Avdeling A koster \(24000\) kr per uke, altså \(24000x\) kroner. Avdeling B koster \(20000\) kr per uke, altså \(20000y\) kroner.

Steg 3 - Samlet kostnad

\[f(x,y)=24000x+20000y.\]

Digital kontroll

GeoGebra · CAS
1
f(x,y)=24000x+20000y
kostnadsfunksjon

Python-kontroll

from sympy import symbols
x, y = symbols('x y')
kostnad = 24000*x + 20000*y
print("Kostnad avdeling A:", 24000*x)
print("Kostnad avdeling B:", 20000*y)
print("Samlet kostnadsfunksjon:", kostnad)
print("Eksempel x=2, y=3.2 gir:", kostnad.subs({x:2, y:3.2}))
Fasit: \(f(x,y)=24000x+20000y\)
Del 2 · Oppgave 4 Alt I bUlikheter

Oppgave 4 Alternativ I b

Oppgave:

Bruk opplysningene til å sette opp ulikhetene som \(x\) og \(y\) må oppfylle.

Vis løsning

Steg 1 - Modell M40

A produserer \(80\) og B produserer \(18\) per uke. Bestillingen er \(162\):

\[80x+18y\ge 162.\]

Steg 2 - Modell M30

\[6x+15y\ge 60.\]

Steg 3 - Modell M20

\[38x+20y\ge 140.\]

Steg 4 - Ikke-negative variabler

\[x\ge 0,\qquad y\ge 0.\]

Digital kontroll

GeoGebra · CAS
1
80x+18y≥162
M40
2
6x+15y≥60
M30
3
38x+20y≥140
M20

Python-kontroll

from sympy import symbols
x, y = symbols('x y')
ulikheter = [80*x + 18*y >= 162, 6*x + 15*y >= 60, 38*x + 20*y >= 140, x >= 0, y >= 0]
print("Ulikheter for produksjonskrav:")
for u in ulikheter:
    print(" ", u)
print("Disse uttrykker at produsenten minst må oppfylle bestillingen.")
Fasit: \(80x+18y\ge162\), \(6x+15y\ge60\), \(38x+20y\ge140\), \(x\ge0\), \(y\ge0\)
Del 2 · Oppgave 4 Alt I cGrafisk område

Oppgave 4 Alternativ I c

Oppgave:

Tegn et koordinatsystem, og skraver området som tilfredsstiller ulikhetene.

Vis løsning

Steg 1 - Skriv grenselinjene

Grenselinjene er

\[80x+18y=162,\qquad 6x+15y=60,\qquad 38x+20y=140.\]

Steg 2 - Velg riktig side

Alle ulikhetene er av typen \(\ge\), så løsningen ligger på siden som gir nok produksjon. I tillegg må \(x\) og \(y\) være ikke-negative.

Steg 3 - Skisse

Det interessante hjørnet for minimumskostnaden ligger der linjene for M30 og M20 møtes.

(2, 3.2)xy
Skissen viser et mulig løsningsområde. Minimum ligger i et hjørne av området.

Digital kontroll

GeoGebra · CAS
1
Halvplaner med ≥-ulikheter
fellesområde

Python-kontroll

# Numerisk sjekk av hjørnepunktene i løsningsområdet
from fractions import Fraction
punkter = [(0, 9), (Fraction(180, 229), Fraction(1261, 229)), (2, Fraction(16, 5)), (10, 0)]
for x, y in punkter:
    krav = [80*x + 18*y, 6*x + 15*y, 38*x + 20*y]
    print(f"Punkt ({x}, {y}) gir produksjon M40/M30/M20 = {krav}")
print("Bare punkter som oppfyller alle kravene er aktuelle i det skraverte området.")
Fasit: Løsningsområdet er fellesområdet i første kvadrant som ligger på riktig side av alle tre kravlinjene.
Del 2 · Oppgave 4 Alt I dLineær optimering

Oppgave 4 Alternativ I d

Oppgave:

Hvor mange uker må avdeling A og avdeling B jobbe for at produksjonskostnaden skal bli lavest mulig?

Vis løsning

Steg 1 - Bruk at optimum ligger i et hjørne

Ved lineær optimering med lineære ulikheter finner vi minimum i et hjørnepunkt av løsningsområdet.

Steg 2 - Finn aktuelle hjørner

De aktuelle hjørnene er blant annet \((0,9)\), \(\left(\frac{180}{229},\frac{1261}{229}\right)\), \((2,\frac{16}{5})\) og \((10,0)\).

Steg 3 - Regn kostnadene

PunktKostnad
\((0,9)\)\(180000\)
\(\left(\frac{180}{229},\frac{1261}{229}\right)\)ca. \(128996\)
\((2,\frac{16}{5})\)\(112000\)
\((10,0)\)\(240000\)

Konklusjon

Lavest kostnad fås når \(x=2\) og \(y=\frac{16}{5}=3{,}2\).

Digital kontroll

GeoGebra · CAS
1
Minimer(24000x+20000y)
\((2,3{,}2)\)
2
f(2,3.2)
\(112000\)

Python-kontroll

from fractions import Fraction
punkter = [(0, 9), (Fraction(180, 229), Fraction(1261, 229)), (2, Fraction(16, 5)), (10, 0)]
def kostnad(x, y):
    return 24000*x + 20000*y
for p in punkter:
    x, y = p
    print(f"Punkt {p}: kostnad = {kostnad(x, y)} = {float(kostnad(x, y)):.2f}")
print("Minimum fås ved x=2 og y=16/5 = 3.2")
Fasit: Avdeling A: \(2\) uker. Avdeling B: \(3{,}2\) uker. Minste kostnad er \(112000\) kr.
Del 2 · Oppgave 4 Alt II aLineær optimering

Oppgave 4 Alternativ II a

Oppgave:

Forklar at fortjenesten er gitt ved uttrykket \(600x+500y\), der \(x\) er antall crossykler og \(y\) er antall racersykler.

Vis løsning

Steg 1 - Tolk variablene

Hver crossykkel gir \(600\) kr i fortjeneste, og hver racersykkel gir \(500\) kr.

Steg 2 - Multipliser antall med fortjeneste per sykkel

\[\text{fortjeneste fra cross}=600x,\qquad \text{fortjeneste fra racer}=500y.\]

Steg 3 - Summer

\[F(x,y)=600x+500y.\]

Digital kontroll

GeoGebra · CAS
1
F(x,y)=600x+500y
fortjenestefunksjon

Python-kontroll

from sympy import symbols
x, y = symbols('x y')
F = 600*x + 500*y
print("Fortjeneste per cross:", 600)
print("Fortjeneste per racer:", 500)
print("Fortjenestefunksjon:", F)
print("Eksempel: F(160, 220) =", F.subs({x:160, y:220}))
Fasit: \(F(x,y)=600x+500y\)
Del 2 · Oppgave 4 Alt II bUlikheter

Oppgave 4 Alternativ II b

Oppgave:

Sett opp ulikhetene som \(x\) og \(y\) må oppfylle.

Vis løsning

Steg 1 - Sveiseavdelingen

Cross bruker \(2\) timer og racer \(4\) timer. Kapasiteten er \(1200\) timer:

\[2x+4y\le 1200.\]

Steg 2 - Lakkeringsavdelingen

\[3x+2y\le 1000.\]

Steg 3 - Salgsbegrensninger

\[x\le 160,\qquad y\le 300.\]

Steg 4 - Ikke-negative variabler

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

Digital kontroll

GeoGebra · CAS
1
2x+4y≤1200
sveis
2
3x+2y≤1000
lakk
3
x≤160, y≤300
salg

Python-kontroll

from sympy import symbols
x, y = symbols('x y')
ulikheter = [2*x + 4*y <= 1200, 3*x + 2*y <= 1000, x <= 160, y <= 300, x >= 0, y >= 0]
print("Begrensninger i modellen:")
for u in ulikheter:
    print(" ", u)
Fasit: \(2x+4y\le1200\), \(3x+2y\le1000\), \(x\le160\), \(y\le300\), \(x,y\ge0\)
Del 2 · Oppgave 4 Alt II cMaksimering

Oppgave 4 Alternativ II c

Oppgave:

Bestem hvilke verdier av \(x\) og \(y\) som gjør fortjenesten størst mulig.

Vis løsning

Steg 1 - Finn hjørnepunkter

Aktuelle hjørner er \((0,0)\), \((160,0)\), \((160,220)\) og \((0,300)\). Punktet \((160,220)\) kommer fra \(x=160\) og \(x+2y=600\).

Steg 2 - Regn fortjeneste

PunktFortjeneste
\((0,0)\)\(0\)
\((160,0)\)\(96000\)
\((0,300)\)\(150000\)
\((160,220)\)\(206000\)

Konklusjon

Maksimal fortjeneste fås ved \(x=160\) og \(y=220\).

Digital kontroll

GeoGebra · CAS
1
Maksimer(600x+500y)
\((160,220)\)
2
600*160+500*220
\(206000\)

Python-kontroll

punkter = [(0, 0), (160, 0), (0, 300), (160, 220)]
def F(x, y):
    return 600*x + 500*y
for x, y in punkter:
    sveis = 2*x + 4*y
    lakk = 3*x + 2*y
    print(f"Punkt ({x}, {y}): F={F(x,y)}, sveis={sveis}, lakk={lakk}")
beste = max(punkter, key=lambda p: F(*p))
print("Beste punkt:", beste)
print("Maksimal fortjeneste:", F(*beste))
Fasit: \(x=160\), \(y=220\), maksimal fortjeneste \(206000\) kr.
Del 2 · Oppgave 4 Alt II dLineær optimering i tre variabler

Oppgave 4 Alternativ II d

Oppgave:

Bedriften starter også produksjon av hybridsykler med fortjeneste \(700\) kr, \(4\) timer i sveising, \(3\) timer i lakkering og maksimalt \(200\) hybridsykler. La \(z\) være antall hybridsykler. Bestem \(x\), \(y\) og \(z\) som gjør fortjenesten størst mulig.

Vis løsning

Steg 1 - Utvid modellen

Fortjenesten blir

\[F(x,y,z)=600x+500y+700z.\]

Begrensningene er

\[2x+4y+4z\le1200,\qquad 3x+2y+3z\le1000.\]

\[x\le160,\qquad y\le300,\qquad z\le200,\qquad x,y,z\ge0.\]

Steg 2 - Bruk hjørnepunktsmetoden

Med tre variabler undersøker vi hjørnepunktene i det tredimensjonale mulighetsområdet. Det beste aktuelle punktet er der begge kapasitetsbegrensningene er aktive og \(z=200\).

Steg 3 - Løs med \(z=200\)

Da får vi

\[2x+4y+800=1200\quad\Longrightarrow\quad x+2y=200.\]

\[3x+2y+600=1000\quad\Longrightarrow\quad 3x+2y=400.\]

Subtraksjon gir \(2x=200\), altså \(x=100\). Da blir \(100+2y=200\), så \(y=50\).

Steg 4 - Fortjenesten

\[F(100,50,200)=600\cdot100+500\cdot50+700\cdot200=225000.\]

Digital kontroll

GeoGebra · CAS
1
Maksimer(600x+500y+700z)
\((100,50,200)\)
2
F(100,50,200)
\(225000\)

Python-kontroll

import itertools
import numpy as np
# Maksimer F = 600x + 500y + 700z
# Begrensninger: 2x+4y+4z<=1200, 3x+2y+3z<=1000, x<=160, y<=300, z<=200, x,y,z>=0
constraints = [
    (2, 4, 4, 1200, "sveis"),
    (3, 2, 3, 1000, "lakk"),
    (1, 0, 0, 160, "xmax"),
    (0, 1, 0, 300, "ymax"),
    (0, 0, 1, 200, "zmax"),
    (-1, 0, 0, 0, "x0"),
    (0, -1, 0, 0, "y0"),
    (0, 0, -1, 0, "z0"),
]

def feasible(p):
    x, y, z = p
    return all(a*x + b*y + c*z <= d + 1e-9 for a, b, c, d, _ in constraints)

def profit(p):
    x, y, z = p
    return 600*x + 500*y + 700*z

candidates = []
for combi in itertools.combinations(constraints, 3):
    A = np.array([[c[0], c[1], c[2]] for c in combi], dtype=float)
    b = np.array([c[3] for c in combi], dtype=float)
    if abs(np.linalg.det(A)) < 1e-9:
        continue
    point = tuple(np.linalg.solve(A, b))
    if feasible(point):
        candidates.append((profit(point), point, [c[4] for c in combi]))

best = max(candidates, key=lambda item: item[0])
print("Antall hjørnepunkter sjekket:", len(candidates))
print("Beste fortjeneste:", best[0])
print("Beste punkt (x,y,z):", best[1])
print("Aktive begrensninger:", best[2])
for item in sorted(candidates, reverse=True)[:5]:
    print("Kandidat:", item)
Fasit: \(x=100\), \(y=50\), \(z=200\). Maksimal fortjeneste er \(225000\) kr.

Kontroll før publisering

HTML-filen er kontrollert for MathJax-delimitere, balanserte parenteskommandoer, fravær av dollartegn som matteformat, nøytral Python-visning, separate GeoGebra-bokser og fravær av varme eller neonpregede highlight-farger.