Skip to content
Task

Modellering og analyse av trigonometriske funksjoner

Mange periodiske fenomener i naturen kan modelleres med sinusfunksjoner. Når vi skal analysere funksjonene, er det lurt å bruke det vi vet om hvordan slike funksjoner ser ut og oppfører seg.

FM-9

Finn største og minste verdi til disse funksjonene uten hjelpemidler.

a) fx=12sinx

Løsning

Funksjonen vil ha sin største verdi når sinx=1. Det betyr at den største verdien er 12·1=12.

Funksjonen vil ha sin minste verdi når sinx=-1. Det betyr at den minste verdien er 12·-1=-12.

b) gx=3cos2x

Løsning

Funksjonen vil ha sin største verdi når cos2x=1. Det betyr at den største verdien er 3·1=3.

Funksjonen vil ha sin minste verdi når cos2x=-1. Det betyr at den største verdien er 3·-1=-3.

c) hx=2tan3x

Løsning

Vi vet at verdimengden til en tangensfunksjon er alle reelle verdier. Funksjonen vil derfor ikke ha en største eller minste verdi.

d) ix=3sin2x+2

Løsning

Funksjonen vil ha sin største verdi når sin2x=1. Det betyr at den største verdien er 3·1+2=5.

Funksjonen vil ha sin minste verdi når sin2x=-1. Det betyr at den minste verdien er 3·-1+2=-1.

e) jx=3sin3x-3cos3x

Løsning

Her kan vi bruke det vi vet om å slå sammen to slike trigonometriske uttrykk til et generelt sinusuttrykk. Vi setter

3sin3x-3cos3x = asin3x+bcos3x= Asin3x+𝜑

der

A=a2+b2=32+-32=12=23

Siden vi bare skal finne største og minste verdi til funksjonen, trenger vi ikke bry oss om hva 𝜑 er.

Amplituden til funksjonen er 23, og det er ingen konstantledd i funksjonen. Funksjonen vil derfor ha 23som største verdi og -23 som minste verdi.

FM-10

Vi skal analysere funksjonen

fx=2sinx2+π3+1

a) Finn nullpunktene til funksjonen.

Løsning

Det er ikke gitt noen definisjonsmengde, så da må vi anta at Df=.

fx = 02sinx2+π3+1 = 0sinx2+π3 = -12x2+π3 = 7π6+n·2π        x2+π3= 11π6+n·2πx2 = 5π6+n·2π        x2=9π6+n·2πx = 5π3+n·4π         x=3π+n·4πn  

Nullpunktene er x=5π3+n·4π       x=3π+n·4π.

b) Bestem de stasjonære punktene til f og avgjør hva slags stasjonære punkter det er snakk om.

Løsning

Funksjonen er en variant av den generelle sinusfunksjonen. Vi bruker derfor at en sinusfunksjon er periodisk slik at toppunktene kommer med én periodes mellomrom. Det samme gjelder bunnpunktene.

En generell sinusfunksjon har sin største verdi når argumentet er π2+n·2π der n. Dette gir oss

x2+π3 = π2+n·2πx2 = π6+n·2πx = π3+n·4π

Vi vil få nye toppunkter med et mellomrom på 4π mellom hvert mellomrom. Det betyr at perioden p=4π. y-koordinatene blir

d+A=1+2=3

Toppunktene til f er derfor π3+n·4π, 3.

Bunnpunktene ligger midt mellom toppunktene, det vil si når

x=π3+4π2+n·4π=7π3+n·4π

y-koordinatene blir

d-A=1-2=-1

Bunnpunktene til f er derfor 7π3+n·4π, -1.

En generell sinusfunksjon har ingen terrassepunkter.

c) Analyser krumningsforholdene og finn vendepunktene til f.

Løsning

Vendepunktene til en sinusfunksjon ligger der grafen krysser likevektslinja. Derfor vil de ligge med en halv periodes mellomrom midt mellom et topp- og et bunnpunkt. For eksempel er x-koordinaten til noen av vendepunktene en kvart periode større enn x-koordinaten til toppunktene. Dette gir oss at vi får vendepunkter når

x=π3+4π4+n·4π2=4π3+n·2π

y-koordinaten til vendepunktet er d=1. Koordinatene til vendepunktene blir

4π3+n·2π, 1

Siden det første ekstremalpunktet etter vendepunktet i x=4π3 er bunnpunktet i 7π3, vil grafen vende den hule siden opp i intervallet mellom 4π3 og det "neste" vendepunktet, det vil si i intervallet 4π3,4π3+2π=4π3,10π3. I intervallet mellom 10π3 og det neste vendepunktet vil grafen vende den hule siden ned. Slik vil det fortsette.

d) Finn gjennomsnittsverdien til f.

Løsning

Gjennomsnittsverdien til f er d, som er 1.

FM-11

I denne oppgaven tar vi for oss den samme funksjonen som i den forrige oppgaven:

fx=2sinx2+π3+1

Nå skal du gjøre funksjonsanalyse ved å bruke derivasjon, slik du ville gjort det med en hvilken som helst annen type funksjon. Kontroller at du får samme svar som i forrige oppgave.

a) Finn de stasjonære punktene til f.

Løsning

Vi må først finne f'x. Vi setter u=x2+π3, som gir gu=2sinu+1 og u'=12 og bruker kjerneregelen når vi deriverer.

f'x = g'u·u'= 2cosu·12=  2cosx2+π3·12= cosx2+π3

Vi finner nullpunktene til den deriverte.

f'x = 0cosx2+π3 = 0x2+π3 = π2+n·πx2 = π6+n·πx = π3+n·2π ,   n

Nå må vi finne ut hvilke av disse x-verdiene som gir et toppunkt og hvilke som gir et bunnpunkt. Når n=0, får vi at x=π3. Argumentet til sinusfunksjonen blir da

π32+π3=π6+2π6=3π6=π2

Dette må være et toppunkt siden sinπ2=1 er den største verdien sinus kan ha. Det neste nullpunktet til den deriverte, som vi får når n=1, må være et bunnpunkt til funksjonen. n=2 må gi et toppunkt igjen.

