Tegning av polynomfunksjoner med Python
3.3.37
Vi ønsker å lage et program som skal kunne ta imot en vilkårlig tredjegradsfunksjon fra brukeren av programmet og tegne grafen for -verdier i et intervall som brukeren bestemmer.
Det kan være lurt å gå gjennom artikkelen Tegne grafer med pyplot() før du begynner med oppgavene på denne siden.
a) Vurdering
Hvordan kan brukeren skrive inn tredjegradsfunksjonen?
Løsningsforslag
Vi må gå ut ifra at brukeren har funksjonen på formen
Da trenger vi bare ta imot verdien på konstantene og .
For eksempel vil konstantene ha verdien 1, 2, 3 og 4 dersom funksjonen er
b) Algoritme
Skriv algoritmen til et slikt program. Husk å få med gode tekster som forklarer hva programmet gjør.
Løsningsforslag
- Skriv til skjermen "Dette programmet tegner funksjonen f(x) = ax^3 + bx^2 + cx + d for x-verdier i intervallet fra s til t.".
- Skriv til skjermen "Skriv inn verdien til konstanten a:".
- Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen a.
- Skriv til skjermen "Skriv inn verdien til konstanten b:".
- Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen b.
- Skriv til skjermen "Skriv inn verdien til konstanten c:".
- Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen c.
- Skriv til skjermen "Skriv inn verdien til konstanten d:".
- Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen d.
- Skriv til skjermen "Skriv inn verdien til konstanten s:".
- Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen s.
- Skriv til skjermen "Skriv inn verdien til konstanten t:".
- Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen t.
- Lag ei liste x med 100 -verdier fra s til t.
- Lag ei liste y med -verdier ved å sette lista x inn i funksjonen ved hjelp av variablene a, b, c og d.
- Lag den grafiske framstillingen.
- Send den grafiske framstillingen til skjermen.
c) Koding
Lag programmet og test det med en tredjegradsfunksjon, for eksempel funksjonen i artikkelen Et praktisk eksempel på en tredjegradsfunksjon.
Tips: Se nederst i artikkelen Tegne grafer med pyplot() for å gjøre den grafiske framstillingen penere.
d) Spørsmål
Kan programmet brukes til å tegne andregradsfunksjoner eller rette linjer?
3.3.38 Utfordring
Det er litt tungvint med alle disse input()-kommandoene i programmet. Det finnes måter å lage programmet på slik at brukeren kan skrive inn alle tallene i én smekk. Da trenger vi for eksempel funksjonen split() til å splitte opp det som brukeren skriver inn. Vi vil også trenge en for-løkke.
a) Utforsking
Gjør et søk på internett for å finne ut hvordan funksjonen split() fungerer.
b) Algoritme
Vi skal gjøre om på programmet ved hjelp av funksjonen split(). Endre først på algoritmen til programmet slik at brukeren kan skrive inn alle tallene med én gang.
c) Koding
Gjør om på programmet etter den nye algoritmen, og test at det fungerer slik det skal.