Hopp til innhold
Oppgave

Tegning av polynomfunksjoner med Python

Vi ønsker å lage et program som kan tegne en vilkårlig tredjegradsfunksjon.

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 x-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

f(x)=ax3+bx2+cx+d 

Da trenger vi bare ta imot verdien på konstantene a, b, c og d.

For eksempel vil konstantene ha verdien 1, 2, 3 og 4 dersom funksjonen er

f(x)=x3+2x2+3x+4 

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 x-verdier fra s til t.
  • Lag ei liste y med y-verdier ved å sette lista x inn i funksjonen f(x) 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 V(x) 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.