Vi får derfor at x-koordinaten til toppunktene er

π3+2n·2π=π3+n·4π

og bunnpunktene

π3+2n+1·2π=π3+2π+n·4π=7π3+n·4π

Alternativt kan vi ta dobbeltderiverttesten for å sjekke hva slags type stasjonære punkter vi får.

f''x=-sinx2+π3·12=-12sinx2+π3

Vi setter inn nullpunktene til den deriverte.

f''π3+n·2π = -12sinπ3+n·2π2+π3= -12sinπ6+n·π+π3= -12sin3π6+n·π= -12sinπ2+n·π= ±12

Svaret skifter mellom å være positivt og negativt. Svaret er negativt når n er 0 eller et partall, og positivt når n er et oddetall. Dette gir samme resultat som over.

Vi bruker at y-koordinaten til toppunktene får vi når sinus til uttrykket i parentes er 1. Da trenger vi ikke sette inn x-koordinaten til toppunktene for å regne ut y-verdien. Dette gir

fπ3+n·4π = 2·1+1=3

y-koordinaten til bunnpunktene får vi tilsvarende når sinus til uttrykket i parentes er lik -1. Dette gir

f7π3+n·4π=2·-1+1=-1

Oppsummert får vi dette:

Toppunkt: π3+n·4π, 3

Bunnpunkt: 7π3+n·4π, -1

n

Stemmer dette med resultatet i forrige oppgave?

b) Finn vendepunktene til f.

Løsning

Vi finner vendepunktene ved å sette den dobbeltderiverte lik 0.

f''x = 0-12sinx2+π3 = 0x2+π3 = n·πx2 = -π3+n·πx = -2π3+n·2π= -2π3+2π+n·2π= 4π3+n·2πn  

Nederst har vi skrevet om uttrykket for å skrive det første leddet som en vinkel i første omløp, men vi må ikke gjøre det.

Vi prøver å sette denne løsningen inn i f.

f4π3+n·2π = 2sin4π3+n·2π2+π3+1= 2sin2π3+n·π+π3+1= 2sinπ+n·π+1= 2sinn·π+1= 2·0+1= 1

Vendepunktene til f er 4π3+n·2π, 1.

FM-12

Gitt funksjonen

f(x)=2sin2x+2x,x0, 2π

a) Kan vi bruke en forenklet metode for funksjonsanalysen uten å derivere i dette eksempelet slik vi kunne med funksjonen i den første oppgaven?

Løsning

Svaret er nei. Her har vi en kombinasjon av en sinusfunksjon og en polynomfunksjon som er avhengig av x. Da må vi derivere.

b) Finn eventuelle stasjonære punkter på grafen til funksjonen.

Løsning

Vi deriver fx. Vi bruker kjerneregelen igjen, her i kortform:

fx = 2sin2x+2xf'x=2cos2x·2+2=4cos2x+2

Vi finner eventuelle ekstremalpunkter ved å sette f'x=0.

4cos2x+2=0cos2x=-122x=2π3+k·2π2x=4π3+k·2π,k heltallx=π3+k·πx=2π3+k·π,x0, 2π

For begge løsningene kan vi bare bruke k-verdier på 0 og 1 for at løsningene skal være innenfor definisjonsmengden. Vi får følgende mulige ekstremalpunkter:

x=π3    x=π3+π=4π3

      

x=2π3    x=2π3+π=5π3

Så tar vi en stikkprøve for å avgjøre monotoniegenskapene i stedet for dobbeltderiverttesten:

f'π6 = 4cos2·π6+2=4·12+2=4

Siden den deriverte er en ren cosinusfunksjon, vet vi at den skifter fortegn i nullpunktene. Vi trenger derfor ikke å ta flere stikkprøver.

Vi kan nå sette opp fortegnslinja for f'x.

Fortegnslinja viser at grafen til f stiger i intervallene 0, π3, 2π3, 4π3 og 5π3, 2π og synker i intervallene π3, 2π3 og 4π3, 5π3.

x-koordinatene til toppunktene blir x=π3 og x=4π3, og bunnpunktene har x-koordinatene x=2π3 og x=5π3.

y-verdien til toppunktene blir

fπ3 =2sin2π3+2π3=232+2π3=3+2π3f4π3 =2sin8π3+2·4π3=232+4π3=3+8π3

y-verdien til bunnpunktene blir

f2π3=2sin4π3+2·2π3=2-32+4π3=-3+4π3f5π3=2sin10π3+2·5π3=2-32+10π3=-3+10π3

Toppunkter: π3, 3+4π3 og 4π3, 3+8π3

Bunnpunkter: 2π3, -3+4π3 og 5π3, -3+10π3

c) Er funksjonen f periodisk?

Løsning

Ekstremalpunktene kommer med periodiske mellomrom, men siden ekstremalverdiene varierer, vil ikke funksjonen være periodisk.

d) Finn eventuelle vendepunkter på grafen til funksjonen.

Løsning

Vi finner infleksjonspunkter ved å sette f''x=0. Først finner vi f''(x).

f'(x)=4cos2x+2f''(x)=4-sin2x·2=-8sin2x

Så setter vi den andrederiverte lik null.

f''(x)=0-8sin2x=0sin2x=02x=0+k·πx=k·π2 ,   k

Vi får løsning når k1,2,3. I stigende rekkefølge får vi følgende infleksjonspunkter:

x=π2         x=π          x=3π2fπ2=2sin2·π2+2·π2=πfπ=2sin2π+2π=2πf3π2=2sin2·3π2+2·3π2=3π

Vendepunkt:

π2, π, π, 2π og 3π2, 3π

e) Hvor stiger funksjonen raskest, og hvor raskt stiger den da?

Løsning

Funksjonen må stige raskest i ett av vendepunktene. Vi må se etter et vendepunkt som kommer etter et bunnpunkt. Det første bunnpunktet er 2π3, -3+4π3. Det nærmeste vendepunktet etter dette er π, 2π. Det andre bunnpunktet har ikke noe vendepunkt etter seg. Vi regner ut

