Funksjonar med digitale hjelpemiddel
Grafar i GeoGebra
Vi held fram med å bruke dømet vårt med ein joggar som spring 16 000 m på 100 minutt. Vi har då at funksjonsuttrykket er
Dersom vi vil teikne grafen til S(t)=160t
. Sidan funksjonen vår har ei avgrensa definisjonsmengde, bør vi berre teikne grafen for dei aktuelle x-verdiane. Det gjer vi ved å bruke kommandoen "Funksjon(Funksjon, start, slutt)". I tilfellet vårt skriv vi S(t)=Funksjon(160t, 0, 100)
. Då får funksjonen vår det rette namnet, og han blir teikna for t-verdiar mellom 0 og 100.
For å få eit fint bilete av grafen din i GeoGebra er det nokre viktige ting du må vite:
Du må hugse å setje namn på aksane. Dersom grafen beskriv ein konkret situasjon, bør du ha både namnet på variabelen og kva variabelen representer. I tilfellet vårt blir det "t, minutt" og "S(t), meter". Du gjer dette ved å høgreklikke i grafikkfeltet og ved å velje "Grafikkfelt" og så "Namn på aksen:" på dei to aksane.
Du kan trekke inn funksjonsuttrykket frå algebrafeltet ved å bruke verktøyet "Flytt"
heilt til venstre på verktøyrada, sjå nedanfor. Ta tak i uttrykket med musepeikaren, og plasser det der du vil ha det.↖ Du kan justere kva som blir vist i biletet ditt, ved å bruke verktøyet "Flytt grafikkfeltet", sjå nedanfor. Pass på at begge aksane blir vist med tal. Ha minst mogleg luft rundt grafen.
Du kan ta bilete av grafikkfeltet ved å velje "Fil" og "Eksporter bilete". Her kan du velje å legge biletet i utklippstavla og lime det inn i dokumentet der du jobbar etterpå.
Ver merksam på at det nokon gonger kan vere lurt å byte ut variabelen med x. Dersom vi skal bruke grafikkfeltet til å finne skjeringspunkt, vil ikkje GeoGebra alltid kunne finne skjeringspunkt mellom objekt som har ulike variabelnamn.
Grafar i Python
For å vise korleis vi teiknar grafar i Python, bruker vi ein litt annleis funksjon som døme. Vi tek for oss denne funksjonen:
Grunnleggande grafteikning
For å teikne grafar i Python må vi importere eit ekstra bibliotek for grafteikning som heiter "matplotlib.pyplot". I dette biblioteket finn vi funksjonen "plot()", som teiknar grafen. "plot()" teiknar grafar litt på same måte som vi gjer for hand, ved å ta utgangspunkt i kjende punkt på grafen og så trekke ei linje mellom dei. Det vil seie at vi må gi Python ein verditabell å jobbe med.
Ein verditabell for funksjonen vår kan sjå slik ut:
-4 | -3 | -2 | -1 | 0 | 1 | 2 | |
-2 | 7 | 6 | 1 | -2 | 3 | 22 |
Heldigvis slepp vi å rekne ut denne verditabellen sjølv, det gjer Python for oss. Vi må først lage ein array med dei x-verdiane vi vil bruke, og så rekne ut dei tilsvarande y-verdiane. I Python lagar vi lista over x-verdiar ved hjelp av funksjonen "linspace()", som vi hentar frå biblioteket "numpy".
No er vi klare for første forsøk på å teikne grafen i Python. Kopier koden under til editoren din (eller til den tomme trinketen i boksen nedst på sida) og køyr han.
Forklaring til koden
I linje 1 og 2 importerer vi dei to biblioteka vi treng. Det er vanleg å gi dei to biblioteka dei korte kallenamna "plt" og "np", slik at det skal bli lett å kalle på funksjonar derfrå.
I linje 4 og 5 definerer vi funksjonen. Legg merke til at vi må ha gongeteikn mellom 4 og x, og at vi skriv "opphøgd i" med **. Legg òg merke til at vi skriv "np." framfor "linspace". Dette er for å fortelje Python at funksjonen skal hentast frå biblioteket "numpy".
I linje 7 lagar vi ein array (tabell) X
med x-verdiar. Argumenta til funksjonen, -4, 2 og 7, fortel Python høvesvis første verdi, siste verdi og tal på verdiar i X
.
I linje 8 reknar Python ut funksjonsverdiane til alle dei 7 verdiane i X
.
I linje 10 plottar vi funksjonen. Her skriv vi plt.
framfor kommandoen "plot()" så Python veit at det er matplotlib.pyplot som har denne funksjonen.
Kommandoen i linje 11 trengst ikkje i alle editorar, men det kan vere greitt å venne seg til å ha han med. Når vi til dømes bruker trinket, vil ikkje grafen skrivast ut dersom vi utelet kodelinja.
🤔 Tenk over: Vi legg merke til at grafen vi får skrive ut, ikkje er så veldig glatt og pen i utskrifta vår. Kva kan vi gjere for at han skal bli finare?
Forklaring
Vi har berre sju punkt på grafen, og det er litt lite for å lage ein graf som ikkje er rett. Vi kan byte ut talet 7 i linje 11 med til dømes 100, så får vi ein finare graf.
Teikning av punkt
Dersom vi ønsker å teikne nokre punkt inn på grafen, har vi i matplotlib.pyplot ein funksjon som heiter "scatter()". Prøv å legge til kodelinja plt.
scatter
(X,Y)
i programmet vårt. Kva skjer då?
Dersom vi ikkje ønsker å teikne inn alle punkta vi har brukt for å teikne grafen, men berre nokre bestemde punkt, må vil legge til nokre linjer for å finne desse punkta. Dersom vi til dømes vil teikne inn punkta
Forklaring til koden
I linje 1 lagar vi ein array med dei x-verdiane vi ønsker å bruke. Legg merke til at vi har brukt kommandoen np.array(liste). Dette er fordi at Python kan rekne med tal i ein array på fleire måtar enn tal i ei liste. Kommandoen "array()" gjer ei liste om til ein array.
I linje 2 finn vi dei tilhøyrande y-verdiane.
I linje 4 plottar vi dei to punkta.
Namn på aksar og funksjonen
Akkurat som når vi teiknar grafar med GeoGebra, må vi ha namn på aksane våre og sjølve funksjonen. For å få namnet på sjølve funksjonen, set vi inn koden label
="namnet på funksjonen"
i sjølve plot-kommandoen. For at denne skal visast, må vi òg ha på kommandoen "legend()".
Dersom du vil ha eit rutenett i plottet ditt, bruker du kommandoen "grid()".
Å få på plass aksar med namn er litt meir komplisert. Her tilrår vi at du tek vare på kodelinjene under og bruker dei kvar gong du skal teikne ein funksjon.
Forklaring til koden
I linje 1 legg vi inn namnet på funksjonen.
I linje 2 sørger vi for at namnet vi har lagt inn, blir vist i utskrifta.
Linje 5 og 6 fjernar den øvste linja og linja heilt til høgre. Linje 7 og 8 flyttar linjene nedanfrå og til venstre slik at dei kryssar kvarandre i origo.
I linje 11 og 12 set vi namn på aksane. Byt ut x
og f(x)
her med fornuftige namn om grafen din skal beskrive noko konkret. Kommandoen rotation
= 0
i linje 12 gjer at teksten står rett veg. Klarer du å finne ut kva dollarteikna $
rundt aksetitlane gjer med formateringa av dei?
I linje 13 og 14 blir namna sett på rett plass på aksane. Her kan du eksperimentere med tal mellom 0 og 1 for å sjå kvar namna blir ståande.
I linje 16 har vi sett på rutenett.
Fullstendig kode
No kan vi samle alt vi har gjort, og skrive eit program som plottar funksjonen vår på ein tilfredsstillande måte:
Trinket
Nedanfor kan du teste koden. NB: Editoren vil ikkje vere tilgjengeleg under skriftleg eksamen.