Modellering og analyse av trigonometriske funksjoner
Svingninger i naturen
Eksempler på naturfenomener som har eller kan ha harmoniske svingninger, og som derfor kan modelleres med trigonometriske funksjoner:

tidevann – vannstand i sjøen som varierer på grunn av månens og solas gravitasjonspåvirkning og gir det vi kaller flo og fjære (høyvann og lavvann)
bølger på vann
hvor høyt sola står på himmelen
temperaturen gjennom et døgn
gjennomsnittlig døgntemperatur gjennom et år
hvor stor del av månen som lyser
Modellering betyr å komme fram til en matematisk modell som beskriver naturfenomenet. Når det gjelder modellering av harmoniske svingninger, kan vi noen ganger gjøre det med regresjon dersom vi har måledata som viser hvordan utslaget varierer med tid eller sted. Andre ganger har vi ikke måledata, men andre opplysninger om svingningene som gjør at vi kan komme fram til den matematiske modellen uten regresjon.
Modellering uten bruk av regresjon
Kort repetisjon av den generelle sinusfunksjonen
Vi har fra siden "Periode, amplitude, likevektslinje og faseforskyvning" at en generell sinusfunksjon kan skrives på formen
der vi har disse størrelsene (se også figuren nedenfor):
Perioden er den korteste avstanden mellom to punkter i samme svingetilstand, for eksempel to skjæringspunkter med likevektslinja der grafen er stigende, slik som markert på figuren. Vi kan også for eksempel lese av avstanden mellom to nabobølgetopper.
Likevektslinja er den linja som grafen til funksjonen svinger rundt.
Amplituden er maksimalt utslag fra likevektslinja.
Faseforskyvningen er -koordinaten til det skjæringspunktet mellom stigende graf og likevektslinja som ligger nærmest -aksen.
Hvis vi kan bestemme de fire størrelsene periode, likevektslinje, amplitude og faseforskyvning til et periodisk fenomen, kan vi alltid finne en sinusfunksjon som passer.
Finn funksjonsuttrykket som passer til grafen i figuren over ved å bestemme disse fire størrelsene.
Eksempel: tidevann
Tidsrommet mellom to høyvann eller to lavvann i Norge er omtrent 12 timer og 25 minutter, eller 12,4 timer (Store norske leksikon, 2022). I eksempelet her betyr derfor et tidspunkt målt i timer og ikke en lengde. Høyvann er definert som høyeste vannstand (vannivå) og lavvann som laveste vannstand.
Opplysningen om avstanden mellom to høyvann eller to lavvann gir oss en av de fire størrelsene periode, likevektslinje, amplitude og faseforskyvning. Hvilken av disse størrelsene får vi oppgitt?
Bestem konstanten ut fra dette.
Forklar hvorfor vi kan sette .
På den samme nettsiden om tidevann står det at tidevannsforskjellen i Mandal er 35 cm i november. Hvilken av konstantene kan vi bestemme ut ifra denne opplysningen? Bestem den.
Hvilken betydning har faseforskyvningen her?
Bestem konstanten dersom vi antar at det var høyvann ved midnatt.
Funksjonen, eller den matematiske modellen, for vannstanden blir derfor
Modellering med regresjon
Dersom vi hadde hatt målinger for hver time av vannstanden i Mandal på den aktuelle dagen i november, kunne disse sett slik ut (fiktive tall):
| , timer etter midnatt | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| , cm | 17,8 | 15,2 | 8,9 | 1,1 | -7,9 | -14,7 | -16,9 | -16,4 | -10,2 | -2,8 |
| , timer etter midnatt | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|
| , cm | 6,8 | 13,1 | 17,1 | 16,3 | 11,7 | 4 | -5,1 | -13,2 | -17 | -17,1 |
For å komme fram til en matematisk modell for variasjonen i vannstand kan vi gjøre en sinusregresjon med disse tallene.
Sinusregresjon med GeoGebra
Vi legger tallene inn i regnearkdelen i GeoGebra på vanlig måte, markerer tallene og velger regresjonsanalyseverktøyet. Nedenfor kan du laste ned et GeoGebra-ark der tallene er lagt inn.
- Målinger av tidevann(GGB)
Regresjonsmodellen "Sin" gir regresjon med sinusfunksjon.
Resultatet av regresjonen blir .
Hvorfor fikk vi i stedet for ?
Sinusregresjon med Python
Regresjon med Python kan gjøres på flere måter. Her har vi valgt å bruke metoden curve_fit fra scipy.optimize selv om den gir oss mer data enn vi skal bruke her.
Metoden er basert på at vi angir i koden hva slags type funksjon som skal brukes i den matematiske modellen. Dette gjøres ved å definere modellen som en pythonfunksjon i koden. I vårt tilfelle ønsker vi å tilpasse målingene til en sinusfunksjon. Starten på programmet kan se slik ut:
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
Parametrene til pythonfunksjonen modell er først den frie variabelen x, deretter de vanlige konstantene som brukes i den generelle sinusfunksjonen. Funksjonen modell brukes av metoden curve_fit sammen med ei liste med -verdiene og ei liste med -verdiene i målingene. curve_fit gir tilbake to lister. Den ene inneholder de fire konstantene A, k, fi og d (i vårt tilfelle) som gjør at den matematiske funksjonen vi definerte i pythonfunksjonen modell, passer mest mulig med måledataene. Den andre lista inneholder de såkalte kovariansene, som vi ikke skal bruke her.
Koden videre kan se slik ut:
1 # legger inn måledataene i lister 2x_verdier = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] 3y_verdier = [17.8,15.2,8.9,1.1,-7.9,-14.7,-16.9,-16.4,-10.2,-2.8,\ 4 6.8,13.1,17.1,16.3,11.7,4,-5.1,-13.2,-17,-17.1] 5 # bruker metoden curve_fit og legger resultatene i to lister 6konstanter,kovarians = curve_fit(modell,x_verdier,y_verdier) 7 # henter ut konstantene fra lista konstanter 8A, k, fi, d = konstanter 9 10 # lager utskrift av funksjonen 11print(f"Funksjonen blir f(x) = {A:.2f}sin({k:.2f}x{fi:+.2f}){d:+.2f}") 12 # plotter data og modell som en kontroll 13 # plotter data 14plt.plot(x_verdier,y_verdier,'+') 15 # plotter modell 16x_array = np.linspace(min(x_verdier),max(x_verdier),300) 17y_array = modell(x_array,A, k, fi, d) 18plt.plot(x_array,y_array,"brown") 19plt.show()
Kjør koden og se om du får det samme resultatet som regresjonsverktøyet i GeoGebra.
Analyse av modellen
Vi antar nå at vi kun har hatt måledataene av vannstanden og har brukt regresjon til å komme fram til funksjonen
for vannstanden der vi har satt siden nullnivået ikke er så interessant, i tillegg til at verdien vi kom fram til for , var veldig liten. Vi kjenner ikke informasjonen om tidevann som står på Store norske leksikon nå. Aktuelle spørsmål vi kan finne svaret på, er:
Når blir det høyvann, og når blir det lavvann?
Hvor lang tid er det mellom høyvann og lavvann?
Hvor stor er nivåforskjellen på høyvann og lavvann?
Når stiger vannstanden raskest, og hvor raskt stiger den da?
Hva er gjennomsnittsvannstanden?
Hva må vi finne ut om funksjonen for å kunne svare på disse spørsmålene?
Tenk over: Må vi bruke derivasjon for å gjennomføre analysen?
Vi starter med å finne forskjellen mellom høyeste høyvann og laveste lavvann (det fjerde spørsmålet). Den er avstanden mellom største og minste verdi for sinusfunksjonen, som er det dobbelte av amplituden .
Toppunktene finner vi ved å finne ut når argumentet til sinusfunksjonen er og . Vi bruker CAS i GeoGebra.
Vi får at vi har toppunkt når . Vi tillater oss å runde av her og fjerne tillegget på 0,02 siden det er veldig lite sammenliknet med 12,32.
Resultatet gir oss også at perioden til sinusfunksjonen er 12,32 h, som betyr at det er 12 timer og 19 minutter mellom hver gang det er høyvann. Tidsforskjellen mellom høyvann og lavvann blir derfor halvparten av 12,32 h, som er 6,16 h eller 6 timer og 10 minutter.
Hvordan kan du kontrollere på en annen måte at ?
Vi kan bruke resultatet til å lage en liten tabell med tidspunktene for når det er høyvann det nærmeste døgnet.
I linje 5 har vi gjort om desimalene av timene til minutter.
Vi får at det er høyvann klokka 00.00 og klokka 12.19. Neste høyvann er klokka 00.40 neste natt.
Lavvann kommer midt imellom to høyvann. Siden vi har høyvann klokka 00.00, kommer det første lavvannet en halv periode etter dette. Deretter blir det lavvann for hver 12,32 h. Vi kan derfor lage oss en tilsvarende funksjon for tidspunktene for lavvann som ved å legge til en halv periode til funksjonen.
Vi får at det er lavvann klokka 06.10 og klokka 18.29.
Vendepunktene til en sinusfunksjon er der funksjonen er brattest og der grafen krysser likevektslinja. Vendepunktene ligger derfor midt mellom to naboekstremalpunkter og kommer med en halv periodes mellomrom. Disse punktene vil være der vannstanden stiger eller synker raskest.
Vi kan lage oss en funksjon for hvor vi finner vendepunktene ut ifra ved å legge til en kvart periode og erstatte med siden vendepunktene kommer dobbelt så ofte som toppunktene. Siden vi har et toppunkt for , vil det første vendepunktet være et punkt der grafen er synkende. Vi får derfor vendepunkter der grafen er stigende når og .
Vi bruker igjen CAS til å finne tidspunktene når vannstanden stiger mest.
Svaret på det fjerde spørsmålet blir derfor at vannstanden stiger mest klokka 09.14 og klokka 21.34 det nærmeste døgnet.
Svaret på det siste spørsmålet om hva gjennomsnittsvannstanden er, er konstanten , altså nivået til likevektslinja. Den satte vi lik 0. I gjennomsnitt er altså vannstanden midt imellom nivået for høyvann og nivået for lavvann.
Normalt ville vi måtte brukt formelen til å finne gjennomsnittsverdien, men siden vi vet at en sinusfunksjon svinger like mye over som under likevektslinja, trenger vi ikke det – så lenge det er snakk om å finne gjennomsnittet på et helt antall perioder. Og det er det som gir mening i de fleste tilfeller.
Hvorfor har vi ikke brydd oss om nullpunktene til i denne analysen?
Nedenfor kan du se virkelige målinger av vannstanden ved Mandal fra 3. og 4. november 2022 sammen med modellen vår der betyr klokka 00.00 den 3. november.
Vi ser at de ekte målingene bare til en viss grad passer med modellen vår. Høyvannet som vi beregnet til klokka 12.19, ble nesten ikke noe av. Her kan det ha vært et væromslag som har påvirket resultatene. Perioden mellom to høyvann stemmer ellers ganske bra, ser det ut til.
Det mest naturlige ville ha vært å bruke tallene fra Kartverket i regresjonen. Det skal du få gjøre i en av oppgavene.
Kilde
Sælen, O. H. & Weber, J. E. (2022, 9. juni). Tidevann. I Store norske leksikon. https://snl.no/tidevann