f'π=4·cos2π+2=4·1+2=6

Funksjonen stiger raskest når x=π, og da er den momentane vekstfarten 6.

f) Finn vendetangenten i det vendepunktet som har minst x-verdi.

Løsning

Vendepunktet med minst x-verdi er punktet π2, π. Stigningstallet til tangenten er

f'π2=4cos2·π2+2=4·-1+2=-2

Vi bruker ettpunktsformelen for å finne vendetangenten:

y-y1=a(x-x1)y-π = -2x-π2y=-2x+2π

g) Tegn grafen til f inkludert vendetangenten og kontroller at resultatene over stemmer.

h) Kontroller resultatene med CAS.

Løsning

Vi bruker funksjonen f som alt er skrevet inn i algebrafeltet i GeoGebra.

I linje 1 finner vi ekstremalpunktene.

I linje 2 bruker vi dobbeltderiverttesten for å finne ut om ekstremalpunktene er minimal- eller maksimalpunkt.

I linje 3 regner vi ut ekstremalverdiene.

I linje 4 finner vi nullpunktene til den dobbeltderiverte. Ut fra verdiene vi fikk regnet ut i linje 2, ser vi at den dobbeltderiverte skifter fortegn i disse nullpunktene, som da er infleksjonspunkt.

I linje 5 finner vi y-koordinatene til vendepunktene.

I linje 6 regner vi ut den deriverte i vendepunktene siden det må være i ett av disse funksjonen stiger raskest.

I linje 7 finner vi tangenten for x=π2.

FM-13

Vi skal finne ekstremalpunktene til funksjonen

fx=2sin2x2-1

ved å skrive om funksjonen til en enkel trigonometrisk funksjon.

a) Forklar først hvorfor cosx=1-2sin2x2 ved å ta utgangspunkt i identiteten

cos2v=cos2v-sin2v

Løsning

Vi kan erstatte 2v med x i formelen. Det betyr at v=x2. Dette gir

cosx= cos2x2-sin2x2

Så bruker vi enhetsformelen med vinkelen x2:

cos2x2+sin2x2=1        cos2x2=1-sin2x2

Resultatet blir

cosx = cos2x2-sin2x2= 1-sin2x2-sin2x2= 1-2sin2x2

b) Bruk resultatet i a) til å skrive funksjonen f på en enklere måte.

Løsning

Ved å snu på resultatet i oppgave a) får vi at

2sin2x2=1-cosx

Dette gir videre

fx = 2sin2x2-1= 1-cosx-1= -cosx

c) Finn ekstremalpunktene til funksjonen f.

Løsning

Grafen vil ha toppunkter der cosx har bunnpunkter og motsatt. Det betyr at

  • bunnpunktene til f er n·2π,-1, n

  • toppunktene til f er π+n·2π,1

d) Vi kan finne ekstremalpunktene direkte uten å skrive om på funksjonen. Forklar hvordan.

Løsning

Vi vet at sin2x vil ha toppunkt både når sinx=1 og sinx=-1. Bunnpunktene vil være der sinx=0.

Toppunktene kommer derfor når

sinx2 = ±1x2 = π2+n·π ,    nx = π+n·2π

Bunnpunktene kommer tilsvarende når

sinx2 = 0x2 = n·πx = n·2π

Dette stemmer med det vi fant i oppgave d) over.

FM-14

Finn ekstremalpunktene til funksjonene nedenfor på en så enkel måte som mulig.

a) fx=2sin2x+1

Løsning

Vi vet at sin2x vil ha toppunkt både når sinx=1 og sinx=-1. Bunnpunktene vil være der sinx=0.

Toppunktene kommer derfor når

sinx = ±1x = π2+n·π

der n.

y-koordinaten til toppunktene blir 2·1+1=3.

Bunnpunktene kommer tilsvarende når

sinx = 0x = n·π

y-koordinaten til bunnpunktene blir 2·0+1=1.

Vi får

  • toppunkter: π2+n·π,3

  • bunnpunkter: n·π,1

der n.

b) fx=3cos23x-4

Løsning

Vi vet at cos23x vil ha toppunkt både når cos3x=1 og cos3x=-1. Bunnpunktene vil være der cos3x=0.

Toppunktene kommer derfor når

cos3x = ±13x = n·πx = n·π3

der n.

y-koordinaten til toppunktene blir 3·1-4=-1.

Bunnpunktene kommer tilsvarende når

cos3x = 03x = π2+n·πx = π6+n·π3

y-koordinaten til bunnpunktene blir 3·0-4=-4.

Vi får

  • toppunkter: n·π3,-1

  • bunnpunkter: π6+n·π3,-4

der n.

c) fx=5sin22x-π3+cos22x-π3-1

Løsning

Her lønner det seg å fjerne en av de trigonometriske funksjonene ved hjelp av enhetsformelen. Vi velger å fjerne cos22x.

cos22x-π3+sin22x-π3 = 1cos22x-π3 = 1-sin22x-π3

Dette gir

fx = 5sin22x-π3+cos22x-π3-1= 5sin22x-π3+1-sin22x-π3-1= 4sin22x-π3

Vi vet at sin2x vil ha toppunkt både når sinx=1 og sinx=-1. Bunnpunktene vil være der sinx=0.

Toppunktene kommer derfor når

sin2x-π3 = ±12x-π3 = π2+n·π2x = π2+π3+n·π= 5π6+n·πx = 5π12+n·π2

der n.

y-koordinaten til toppunktene blir 4·1=4.

Bunnpunktene kommer tilsvarende når

sin2x-π3 = 02x-π3 = n·π2x = π3+n·πx = π6+n·π2

y-koordinaten til bunnpunktene blir 4·0=0.

Vi får

  • toppunkter: 5π12+n·π2,4

  • bunnpunkter: π6+n·π2,0

der n.

FM-15

Til hver av oppgavene skal du lage en modell for svingningene ved å bruke informasjonen i oppgaven.

