Modellering og analyse av trigonometriske funksjonar
Svingingar i naturen
Døme på naturfenomen som har eller kan ha harmoniske svingingar, og som derfor kan modellerast med trigonometriske funksjonar:

tidvatn – vasstand i sjøen som varierer på grunn av gravitasjonspåverknaden frå månen og sola og gir det vi kallar flo og fjære (høgvatn og lågvatn)
bølger på vatn
kor høgt sola står på himmelen
temperaturen gjennom eit døgn
gjennomsnittleg døgntemperatur gjennom eit år
kor stor del av månen som lyser
Modellering betyr å komme fram til ein matematisk modell som beskriv naturfenomenet. Når det gjeld modellering av harmoniske svingingar, kan vi nokre gonger gjere det med regresjon dersom vi har måledata som viser korleis utslaget varierer med tid eller stad. Andre gonger har vi ikkje måledata, men andre opplysningar om svingingane som gjer at vi kan komme fram til den matematiske modellen utan regresjon.
Modellering utan bruk av regresjon
Kort repetisjon av den generelle sinusfunksjonen
Vi har frå sida "Periode, amplitude, likevektslinje og faseforskyving" at ein generell sinusfunksjon kan skrivast på forma
der vi har desse storleikane (sjå i tillegg figuren nedanfor):
Perioden er den kortaste avstanden mellom to punkt i same svingetilstand, til dømes to skjeringspunkt med likevektslinja der grafen er stigande, slik som markert på figuren. Vi kan òg til dømes lese av avstanden mellom to nabobølgetoppar.
Likevektslinja er den linja som grafen til funksjonen svingar rundt.
Amplituden er maksimalt utslag frå likevektslinja.
Faseforskyvinga er -koordinaten til det skjeringspunktet mellom stigande graf og likevektslinja som ligg nærast -aksen.
Dersom vi kan bestemme dei fire storleikane periode, likevektslinje, amplitude og faseforskyving til eit periodisk fenomen, kan vi alltid finne ein sinusfunksjon som passar.
Finn funksjonsuttrykket som passar til grafen i figuren over ved å bestemme desse fire storleikane.
Døme: tidvatn
Tidsrommet mellom to høgvatn eller to lågvatn i Noreg er omtrent 12 timar og 25 minutt, eller 12,4 timar (Store norske leksikon, 2022). I dømet her betyr derfor eit tidspunkt målt i timar og ikkje ei lengde. Høgvatn er definert som høgaste vasstand (vannivå) og lågvatn som lågaste vasstand.
Opplysninga om avstanden mellom to høgvatn eller to lågvatn gir oss ein av dei fire storleikane periode, likevektslinje, amplitude og faseforskyving. Kva for ein av desse storleikane får vi gitt?
Bestem konstanten ut frå dette.
Forklar kvifor vi kan setje .
På den same nettsida om tidvatn står det at tidvassforskjellen i Mandal er 35 cm i november. Kva for ein av konstantane kan vi bestemme ut frå denne opplysninga? Bestem denne konstanten.
Kva betydning har faseforskyvinga her?
Bestem konstanten dersom vi går ut frå at det var høgvatn ved midnatt.
Funksjonen, eller den matematiske modellen, for vasstanden blir derfor
Modellering med regresjon
Dersom vi hadde hatt målingar for kvar time av vasstanden i Mandal på den aktuelle dagen i november, kunne desse sett slik ut (fiktive tal):
| , timar 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 |
| , timar 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 ein matematisk modell for variasjonen i vasstand kan vi gjere ein sinusregresjon med desse tala.
Sinusregresjon med GeoGebra
Vi legg tala inn i reknearkdelen i GeoGebra på vanleg måte, markerer tala og vel regresjonsanalyseverktøyet. Nedanfor kan du laste ned eit GeoGebra-ark der tala er lagde inn.
- Målingar av tidvatn(GGB)
Regresjonsmodellen "Sin" gir regresjon med sinusfunksjon.
Resultatet av regresjonen blir .
Kvifor fekk vi i staden for ?
Sinusregresjon med Python
Regresjon med Python kan gjerast på fleire måtar. Her har vi valt å bruke metoden curve_fit frå scipy.optimize sjølv om han gir oss meir data enn vi skal bruke her.
Metoden er basert på at vi skriv i koden kva slags type funksjon som skal brukast i den matematiske modellen. Dette gjer vi ved å definere modellen som ein pythonfunksjon i koden. I dette tilfellet ønsker vi å tilpasse målingane til ein sinusfunksjon. Starten på programmet kan sjå slik ut:
1 # importerer nødvendige bibliotek 2from scipy.optimize import curve_fit 3import numpy as np 4import matplotlib.pyplot as plt 5 # lagar funksjonen som beskriv modellen 6def modell(x,A,k,fi,d): 7 return A*np.sin(k*x + fi) + d
Parameterane til pythonfunksjonen modell er først den frie variabelen x, deretter dei vanlege konstantane som blir brukte i den generelle sinusfunksjonen. Funksjonen modell blir brukt av metoden curve_fit saman med ei liste med -verdiane og ei liste med -verdiane i målingane. curve_fit gir tilbake to lister. Den eine inneheld dei fire konstantane A, k, fi og d (i dette tilfellet) som gjer at den matematiske funksjonen vi definerte i pythonfunksjonen modell, passar mest mogleg med måledataa. Den andre lista inneheld dei såkalla kovariansane, som vi ikkje skal bruke her.
Koden vidare kan sjå slik ut:
1 # legg inn måledataa i lister 2x_verdiar = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] 3y_verdiar = [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 legg resultata i to lister 6konstantar,kovarians = curve_fit(modell,x_verdiar,y_verdiar) 7 # hentar ut konstantane frå lista konstantar 8A, k, fi, d = konstanter 9 10 # lagar utskrift av funksjonen 11print(f"Funksjonen blir f(x) = {A:.2f}sin({k:.2f}x{fi:+.2f}){d:+.2f}") 12 # plottar data og modell som ein kontroll 13 # plottar data 14plt.plot(x_verdiar,y_verdiar,'+') 15 # plottar modell 16x_array = np.linspace(min(x_verdiar),max(x_verdiar),300) 17y_array = modell(x_array,A, k, fi, d) 18plt.plot(x_array,y_array,"brown") 19plt.show()
Køyr koden og sjå om du får det same resultatet som regresjonsverktøyet i GeoGebra.
Analyse av modellen
Vi går no ut frå at vi berre har hatt måledataa av vasstanden og har brukt regresjon til å komme fram til funksjonen
for vasstanden der vi har sett sidan nullnivået ikkje er så interessant, i tillegg til at verdien vi kom fram til for , var veldig liten. Vi kjenner ikkje informasjonen om tidvatn som står på Store norske leksikon no. Aktuelle spørsmål vi kan finne svaret på, er:
Når blir det høgvatn, og når blir det lågvatn?
Kor lang tid er det mellom høgvatn og lågvatn?
Kor stor er nivåforskjellen på høgvatn og lågvatn?
Når stig vasstanden raskast, og kor raskt stig han då?
Kva er gjennomsnittsvasstanden?
Kva må vi finne ut om funksjonen for å kunne svare på desse spørsmåla?
Tenk over: Må vi bruke derivasjon for å gjennomføre analysen?
Vi startar med å finne forskjellen mellom høgaste høgvatn og lågaste lågvatn (det fjerde spørsmålet). Det er avstanden mellom største og minste verdi for sinusfunksjonen, som er det dobbelte av amplituden .
Toppunkta finn 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 tillét oss å runde av her og fjerne tillegget på 0,02 sidan det er veldig lite samanlikna med 12,32.
Resultatet gir oss òg at perioden til sinusfunksjonen er 12,32 h, som betyr at det er 12 timar og 19 minutt mellom kvar gong det er høgvatn. Tidsforskjellen mellom høgvatn og lågvatn blir derfor halvparten av 12,32 h, som er 6,16 h eller 6 timar og 10 minutt.
Korleis kan du kontrollere på ein annan måte at ?
Vi kan bruke resultatet til å lage ein liten tabell med tidspunkta for når det er høgvatn det næraste døgnet.
I linje 5 har vi gjort om desimalane av timane til minutt.
Vi får at det er høgvatn klokka 00.00 og klokka 12.19. Neste høgvatn er klokka 00.40 neste natt.
Lågvatn kjem midt imellom to høgvatn. Sidan vi har høgvatn klokka 00.00, kjem det første lågvatnet ein halv periode etter dette. Deretter blir det lågvatn for kvar 12,32 h. Vi kan derfor lage oss ein tilsvarande funksjon for tidspunkta for lågvatn som ved å legge til ein halv periode til funksjonen.
Vi får at det er lågvatn klokka 06.10 og klokka 18.29.
Vendepunkta til ein sinusfunksjon er der funksjonen er brattast og der grafen kryssar likevektslinja. Vendepunkta ligg derfor midt mellom to naboekstremalpunkt og kjem med mellomrom på ein halv periode. Desse punkta vil vere der vasstanden stig eller søkk raskast.
Vi kan lage oss ein funksjon for der vi finn vendepunkta ut ifrå ved å legge til ein kvart periode og erstatte med sidan vendepunkta kjem dobbelt så ofte som toppunkta. Sidan vi har eit toppunkt for , vil det første vendepunktet vere eit punkt der grafen er søkkande. Vi får derfor vendepunkt der grafen er stigande når og .
Vi bruker igjen CAS til å finne tidspunkta når vasstanden stig mest.
Svaret på det fjerde spørsmålet blir derfor at vasstanden stig mest klokka 09.14 og klokka 21.34 det næraste døgnet.
Svaret på det siste spørsmålet om kva gjennomsnittsvasstanden er, er konstanten , altså nivået til likevektslinja. Den sette vi lik 0. I gjennomsnitt er altså vasstanden midt imellom nivået for høgvatn og nivået for lågvatn.
Normalt ville vi måtte brukt formelen til å finne gjennomsnittsverdien, men sidan vi veit at ein sinusfunksjon svingar like mykje over som under likevektslinja, treng vi ikkje det – så lenge det er snakk om å finne gjennomsnittet på eit heilt tal på periodar. Og det er det som gir meining i dei fleste tilfelle.
Kvifor har vi ikkje brydd oss om nullpunkta til i denne analysen?
Nedanfor kan du sjå verkelege målingar av vasstanden ved Mandal frå 3. og 4. november 2022 saman med modellen vår der betyr klokka 00.00 den 3. november.
Vi ser at dei ekte målingane berre til ein viss grad passar med modellen vår. Høgvatnet som vi berekna til klokka 12.19, vart nesten ikkje noko av. Her kan det ha vore eit vêromslag som har påverka resultata. Perioden mellom to høgvatn stemmer elles ganske bra, ser det ut til.
Det mest naturlege ville ha vore å bruke tala frå Kartverket i regresjonen. Det skal du få gjere i ei av oppgåvene.
Kjelde
Sælen, O. H. & Weber, J. E. (2022, 9. juni). Tidevann. I Store norske leksikon. https://snl.no/tidevann