a) En friksjonsfri pendel svinger fra side til side. Avstanden mellom ytterpunktene av svingningen holder seg på 80 cm. Pendelen bruker 4 sekunder mellom hvert ytterpunkt.

Løsning

Den generelle sinusfunksjonen skriver vi som

fx=Asinkx+𝜑+d

Siden det er tida som er den frie variabelen, kan vi bytte ut x med t hvis vi vil.

Den første opplysningen betyr at

2A=80        A=40

Når pendelen bruker 4 s fra ytterpunkt til ytterpunkt, betyr det at perioden p=2·4=8. Det betyr at

k=2πp=2π8=π4

Siden vi ikke har flere opplysninger om svingningen, kan vi ikke regne oss fram til hva 𝜑 og d er. Vi kan derfor sette 𝜑=d=0. Funksjonen blir

fx=40sinπ4t

b) Besøkene på et nettsted følger et mønster som gjentar seg uke for uke. Besøkstoppen pleier å være på torsdager med cirka 30 000 unike brukere. Så avtar det jevnt til søndag, da det er på det laveste med cirka 15 000 unike brukere, før det igjen øker fram mot neste torsdag.

Løsning

Likevektslinja må ligge midt mellom laveste og høyeste verdi. Vi får derfor at

d=30 000+15 0002=22 500

A=30 000-d=30 000-22 500=7 500

Hvis vi lar x stå for dager, betyr det at perioden til funksjonen er ei uke, eller p=7. Da får vi at

k=2πp=2π7

Hvis vi lar x=1 bety en mandag, betyr det at funksjonen skal ha toppunkt når x=4. Dette gir

sink·4+𝜑 = 1k·4+𝜑 = π2+n·2π2π7·4+𝜑 = 7π14+ n·2π𝜑 = 7π14-16π14+ n·2π= -9π14+n·2π= 19π14+n·2π

der n. Det enkleste er da å velge n=0. Funksjonen f som passer best til å beskrive besøksmønsteret blir

fx=2 500sin2π7x+19π14+22 500

c) Det pleier å være 4 år mellom hver gang det er lemenår. En kartlegging viser at når det er lemenår, pleier antallet lemen i et fjellområde å ligge på 50 000. Midt mellom to lemenår kan antallet være nede i 4 000.

Løsning

Vi kan finne d og A på tilsvarende måte som i forrige oppgave.

d=50 000+4 0002=27 000

A=50 000-d=50 000-27 000=23 000

Hvis vi lar x stå for antall år, betyr det at perioden p=4. Det betyr at

k=2πp=2π4=π2

Vi kan si at det skal være lemenår når x=0. Det betyr at det skal være et toppunkt der. Dette gir

k·0+𝜑=π2        𝜑=π2

Vi behøver ikke ta med "+n·2π" siden vi er fornøyde med en enkelt verdi for 𝜑. Funksjonen for antall lemen blir

fx=23 000sinπ2x+π2+27 000

d) Vi lager et tverrsnitt av Sør-Norge som går omtrent på tvers av dalene Østerdalen, Gudbrandsdalen, Valdres og Hallingdal. Disse fire dalene er tilnærmet parallelle. Bruk for eksempel karttjenesten Norgeskart og finn en sinusfunksjon som passer noenlunde med høydeprofilen på dette tverrsnittet. Prøv å vurdere hvor godt sinusfunksjonen du kommer fram til, passer.

Tips til oppgaven

Du kan bruke verktøyet "Tegne og måle", som ligger under hovedmenyen på Norgeskart, til å måle avstander. Du kan finne høyder over havet ved å klikke direkte i kartet (gå ut av "Tegne og måle" først) og se øverst til venstre.

Løsning

Vi velger å lage et tverrsnitt fra Gol i Hallingdal til Koppang i Østerdalen. Dette måler vi til cirka 148 km. Denne avstanden skal tilsvare 3 perioder i sinusfunksjonen siden Østerdalen er den tredje dalen etter Hallingdal (vi regner ikke med noen mindre dalfører som også passeres, slik som Gausdal og Imsdalen).

Dalbunnene i de 4 dalene ligger mellom cirka 200 og 300 meter over havet. Da sier vi at den laveste verdien til sinusfunksjonen skal være 250. Tilsvarende måler vi at de høyeste toppene langs linja ligger rundt 1 250 meter over havet.

Vi får derfor at

d=1 250+2502=750

A=1 250-d=1 250-750=500

Vi lar x stå for avstand fra Gol målt i km. Siden det skal være 3 perioder mellom Gol og Koppang, betyr det at

3p=147        p=49

Dette gir videre at

k=2πp=2π49=0,128

Til slutt må vi bestemme 𝜑. Vi skal ha et bunnpunkt i Gol, det vil si for x=0. Dette gir

0,128·0+𝜑=3π2        𝜑=3π2

Funksjonen blir derfor

fx=500sin0,128x+3π2+750

En sinusfunksjon passer egentlig ikke så veldig godt. For eksempel er det nesten dobbelt så langt mellom Valdres og Gudbrandsdalen som mellom Valdres og Hallingdal.

FM-16

Tabellen nedenfor viser den månedlige gjennomsnittstemperaturen i Trondheim fra desember 2021 til desember 2022.

Temperatur i Trondheim
MånedGjennomsnittstemperatur, °C
Desember 2021-2,9
Januar 2022-0,7
Februar 2022-1,3
Mars 20222,3
April 20222,6
Mai 20228,1
Juni 202212,8
Juli 202212,5
August 202213,1
September 20229,4
Oktober 20226,0
November 20222,7
Desember 2022-5,3

Dataene er hentet fra Meteorologisk institutt.

a) Forklar hvorfor en sinusfunksjon kan passe godt som modell for disse tallene.

Løsning

Siden temperaturen går opp og ned mellom sommer og vinter, kan vi anta at en periodisk funksjon som en sinusfunksjon passer godt.

b) Finn en modell for temperaturen ved å finne den sinusfunksjonen fx som passer best mulig med tallene. Tegn modellen sammen med tallene i et koordinatsystem.

Tips til oppgaven

La x=1 bety januar 2022.

Løsning

Vi utvider tabellen med en kolonne for x.

Temperatur i Trondheim
MånedxGjennomsnittstemperatur, °C
Desember 20210-2,9
Januar 20221-0,7
Februar 20222-1,3
Mars 202232,3
April 202242,6
Mai 202258,1
Juni 2022612,8
Juli 2022712,5
August 2022813,1
September 202299,4
Oktober 2022106,0
November 2022112,7
Desember 202212-5,3

Vi skriver tallene inn i regnearkdelen i GeoGebra, markerer dem og velger regresjonsanalyseverktøyet. Vi velger videre regresjonsmodellen "sin".

Resultatet blir

fx=8,113sin0,52x-2,129+5,061

Funksjonen passer sånn noenlunde. Det kan se ut som at desember 2021 var veldig kald i Trondheim.

c) Hva er perioden til funksjonen? Kommenter resultatet.

Løsning

Perioden er

p=2πk=2π0,521=12,1

Perioden er 12,1 måneder, altså omtrent et år, som vi kunne forvente. Grunnen til at vi ikke får nøyaktig 12 måneder, kan skyldes at temperaturene varierer ganske mye innenfor en måned. Dersom vi hadde hatt tall for en tiårsperiode, ville nok perioden på den funksjonen vi hadde kommet fram til, vært enda nærmere 12.

d) Hva blir høyeste og laveste gjennomsnittstemperatur i Trondheim etter modellen?

Løsning

Amplituden A til sinusfunksjonen er 8,1 og sinusfunksjonen svinger rundt d=5,1.

Høyeste temperatur blir

d+A=5,1°+8,1°=13,2°

Laveste temperatur blir

d-A=5,1°-8,1°=-3,0°

e) Hva er gjennomsnittstemperaturen i Trondheim gjennom et år etter modellen? Hvordan stemmer det med målingene?

Løsning

Siden sinusfunksjonen svinger rundt likevektslinja, blir gjennomsnittstemperaturen gjennom året 5,1° etter modellen.

For å finne den årlige gjennomsnittstemperaturen direkte fra målingene lager vi ei liste av målingene fra og med januar 2022 til og med desember 2022. Så bruker vi kommandoen gsnitt for å få gjennomsnittet av tallene i lista.

Målingene gir årlig gjennomsnittstemperatur i Trondheim lik 5,2°, altså svært liten forskjell i forhold til hva modellen gir.

f) Når var temperaturen høyest, og når var den lavest etter modellen? Stemmer resultatet med målingene?

Løsning

Vi bruker verktøyet eller kommandoen "Ekstremalpunkt" og får et bunnpunkt med koordinatene 1.1,-3.1 og et toppunkt med koordinatene 7.1,13.2, se figuren.

x=1,1 betyr januar, mens x=7,1 betyr juli. Temperaturen er etter modellen lavest i januar og høyest i juli.

Vi ser at målingene tyder på at det er kaldest i desember og varmest i august, så det stemmer ikke helt med modellen. Det vil variere fra år til år hvilken måned som er kaldest, og hvilken som er varmest.

FM-17

Tabellen viser temperaturer målt gjennom et sommerdøgn ved Lindesnes fyr. Temperaturen, T, er målt i grader celsius, og x er antall timer etter midnatt.

x

0

1

4

7

9

10

12

13

15

17

20

22

24

T (°C)

19

17

15

17

19

21

25

26

27

26

24

22

18

a) Bruk GeoGebra og finn den modellen i form av en sinusfunksjon som passer best med tallene.

Løsning

Vi skriver tallene inn i regnearkdelen i GeoGebra, markerer tallene, velger regresjonsanalyseverktøyet og regresjonsmodellen "Sin".

Modellen passer godt med målingene. Sinusfunksjonen som passer best med tallene, er

Tx=21,3+6,0sin0.265x-2,67

b) Gjør det samme, men bruk Python (ta utgangspunkt i programmet på teorisiden "Modellering og analyse av trigonometriske funksjoner"). Lag plot av målingene og sinusfunksjonen i samme koordinatsystem. Får du samme resultat som med regresjon med GeoGebra?

Løsning
python
1        # importerer nødvendige bibliotek
2from scipy.optimize import curve_fit
3import numpy as np
4import matplotlib.pyplot as plt
5        # lager funksjonen som beskriver modellen
6def modell(x,A,k,fi,d):
7  return A*np.sin(k*x + fi) + d
8        # legger inn måledataene i lister
9x_verdier = [0,1,4,7,9,10,12,13,15,17,20,22,24]
10y_verdier = [19,17,15,17,19,21,25,26,27,26,24,22,18]
11        # bruker metoden curve_fit og legger resultatene i to lister
12konstanter,kovarians = curve_fit(modell,x_verdier,y_verdier)
13        # henter ut konstantene fra lista konstanter
14A, k, fi, d = konstanter
15
16        # lager utskrift av funksjonen
17print(f"Funksjonen blir T(x) = {A:.2f}sin({k:.3f}x{fi:+.2f}){d:+.2f}")
18        # plotter data og modell som en kontroll
19        # plotter data
20plt.plot(x_verdier,y_verdier,'.', label="Målinger") 
21        # plotter modell
22x_array = np.linspace(min(x_verdier),max(x_verdier),300)
23y_array = modell(x_array,A, k, fi, d)
24plt.plot(x_array,y_array,"brown", label="Modell")
25plt.grid(True)
26plt.xlabel("Tid (timer)")
27plt.ylabel("Temperatur (°C)")
28plt.legend(bbox_to_anchor=(0.9,0.2))
29        # endrer på skalaen på x-aksen til å passe bedre med klokka
30plt.xticks(np.arange(min(x_verdier), max(x_verdier)+1, 3.0))
31plt.show()

Programmet gir funksjonen Tx=21,40+1,61sin0,815x+3,57. Dette er ikke samme funksjon som vi fikk med regresjon i GeoGebra. Bildet nedenfor viser den grafiske framstillingen som programmet lager.

Modellen passer ikke med målingene. Regresjonen feiler, rett og slett. Heldigvis fins det et triks eller hjelpemiddel vi kan bruke. Det ser vi på i neste oppgave.

c) Årsaken til at modellen funnet med scipy.optimize passer svært dårlig med måledataene, kan være at startverdien 1 som regresjonsverktøyet bruker som utgangspunkt for de fire konstantene, ligger et stykke fra de riktige verdiene. Prøv i tilfelle å legge til følgende kodeord til kommandoen "curve_fit":

p0 = [A0,k0,fi0,d0]

der de fire konstantene i lista har noenlunde riktige verdier. For eksempel kan vi prøve med verdiene vi fant for modellen på teorisiden. Dette gir regresjonsmotoren et bedre utgangspunkt for jobben den skal gjøre.

Finn gode verdier for de fire konstantene, legg inn kodelinja over med disse verdiene, og kjør programmet på nytt. Blir resultatet bedre nå?

Løsning

Temperaturen varierer mellom cirka 15 og 25 grader. Det betyr at amplituden A5. Perioden p er omtrent 24 timer. Da vet vi at k2π24624=0,25. Vi prøver om det går bra å beholde startverdien 𝜑=1. Likevektslinja må ligge i nærheten av 20, så vi får d20.

Vi legger inn følgende kode i parameterlista til "curve_fit":

p0 = [5,0.25,1,20]

Da blir resultatet

Tx=21,3-6,0sin0,265x+0,47

Plottet programmet gir oss, viser at funksjonen passer godt.

Er dette samme funksjon som vi fikk med GeoGebra? Med GeoGebra fikk vi

Tx=21,3+6,0sin0.265x-2,67

Vis at de to funksjonene er like ved å bruke at

A·sinax+𝜑=-A·sinax+𝜑-π

d) Hva var høyeste og laveste temperatur ifølge modellen?

Løsning

Høyeste temperatur var

d+A=21,3°+6,0°=27,3°

Laveste temperatur var

d-A=21,3°-6,0°=15,3°

e) Hvor langt er tidsrommet mellom høyeste temperatur denne dagen og høyeste temperatur dagen etter?

Løsning

Oppgaven spør etter perioden p. Tidsrommet i timer mellom høyeste temperatur denne dagen og dagen etter er

p=2πk=2π0,265=23,7

f) Vil modellen være gyldig utenom det aktuelle døgnet?

Løsning

Vi vet ikke noe om været dagen før eller dagen etter. Dersom været blir annerledes med for eksempel regn, vil modellen mest sannsynlig ikke passe særlig godt lenger.

En annen ting er at perioden ikke ble nøyaktig 24 timer. Det betyr at tidspunktene for den høyeste temperaturen kommer tidligere og tidligere for hver dag som går. Slik kan det ikke fortsette særlig lenge.

g) Hva var gjennomsnittstemperaturen dette døgnet?

Løsning

Gjennomsnittstemperaturen blir det samme som verdien for d, altså 21,3°, siden tidsrommet er én periode.

h) Hva var gjennomsnittstemperaturen mellom klokka 06.00 og klokka 18.00?

Løsning

Her må vi regne ut et integral. Vi velger å bruke CAS i GeoGebra.

Gjennomsnittstemperaturen i dette tidsrommet var 23,1°.

FM-18

På teorisiden ser vi på svingninger i vannstanden på grunn av tidevann. Vi fikk dette resultatet:

I denne oppgaven skal du laste ned måledataene fra Kartverket, som er vist på figuren over, og lage en modell for svingningene i vannstanden. Dataene kan lastes ned nedenfor. Husk å endre filnavnet etter nedlastingen.

Files

Frivillig: Last ned dataene fra Kartverkets side

Du kan også prøve å finne dataene selv på Kartverkets side for tidevann ved Mandal. Velg datoer fra 3. november 2022 til 4. november 2022, velg "Tabell" og "Hvert 10. minutt". Du må laste ned som ei tekstfil, importere tekstfila i Excel, passe på at tallene kommer i hver sin kolonne og eksportere regnearket som ei semikolonseparert csv-fil.

a) Åpne datafila med for eksempel et regneark. Finn i hvilke kolonner tidspunktene og måledataene står.

Løsning

De øverste 15 linjene er informasjon om målingene. Tidspunktene står i første kolonne inkludert dato. I andre kolonne er måledataene vi er på jakt etter. Tredje kolonne inneholder det som var forventet nivå (disse tallene skal vi ikke bruke).

b) Du kan lese fila inn i Python og se på resultatet av innlesingen med koden nedenfor.

python
1import pandas as pd
2
3data = pd.read_csv("tidevann.csv", header = None, skiprows = (range(0, 15)), \
4    sep =";", encoding = "latin-1")
5data.columns = ["Tid","Vannstand","Ikke i bruk"]
6print(data)

Forklar hva som skjer i denne programkoden. Se også verktøysiden "Behandling av store datamengder i Python".

Løsning

Først importeres biblioteket "pandas", som brukes til innlesingen av datafila.

I linje 3 leses datafila inn og lagres i datarammen data. Vi så i oppgave a) at det ikke var overskrifter i csv-fila. Derfor skriver vi header = None. Vi ønsker ikke å importere de 15 første radene, så vi spesifiserer det med kodeordet skiprows og funksjonen range. Med kodeordet sep angir vi at csv-fila er semikolonseparert. Kommandoen encoding = latin-1 gjør at vi kan ha for eksempel skandinaviske bokstaver i datafila.

I linje 5 lages det nye kolonneoverskrifter til datarammen data.

I linje 6 skrives datarammen ut til skjermen.

Resultatet blir omtrent som nedenfor, der de tre første målingene vises:

TidVannstandIkke i bruk
02022-11-03T00:00:00+01:00105.567.3
12022-11-03T00:10:00+01:00105.767.3
22022-11-03T00:20:00+01:00105.567.2
...

c) Ta utgangspunkt i programmet i forrige oppgave, gjør nødvendige endringer, og finn en sinusfunksjon som passer godt med måledataene. Plott både måledataene og modellen i samme koordinatsystem.

Tips 1

Det er vanskelig å bruke tidsangivelsen for måledataene direkte. Vi kan lage x-verdiene vi trenger, ved å generere en array med funksjonen "arange" eller "linspace". Se utskriften av dataene for å finne ut hva x-verdiene er.

Tips 2

Det kan hende modellen passer svært dårlig med måledataene, at regresjonen rett og slett feiler. Årsaken til det kan være at startverdiene regresjonsverktøyet bruker som utgangspunkt for de fire konstantene, ligger et stykke fra de riktige verdiene. Dette er tilfelle i forrige oppgave om temperaturen på Lindesnes. Løs i tilfelle problemet på samme måte ved å angi startverdier for konstantene i funksjonen ved hjelp av kodeordet p0.

Løsning

Regresjonen feiler også her uten å spesifisere startverdier for regresjonskonstantene med kodeordet p0. Det holder å sette nye startverdier for A og for k. Nedenfor finner du fullstendig kode.

python
1import pandas as pd
2import numpy as np
3from scipy.optimize import curve_fit
4import matplotlib.pyplot as plt
5
6        # lager funksjonen som beskriver modellen
7def modell(x,A,k,fi,d):
8    return A*np.sin(k*x + fi) + d
9
10data = pd.read_csv("tidevann.csv", header = None, skiprows = (range(0, 15)), \
11    sep =";", encoding = "latin-1")
12        # lager overskrifter til kolonnene
13data.columns = ["Tid","Vannstand","Ikke i bruk"]
14        # lager liste med måleverdiene, som står i kolonnen med overskrift "Vannstand"
15vannstand = list(data.Vannstand)
16        # lager array med x-verdiene (tidspunktene for målingene)
17tid = np.arange(0,48+1/6,1/6)
18
19        # bruker metoden curve_fit og legger resultatene i to lister
20konstanter,kovarians = curve_fit(modell, tid, vannstand, p0 = [15,2*np.pi/12,1,1])
21        # henter ut konstantene fra lista konstanter
22A, k, fi, d = konstanter
23
24        # lager utskrift av funksjonsuttrykket til modellen
25print(f"Funksjonen blir f(x) = {A:.2f}sin({k:.3f}x{fi:+.2f}){d:+.2f}")
26        # lager y-verdier for modellen til plottingen av den
27modellverdier = modell(tid,A,k,fi,d)    
28plt.plot(tid,vannstand,'.', label = "Målinger")       # plotter måledataene
29plt.plot(tid,modellverdier, "brown", label = "Modell")       # plotter modellen
30plt.grid(True)
31plt.xlabel("Tid (timer)")
32plt.ylabel("Vannstand (cm)")
33plt.legend(bbox_to_anchor=(0.9,0.2))
34        # endrer på skalaen på x-aksen til å passe bedre med klokka
35plt.xticks(np.arange(min(tid), max(tid)+1, 3.0))
36plt.show()

Programmet gir oss funksjonen

fx=11,33sin0,546x+0,89+76,5

og plottet nedenfor.

d) Vurder resultatet i forrige deloppgave.

Løsning

Det finnes ikke en sinusfunksjon som passer godt til målingene av tidevannet siden vannstanden bare delvis følger en sinuskurve. Vi regner ut perioden til modellen.

p=2πk=2π0,546=11,5

På teorisiden har vi at tidsrommet mellom to høyvann, altså perioden, er 12,4 h. Vi får derfor litt for liten periode. Ellers kan vi si at amplituden og faseforskyvningen passer noenlunde med tallene for den 4. november, det vil si det andre døgnet. Likevektslinja er det vanskelig å si noe om, men det ser ut som den ligger på en slags gjennomsnittsverdi.

En amplitude på 11,3 cm gir en forskjell mellom høyvann og lavvann på 22,6 cm. Det er lite, siden vi har fra teorisiden at forskjellen for Mandal skal være 35 cm.

e) Siden vi vet at modellen bør ha periode på 12,4 h, kan vi endre modellen slik at programmet ikke bestemmer hva k skal være, men lager en sinusfunksjon som har periode 12,4. Endre programmet slik at det bare er A, 𝜑 og d som skal bestemmes. Kjør programmet og vurder om den nye modellen blir bedre enn den forrige.

Løsning

Vi regner ut k først.

k=2πp=2π12,4=0,507

Koden kan se slik ut:

python
1import pandas as pd
2import numpy as np
3from scipy.optimize import curve_fit
4import matplotlib.pyplot as plt
5
6        # lager funksjonen som beskriver modellen
7def modell(x,A,fi,d):
8    return A*np.sin(0.507*x + fi) + d
9
10data = pd.read_csv("tidevann.csv", header = None, skiprows = (range(0, 15)), \
11    sep =";", encoding = "latin-1")
12        # lager overskrifter til kolonnene
13data.columns = ["Tid","Vannstand","Ikke i bruk"]
14        # lager liste med måleverdiene, som står i kolonnen med overskrift "Vannstand"
15vannstand = list(data.Vannstand)
16        # lager array med x-verdiene (tidspunktene for målingene)
17tid = np.arange(0,48+1/6,1/6)
18
19        # bruker metoden curve_fit og legger resultatene i to lister
20konstanter,kovarians = curve_fit(modell, tid, vannstand, p0 = [15,1,1])
21        # henter ut konstantene fra lista konstanter
22A, fi, d = konstanter
23
24        # lager utskrift av funksjonsuttrykket til modellen
25print(f"Funksjonen blir f(x) = {A:.2f}sin(0.507x{fi:+.2f}){d:+.2f}")
26        # lager y-verdier for modellen til plottingen av den
27modellverdier = modell(tid,A,fi,d)    
28plt.plot(tid,vannstand,'.', label = "Målinger")       # plotter måledataene
29plt.plot(tid,modellverdier, "brown", label = "Modell 2")       # plotter modellen
30plt.grid(True)
31plt.xlabel("Tid (timer)")
32plt.ylabel("Vannstand (cm)")
33plt.legend(bbox_to_anchor=(0.9,0.2))
34        # endrer på skalaen på x-aksen til å passe bedre med klokka
35plt.xticks(np.arange(min(tid), max(tid)+1, 3.0))
36plt.show()

Vi får funksjonen

fx=9,82sin0,507x+1,88+77,3

Grafen til funksjonen har vi kalt "Modell 2" på figuren nedenfor.

Det ble ikke veldig stor endring. Det kan se ut som en periode på 12,4 timer er litt større enn tida mellom to høyvann, i alle fall for den andre dagen. Perioden til den første modellen passer litt bedre enn denne. Den nye modellen fikk ellers litt mindre amplitude enn den forrige, noe som passer enda dårligere med opplysningene om nivåforskjellen på tidevann for Mandal.

FM-19

Et lodd henger i en spiralfjær. Vi drar loddet litt ned, slipper det og observerer at det svinger opp og ned.

Vi observerer også at svingeutslaget blir mindre og mindre etter hvert. Vi sier at svingningen er dempet. En generell sinusfunksjon passer ikke så godt til å modellere hvordan utslaget til loddet varierer med tida siden en slik funksjon svinger like mye hele tida. Men vi kan multiplisere sinusfunksjonen med faktoren e-bt der b er en positiv konstant. Denne faktoren blir mindre og mindre jo større t blir.

Nedenfor kan du dra i glideren og observere hvordan grafen til ft=e-btsint endrer seg når verdien for b endres.

a) Konstanten b sier noe om hvor stor dempingen er.

Hva skjer dersom du setter b=0?

b = 0

Da får vi e0·t=e0=1, og funksjonen blir en ren sinusfunksjon uten demping.

b) Med en posisjonslogger kan vi logge utslaget til loddet. Vi har gjort det, og hvis du ikke kan gjøre forsøket selv, kan du laste ned loggfila nedenfor.

Bestem dempingskonstanten b for denne svingningen.

Tips

Vi må gjøre en regresjon med dataene for å bestemme konstanten b. Funksjonen for svingebevegelsen blir

ft=A·e-bt·sinkt+𝜑+d

Det er derfor 5 konstanter som må finnes:

A, b, k, 𝜑 og d

Vi velger å bruke Python og metoden curve_fit. For å regne ut ex kan vi bruke numpyfunksjonen exp(x).

Løsning

Forslag til programkode:

python
1import pandas as pd
2import numpy as np
3from scipy.optimize import curve_fit
4import matplotlib.pyplot as plt
5
6        # lager funksjonen som beskriver modellen
7def modell(t,A,b,k,fi,d):
8    return A*np.exp(b*t)*np.sin(k*t + fi) + d
9
10data = pd.read_csv("sving.csv", skiprows = (0,1), sep =";", encoding = "latin-1")
11
12        # lager liste med måleverdiene, som står i kolonnen med overskrift "Utslag"
13utslag = list(data.Utslag)
14        # lager liste med t-verdiene, som står i kolonnen med overskrift "Tid"
15tid = np.array(list(data.Tid))
16
17        # bruker metoden curve_fit og legger resultatene i to lister
18konstanter,kovarians = curve_fit(modell, tid, utslag)
19        # henter ut konstantene fra lista konstanter
20A, b, k, fi, d = konstanter
21        # lager y-verdier for modellen til plottingen av den
22modellverdier = modell(tid,A,b,k,fi,d) 
23
24        # lager plott av modell og målinger
25plt.plot(tid,utslag,'.', label = "Målinger")       # plotter måledataene
26plt.plot(tid,modellverdier, "brown", label = "Modell")       # plotter modellen
27plt.grid(True)
28plt.xlabel("Tid (s)")
29plt.ylabel("Utslag (cm)")
30        # skriver ut funksjonen med matematisk tegnsetting
31plt.suptitle(f"Modell: $f(x)={A:.2f}e^{{{b:.3f}t}}\sin({{{k:.3f}t{fi:+.2f}}}){d:+.2f}$") 
32plt.legend(bbox_to_anchor=(0.9,0.2))
33
34plt.show()

Koden gir utskriften nedenfor.

Vi får at dempingskonstanten b=-0,044.

Kommentarer til koden:

  • I dette tilfellet var det ikke behov for å sette nye startverdier for regresjonskonstantene med kodeordet p0.

  • For å få penere utskrift av funksjonsuttrykket har vi lagt det inn som en undertittel i plottet. Der kan vi få matematisk formatering med LaTeX ved å sette funksjonsuttrykket mellom dollartegn ($). Siden sløyfeparenteser brukes både av LaTeX for å gruppere ting og av Python til å markere at noe i en tekststreng er en variabel, må vi bruke doble sløyfeparenteser der LaTeX vil ha sløyfeparentes. Vi bruker som før enkel sløyfeparentes rundt variabler. Noen steder blir det derfor tre sløyfeparenteser etter hverandre.

  • Koden \sin er LaTeX-kommandoen som gir "sin" som ikke står i kursiv.

c) Hvor lang tid tar det før utslaget til svingningen er halvert i forhold til det opprinnelige utslaget?

Løsning

Vi prøvde å løse likningen f'x=0 med CAS, men det gikk ikke bra.

Vi studerer funksjonen. Det er faktoren e-0.044t i funksjonen som gir dempingen av utslaget. Vi kan bruke at utslaget blir halvert når denne faktoren er 0,5. Dette gir oss likningen

e-0.044t=0,5

Vi får at svingningene er halvert etter cirka 16 sekunder.

d) Hvor mange hele svingninger har loddet gjort da?

Løsning

Vi kan se på sinusdelen av funksjonen for å svare på dette. Antall hele svingninger blir hvor mange hele perioder sinusdelen har i løpet av de 16 sekundene.

Vi fikk at k=1. Det betyr at

p=2πk=2π1=2π

I løpet av 16 s blir antall perioder 2,55, så det går bare 2–3 hele svingninger før utslaget er halvert.